AIコーディングエージェントの実行がテストに合格しても、多くの無駄な作業が隠れている場合があります。ある例では、エージェントは4ターン目でテストに合格しましたが、10ターン目まで作業を続けました。また、変更した8行のうち6行は、参照となる修正と比べて不要でした。標準的な合否チェックでは、この実行もクリーンで効率的な実行と同じスコアになります。
著者は、この実験のエージェントはシミュレートされたものだと述べています。Claude CodeやCodexのような実際のコーディングエージェントを動かす代わりに、本研究では判断にシード付きのPythonポリシーを用いました。一方、リポジトリ、編集、差分、テスト実行、失敗は実際のものです。目的は、合格するパッチに到達するまでにエージェントが余分に何ターン要するか、その作業のうちどれだけが必要だったか、そして周囲のワークフローによって不要な労力を減らせるかを測定することでした。
分析は、コンプライアンス検査、個別ルールのテスト、保持用テストスイートを含む約5万回のシミュレーション実行に基づいています。12のPythonリポジトリから集められた2,294件の実際のGitHub issueからなるベンチマーク「SWE-bench」を土台としていますが、このベンチマークは最終パッチのみを評価します。そこでは2つの実行がともに成功しても、一方ははるかに多くのターン、時間、トークンを費やし、より多くの変更を残すことがあります。
本記事は、最終パッチの大きさと総作業量を区別しています。総作業量には、失敗したテスト実行、繰り返されるコマンド、誤ったファイルへの編集、取り消された変更が含まれます。合格率はこうした労力をまったく捉えられません。本研究は、この隠れた作業がどれほどのコストになるのか、またハーネスのルールによってそれをどう減らせるのかを示すことを目指しています。
出典: Towards Data Science · 要約:HeadlinesBriefing