『なぜコーディングエージェントはこんなに賢くないのか?』
寝る前にAIへ仕事を任せたら、Gitのブランチ名を聞くために2分で止まり、そのまま朝まで待っていた。モデルは賢くなっているのに、作業の進め方や人への確認が足を引っ張る。この記事は、モデルをコードや実行環境につなぐエージェント側の設計を批判している。
これ、人に仕事を任せるときにもよくある話だと思う。作業ができることと、必要な判断をしながら仕事を進められることは違う。AIも、コードを書く能力だけでなく、どこまで自分で決めて、何を相談するかまで含めて考える必要がある。
以下、詳細です。
・タスクの進行管理
OpenCodeが機能追加を10個のタスクに分けても、並行して進められるものまで順番に実行していたという。Claude Codeでも、テストの待ち時間を使わず、終了後にコミットメッセージの準備を始める例があった。タスクを分けるだけでは、待ち時間や依存関係を踏まえた進行管理にはならない。
・モデルへの仕事の割り振り
単純作業には安く速いモデル、難しい判断には高性能なモデルを使いたい。しかし、著者の経験では、その切り替えを人が細かく管理する必要がある。割り振る手間を避けるため、結局すべてを高性能なモデルへ任せてしまう。
・人が理解できる計画
細かな設計判断が脈絡なく並び、全体像をつかめない計画が出てくる。著者は読むのが苦痛になり、確認せず実装へ進ませるようになったという。人にレビューしてもらうなら、概要から詳細へ説明し、画面案や図も使って理解を助けてほしいという指摘だ。
・確認で止まる条件と、自分の機能の把握
ブランチ名のような小さな判断でも止まり、人の回答を待ち続ける。また、自分自身の使い方を聞かれても、動作中のバージョンと一致するか分からない情報をネットで探す。著者は、不在時にも作業を進める機能や、自分の機能を把握するための情報を求めている。
・アクセスを制限する実行環境
著者は、読まないよう指示した秘密情報をエージェントに読み取られ、モデル提供元へ送られた経験を報告している。求めているのは、文章でのお願いに頼らず、OSの機能でファイルや通信へのアクセスを制限すること。自分でも隔離環境を作り、触れられる範囲を限定している。
・標準機能としての使いやすさ
大量のSkillsや複雑な設定を追加すれば解決する、という話ではない。著者が問うのは、導入した状態でどこまで安心して任せられるかだ。派手なデモやベンチマークが優先され、開発者の時間や安全性への投資が不足しているのではないか、と仮説を述べている。
特に気になったのは、計画の読みにくさが、人が確認を省く原因になっている点だ。「人が確認する」という工程を置いても、説明が分かりにくかったり、細かな確認が多すぎたりすれば、確認する側が疲れてしまう。
この記事は一人の開発者の経験と提言であり、各ツールの性能を体系的に比較したものではない。それでも、生成したコードの質に加えて、人が理解し、判断し、任せるためにどれだけ手間がかかるかを見る視点は大事だと思う。
显示更多