フューチャー技術ブログ

ChatGPTを徹底活用! ビジネスパーソンのためのプログラミング勉強法のレビューに参加しました

image.png

https://www.shoeisha.co.jp/book/detail/9784798161907

翔泳社さんからこれから発売される、「ChatGPTを徹底活用! ビジネスパーソンのためのプログラミング勉強法」のレビューに参加しました。著者は元フューチャーで、グループ会社のIT教育を行っているコードキャンプで社長もされていた堀内さんです。レビューは同僚の伊藤太斉さんと、もう一人元同僚の千葉さんも参加して行いました。

僕自身、ちょびちょび使ったり社内の生成AIチャット(Copilot APIを利用したやつ)を仕事に活用したりしていますし、不慣れな言語(VBAとかPowerShell)を書くのにかなり手助けになっているな、という実感があったので、それらの経験も踏まえてかなり楽しくレビューに参加させてもらいました。

グループ会社のコードキャンプは受講者が5万人を超え、企業向けにもIT教育を提供しているような実績のあるサービスを提供しています。IT教育を専業で何年も見てきた堀内さんの書く内容なので、とりあえずChatGPTでやってみました、みたいな感じではなく、きちんと学んでいくための方法をChatGPTを軸に再構成したような内容になっています。僕自身、なるほど、そういう質問や使い方があるのか、ためになりました、という感想も何箇所もコメントしたくなった(実際にした)ほどでした。

生成AIは大きな新しい潮流ではありますが、単にチャットウィンドウを開いたらパワーアップするというものではなく、それを活用した自分のパワーアップやスキルアップをきちんと行なっていく作戦が必要です。近年、AIの導入で将棋のレベルが上がったという報告もあります。単にAIが導入されたからプログラミングする人が不要になるわけではなく、AIを使いこなし、レベルアップした人間が他の人の仕事を奪う、という流れです。AIを活用するノウハウが新たに必要です。「○○の民主化」という言葉がよくITの世界では言われますが、フランス革命のあとにジャコバン派の恐怖政治があってナポレオンの時代が来たように、フラット化した世界というのは新しい競争の始まりの狼煙です。

ChatGPTとタイトルにあるが、内容は特定の生成AIには依存しない

最初にタイトルを拝見したときは、「ChatGPTとか書いちゃって大丈夫かな? 他のベンダーもかなり頑張っているしClaude.aiとかも評判いいし・・・」とちょっと心配になってしまったのですが、内容的には特にChatGPTでなければダメということはなく、他の生成AIでも活用できそうな話が中心です。

むしろ、5/14になってGPT-4oが発表されて、人間がタイプしたり読むよりも圧倒的に速度が速くなったり、無料版でもGPT-4になり、出版のタイミングの直前にChatGPTへの人気が再燃(周りでも、claude.aiからChatGPTにまた戻るわ、という人も出た)するタイミングがやってくるあたり、堀内さんは何か持っていますね。

ビジネスパーソン以外にもおすすめ

書籍のタイトルは「ビジネスパーソンのための」となっていますが、IT技術者だって日々新しい言語を学んだり、知識のリフレッシュをしたりしているわけで、読んでみるとそのようなキャッチアップが効率化できると思います。ぜひ、発売されたら手に取ってみると役に立つと思います。

コメントしたけど入らなかった内容

紙面の都合とかをあまり考えずに、「自分が著者だったらこういう内容も入れたい!」みたいな感じでたくさんコメントをつけさせてもらいました。大部分は取り入れていただいたのですが、入らなかったのもいくつかあります。ここで供養しておきます。

1章

ChatGPTの活用。読み方がわからない。そもそもキーワードなのかどうかもわからない、みたいな状況ではChatGPTがすごく助けになりますよ、という話。

あとは、DX人材大事、というのに加えて、少子高齢化で若者が職場に入ってくれる数がどんどん減っていくのが目に見えている以上、今まで以上の業務効率化だけでなく、より短期間で学ぶといったニーズはさらに高まるであろう、という話。

従来の学習を続けている人にとっても、周りに教えてくれるような人がいない人にはより助けになるよ、という話。

2章

情報の検索に生成AIを用いるメリットとしては、ハルシネーションのリスクはあるものの、検索エンジンはSEOでハックされてしまい、広告目当ての長文の記事ばかりが検索でヒットし、得られる情報の密度が低くなっていて検索エンジンの利便性が下がっている時代においてはメリットが上回るケースも多くありそう、という話(検索とのうまいコラボレーション方法も本文では説明されています)。

ただ、Java/Python/PowerShell/シェルスクリプトなど、LLMがよく見知っている情報の多い言語限定かもしれない(が、そもそも情報少ない言語だとSEOハックされていることも少ないので分かっていれば対処可能)。

3章

生成AIで学習のロードマップを作るときに、PythonチュートリアルやTour of Goなどの既存のコンテンツとの差分を生成させると、既存の学習コンテンツから追加で学ばないといけない内容だけがピックアップできるし、既存のコンテンツだと周りに教えてくれる人がいる可能性もあるので効率よく自分だけのコースが作れるのではないか、という話。

環境設定、エディタ名なども入れて質問すれば、公式ドキュメントでは触れてない(かもしれない)、より学習しやすい環境が作れるのでは、という話。

世の中で話題になるような大きなバグも、実は原因はすごくささいなミスだったりするので、学習過程でぶつかるエラーはプロが体験するのとそうそう変わらないかもしれないし、今後もっと大きな落とし穴で抜けられないかもしれない、みたな恐れを持つ必要はないので勇気をもって! という話

4章

学習問題を出させる場合には、質がバラバラな可能性があるので、多めの問題数を出させて、良さそうなのをピックアップする、という方法が生成AIには良さそうという話

良い書き方を考える上では、その言語で標準となっている書き方をまず教えてもらって解説してもらったら良いのでは? という話

コードのコメントを生成してもらう場合、Pythonならdocstringというエコシステムでサポートされている記述方法があるのでそれに合わせたコメントを作ってもらうと良さそう、という話。

Pythonだとpy.testの方が使われているので、こちらを指定してテストを書いてもらうと良さそうだが、追加インストールが必要になってしまうので悩ましいかも、という話。

学んだことをアウトプットするのは、他の人に役にたつのか? というのを気にする必要はなく、自分のためにやればいいし、一週間後の自分がそれを見て思い出したりすればそれで十分アウトプットの価値になるよ、という話。