AIコーディングエージェントがチャットボックスを使うべきではない理由
私が開くAIツールはどれも同じに見える。テキストフィールドの中でカーソルが点滅しているだけだ。Claude CodeもCodexも、1999年にIRCボットで使っていたのと同じインターフェースを使っている。
チャットは構築が容易だ。デモを良く見せることもできる。しかし、チャットはあくまで代用品に過ぎない。真の目標は、より優れたチャットボックスを作ることではない。チャットボックスそのものをなくすことだ。
チャットインターフェースは、作業をユーザーに押し戻してしまう。
何を尋ねるべきかを知っていなければならない。うまく言い回さなければならない。長い段落を読み、それをアクションへと変換しなければならない。モデルは思考するが、インターフェースとしての作業はあなたの頭の中で行われることになる。
これはコーディングエージェントにとっての問題だ。コーディングは空間的かつ構造的なものだ。ファイル、差分(diff)、依存関係グラフを扱う。これらはどれも「段落」ではない。テキストのストリームを通じてコードを理解しようとするのは、電話越しに誰かの説明を聞きながら地図を読み解こうとするようなものだ。
エージェントが関数をリファクタリングし、何を変更したかを3文で説明してくるなら、それは「宿題」であって「助け」ではない。
モデルはコード、レイアウト、コンポーネントを生成できる。作業の説明ではなく、作業のためのインターフェースを生成すべきだ。
要約の代わりに、承認(accept)と拒否(reject)ボタンが付いた差分ビュー(diff view)を提示してほしい。
「この関数を呼び出したものは何か」と尋ねる代わりに、クリック可能なコールグラフ(call graph)を見せてほしい。
12個のファイルに触れた後に「やってしまいました」と白状させるのではなく、実行前にそれらのファイルのチェックリストを見せてほしい。
インターフェースはモデルの流動的な出力であるべきだ。UIはタスクに基づいて変化すべきだ。今まさに下すべき決断に合わせて、自らを形作るべきなのだ。
これは「信頼」の問題だ。
チャットは言葉の背後にエージェントを隠してしまう。エージェントが「テストを更新しました」と言えば、それを鵜呑みにするしかない。盲目的に信じるか、自分でファイルを掘り起こすか。どちらの選択肢も失敗だ。
生成されたインターフェースは、作業の検証を容易にする。差分はそこにあり、計画もそこにある。エージェントは「私を信じて」と言うのをやめ、「これを2秒で確認してください」と言うようになる。
チャットに価値があることは分かっている。言語は曖昧さを扱う。複雑なアイデアを表現するには、言葉が唯一の方法であることもある。
解決策は言語を排除することではない。言語を入り口(エントリーポイント)として使い、生成されたUIをレスポンスとして使うことだ。
要求を平易な言葉で入力する。すると、その要求に最適なインターフェースが即座に提供される。言語を入力すれば、インターフェースが出力される。チャットは玄関であって、家全体ではないのだ。
私たちは長年、より良いチャット製品を作ろうとしてきた。メモリや速度に注力してきた。しかし、結局は同じ小さなテキストボックスの中に留まっていた。
真の飛躍は、ボックスの中の回答を良くすることではない。ボックスそのものが溶けてなくなることだ。モデルは、次の決断を下すために必要な「正確な接地面(surface)」をユーザーに手渡すべきなのだ。
エージェントは十分に賢い。ただ、彼らに「喋るのをやめて、私たちが必要なツールを作り始めてくれ」と頼む必要があるだけだ。
Source: https://dev.to/nishkarsh_gupta/why-ai-coding-agent-shouldnt-hand-us-a-chat-box-3ccj
Optional learning community: https://t.me/GyaanSetuAi
