AIはコードを書ける。でも、認識を合わせ続けるのはまだ難しい

人間の思考とAIのネットワークをつなぐ様子を描いた水彩画調のイラスト AI

昨日、自宅サーバーまわりの開発について、ChatGPTとかなり長く壁打ちをしていました。

話していたのは、CLIを常駐させて、ブラウザ版のChatGPTと開発環境をもっと直接つなぐ構成です。議論を続けるうちに、「そもそもCLI常駐化をもっと早い段階で提案できなかったのか」「CLI側の仕様を十分に詰めないまま話を進めていなかったか」「PoCの話と正規版の仕様が途中で混ざっていなかったか」といった問題が次々に見えてきました。

そして今日、もっと小さいけれど象徴的なことが起きました。

学会音声の文字起こしを依頼したところ、ChatGPTから「精度優先設定で処理しています」と報告されました。

でも私は、その設定が今回の音源には向いていないことを知っていました。以前、同じシステムで比較して、精度を上げようとした設定の方がハルシネーションを増やすことを確認していたからです。

「それ、ダメだったんじゃない?」

と聞くと、ChatGPTはすぐに確認して、「その通りです。実際には通常設定で動いていました。先ほどの説明が間違っていました」と訂正しました。

処理そのものは正しかったのです。

間違っていたのは、「自分が何をしたのか」という説明でした。

これを見て、昨日の開発の話とかなり似ていると思いました。

私はほとんどコードを書かずに、AIと会話しながらシステムを開発しています。このやり方では、コード生成能力以上に重要になるものがあります。

それが、認識のすり合わせです。

今話しているのはPoCなのか、本番仕様なのか。以前決めた事項のうち、どれが重要なのか。私がアイデアとして口にしただけなのか、それとも正式に採用した仕様なのか。「これは本当に有効なのか?」と聞いたとき、肯定してほしいのか、それとも欠点を含めて評価してほしいのか。

人間同士なら、長く仕事をしているうちに、このあたりの重み付けが少しずつ共有されます。

LLMは、ここがまだ不安定です。

会話として自然につなぐ能力は非常に高い。一方で、その自然さのために、過去の重要な判断よりも「今この瞬間もっとも自然な回答」を優先してしまうことがあります。

さらに厄介なのが、AIにはユーザーの考えを補強する方向へ寄りやすい場面があることです。

私は壁打ちをするとき、「これ、実はあまり意味ないんじゃない?」「もっと根本的に違う方法があるんじゃない?」ということも遠慮なく言ってほしい。

でもAIとの会話では、自分が出した案を前提として、その案を改善する方向へ話が進みやすいことがあります。

昨日のCLIの議論でも、本当に欲しかったのは「CLIをどう作るか」だけではありませんでした。

「そもそもCLI化が最善なのか」 「なぜ今までこの案が出なかったのか」 「今あるシステムの延長で考えること自体が間違っていないか」

というところまで含めた壁打ちでした。

ここは、AIを使う人間側も理解しておく必要があると思います。

コードにはテストがあります。動くか、動かないか。かなり0か1に近い形で間違いを発見できます。

でも、認識合わせにはテストがありません。

仕様の微妙な違い、過去の議論の重み、暫定案と正式決定、相手への迎合、本当に有効なのかという評価。

こういうものは、ずっとグラデーションです。

だから、コードを書かずAIと一緒に開発する人ほど、実は「プログラミング以外の能力」が重要になるのかもしれません。

AIに何を伝えるか。 どこまで認識が一致しているか確認するか。 何を正式な仕様として固定するか。 そして、AIが自分に気持ちよく同意しているだけではないかを疑うこと。

AIによるノーコード開発は、コードを書かなくてよくなる世界ではあります。

でも同時に、人間とAIの間で仕様と認識を正確に同期し続けるという、新しい種類の難しさが前面に出てくる世界なのだと思います。

たぶん今、私はそこを実地で学んでいます。

コメント

タイトルとURLをコピーしました