Feedback Loop

エンジニアの日記帳。ものづくり、プログラミング、読書などについて書いてます。

ChatGPTに本気で向き合う

2024/11/03

先日飲み会で同僚が「ChatGPTと2時間本気で向き合った」と言っていた。ChatGPTの凄さはすでに体感している人も多いと思うが、本気で向き合うとはどういうことか。曰く、何かを調べるときに検索エンジンの代替として使うのではなく、難しい仕事をする壁打ち相手として深く話す使い方をすることを本気と呼んでいた。

技術的に複雑な設計、例えば権限管理について、自分で調べながら設計していくのは中々骨が折れる。権限の最適なあり方はサービスによっても異なり、どれが良いと一概に言うのは難しい。「権限管理」のキーワードでググって出てくるのは一般的な手法で、ロール制御には大きく二つのやり方があって〜といったエントリー的な内容が多い。

自分のサービスの情報を伝え、実現したい権限の仕組みを言語化して伝える。ChatGPTから返された回答に不服なら追加で考慮して欲しいポイントを書き、会話して深めていく。回答の精度が高まるようにいろんな前提情報を注ぎ足す。文脈が多いほど良い回答が得られるので、やがて自分の欲しかった情報に辿り着く。

思えばベテランの先輩に聞くときも同じことをしていた。何かの仕事に行き詰まったとき、実現したいこと、自分で考えたこと、試したこと、どのようにうまくいかなかったか、などを事前に整理して伝えて相談する。エラーメッセージなどがあればそれも添付する。そうして初めて問題解決に向けた議論を始められ、そこからは深堀りの質問の受け答えをしながら答えに辿り着く。今はもっと賢くなっているが、登場直後のChatGPTは四年生大学卒の新入社員だと思って接すると良いと言われていた。一般的な知識や教養はあるが、仕事の専門性はまだない状態。質問の文脈をできるだけ与える考え方はいまも有効だ。

先日のアップデートで、ChatGPTに検索モードが追加された。これは質問に対して情報をインターネットから検索し、それに基づいて答えてくれる機能。試してみるとZennやQiitaといった技術共有サービスから個人ブログまで様々なところから情報を集めてきて、それを元に回答してくれる。「淡路島の観光スポット」などを調べてもいろんなサイトのクチコミやランキングを総合したような結果を教えてくれる。これは新しいことを調べる時に人間がする行動とまったく同じ。情報ソースも明示してくれるようになり、内容が疑わしい場合は自分の眼で確かめられるようになったのも大きい。

プログラミングにおいて、AIを活用できるかは人間側の能力がキャップになるという説がある。コードの生成はAIが得意とするところだが、それが期待通りに動くものかは人間が判断する必要がある。部分的に修正を依頼したり、AIに伝わりやすいように言い換えたりする。そのためには人間側のスキルのキャパシティをあげておく必要がある。超人でなんでもできるパートナーが登場するというよりは、自分が3-4倍動けるようになるというのが感覚に近い。行動レベルはそのままで並列に実行できるようなイメージだ。AI活用のために自身のレベルアップが重要、そしてそのレベルアップのための勉強においても、ChatGPTは強力なパートナーになってくれる。