タスクの4分の1が「無駄」に消えている
AIコーディングエージェントは便利だが、その利用には相応の金銭的コストがかかる。9月28日にarXivに投稿された論文「Analyzing and Mitigating Cost-Inefficient Behaviors in Coding Agents」は、この「便利さの裏側にある無駄」を初めて体系的に測定した研究だ。パデュー大学などの研究チームが、Claude CodeとMini-SWE-Agentという2つのコーディングエージェントを、4つの異なる設定でSWE-bench Verified(実際のGitHub issueをどれだけ解決できるかを測るベンチマーク)上で動かし、合計1200件の実行トラジェクトリ(エージェントの一連の行動履歴)を分析した。結果として見えてきたのは、コスト非効率な振る舞いがタスクの79〜98%に及び、タスクコストの最大22.75%を占めているという実態だ。
3つの「無駄な癖」
論文はこの無駄を3つのパターンに分類している。一つ目は「サブサムド・リトリーバル(包含される再取得)」——すでに取得済みで、実質的に同じ情報を含むコードを、エージェントが重複して読み直してしまう挙動だ。Claude Codeでは、サブエージェント(親エージェントから作業を委任された補助エージェント)が取得したコードを、親エージェント側が改めて読み直すケースが主な原因だという。二つ目は「シムスクリプト(類似スクリプト生成)」——同じような検証・テスト用のスクリプトを、エージェントが何度も新規に生成してしまう挙動で、タスクの最大68%に影響し、Mini-SWE-Agentではこの挙動がClaude Codeの5.91〜9.98倍多く発生していたという。三つ目は「テスト再実行」——一度実行したテストを、状態が変わっていないにもかかわらず繰り返し実行してしまう挙動だ。
設計の違いが無駄の出方を変える
学術的に興味深いのが、同じ「無駄」でも、エージェントの設計思想によって出方が大きく異なるという発見だ。Claude Codeに組み込まれたガイダンス(あらかじめ組み込まれた行動指針)は、シムスクリプトの挙動を主に「使い捨てのスクリプト」の範囲にとどめる効果を持っていた一方、Mini-SWE-Agentはテスト用と編集用の両方で類似ファイルを繰り返し生成する傾向が強く見られたという。つまり、エージェントの基盤モデル自体の性能だけでなく、そのモデルをどう制御するか——プロンプトの設計やツール利用の制約——という「足場(ハーネス)」の作り方が、コスト効率に直結することを、この研究は定量的に示している。
Django-13158というケーススタディ
論文が具体例として挙げているのが、DjangoリポジトリのSWE-bench課題「Django-13158」でのClaude Codeの挙動だ。この事例を通じて、研究チームはコスト非効率な振る舞いが実際のタスク遂行過程でどう発生するかを、行動ログレベルで可視化している。このような具体的なケーススタディを添えることで、単なる統計的な傾向にとどまらず、「なぜその無駄が発生するのか」という因果的な理解を読者に促す構成になっている。
エージェント研究における「効率性」という、これまで手薄だった軸
これまでのコーディングエージェント研究の多くは、タスクの「解決率」という成果指標に焦点を当ててきた。今回の論文が指摘しているのは、解決率と並んで「その解決にどれだけの無駄なコストがかかっているか」という軸が、これまで十分に検証されてこなかったという点だ。関連する先行研究として、SWE-Prunerのようなコンテキスト圧縮手法や、トラジェクトリ短縮によるコスト削減を試みた研究も存在するが、今回の論文は「なぜその無駄が生まれるのか」という行動パターンの分類そのものに焦点を当てている点で、アプローチが異なる。
研究者として見ておきたいこと
AIコーディングエージェントの実運用コストが企業の間で現実的な検討事項になりつつある中、この論文が示す「タスクコストの最大22.75%が無駄に消えている」という数字は、単なる学術的な興味を超えた実務的な意味を持つ。エージェントの基盤モデルを高性能なものに切り替えるだけでなく、ハーネス側の設計——重複した情報取得を防ぐ仕組み、スクリプト生成の再利用、テスト実行の状態管理——を見直すことで、同じ解決率をより低いコストで達成できる余地があることを、この研究は具体的に示している。今後、この種の「コスト非効率パターンの検出と緩和」が、コーディングエージェントの評価基準そのものにどこまで組み込まれていくかを注視したい。