TrajAudit: Automated Failure Diagnosis for Agentic Coding Systems
本論文は、ノイズの多い長い軌跡をフィルタリングし、事前知識を活用することでリポジトリレベルの自律型コーディングシステムにおける失敗診断を改善するために設計された新たなフレームワーク「TrajAudit」を導入し、既存のベースラインと比較して新しい RootSE ベンチマークにおいて著しく高い局所化精度とトークン効率を達成することを示す。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
非常に賢く自動化されたロボットアシスタント(「AI エージェント」)が、巨大で複雑なソフトウェアライブラリのバグ修正を担当していると想像してください。このロボットは、完璧に仕事をこなすこともあります。しかし、他の時には問題の修正を試みて混乱を招き、ソフトウェアは依然としてクラッシュしてしまいます。
大きな疑問は、ロボットは具体的にどこで、なぜ間違えたのか?という点です。
これが論文「TrajAudit」が解決しようとする問題です。ここでは、この論文のアイデアを簡単なアナロジーを用いて解説します。
問題:「干し草の山の中の針」
ロボットがバグ修正を試みると、軌跡(トラジェクトリ)と呼ばれる長いデジタルの足跡を残します。この足跡には、ロボットが考えたすべての思考、開いたすべてのファイル、入力したすべてのコマンド、そして目にしたすべてのエラーメッセージが含まれています。
- 干し草の山:これらの軌跡は非常に長く(時には 100 以上のステップ)、ノイズに満ちています。ロボットが 500 ページのマニュアルを読み、関係ないコードの章全体をコピーし、フォルダ内のすべてのファイルをリストアップすると想像してください。これが「干し草の山」です。
- 針:その膨大な情報の山の中に、ロボットが誤った判断を下した特定の瞬間(「針」)が一つあります。
- 従来の方法:これまでの手法は、間違いを見つけるために 500 ページのマニュアル全体を一度に読もうとしました。しかし、人間と同じように、AI もこれほど多くのテキストに圧倒され、明らかな手がかりを見逃し始めます。これは、一息で小説全体を読み通してタイプミスを見つけようとするようなものです。
解決策:TrajAudit(探偵)
著者たちは、TrajAuditという新しいシステムを構築しました。ロボットがすべてを一度に読む代わりに、2 人の特別な助手を持つ探偵エージェントを設計しました。
探偵エージェントを、すぐにファイル全体を読むことのないベテラン捜査官だと考えてください。彼らは 2 つの賢いツールを使用します。
1. 「事前知識」助手(勘)
探偵が混乱した軌跡を見る前に、この助手はエラーメッセージ(クラッシュレポート)とテストコード(ロボットが守れなかったルール)を確認します。
- アナロジー:探偵が犯罪現場に到着すると想像してください。散らかった部屋を見る前に、「被害者は毒殺された」という警察報告書を読みます。探偵はこれで勘を得ます。「家具を見る必要はない。台所と飲み物を見る必要がある」と。
- 論文内での役割:このモジュールは AI に「予備診断」を与えます。メインのエージェントに、「ファイルのリストアップをしていた部分ではなく、データベースを見ていた部分に焦点を当てよ」と伝えます。これにより、AI がノイズの中で迷子になるのを防ぎます。
2. 「意味的注目度折りたたみ」助手(要約者)
この助手は、長く混乱した軌跡を見て、「この情報は本当にクラッシュに関係があるのか?」と問いかけます。
- アナロジー:100 ページの会話の書き起こしがあると想像してください。その大半は「こんにちは」「お元気ですか」「このファイルを確認させてください」といった言葉ですが、42 ページ目に「間違ったファイルを削除してしまった!」という発言があります。
- 従来の方法は 1 ページから 100 ページまで読みます。
- この助手は 1〜41 ページと 43〜100 ページを折りたたみ(隠し)、重要な文のみを表示させます。「エラーログ」や「コード変更」は保持しつつ、退屈な「ファイルリスト」のノイズを隠します。
- 論文内での役割:パターンマッチングを使用してコード変更や「エラー」や「例外」といったキーワードを見つけます。それ以外は小さなプレースホルダーに圧縮されます。これにより、軌跡は短く整理されます。
3. 探偵エージェント(捜査官)
これで、メインの探偵エージェントは、最初の助手からの勘と、この短く整理された要約を見ています。
- 「オンデマンド」のトリック:要約だけでは 100% 確信が持てない場合、探偵は「待て、ステップ 3 の詳細をすべて見たい」と言えます。すると、システムにその特定の部分だけを「展開」させるよう依頼します。
- 結果:エージェントはロボットが間違えた正確なステップを見つけ、なぜ間違えたかを説明し、500 ページものノイズに混乱することなくそれを完了します。
証明:RootSE(試験)
彼らのシステムが機能することを証明するために、著者たちは簡単なタスクでテストするだけでは不十分でした。彼らは非常に難しい試験が必要でした。
- 彼らはRootSEと呼ばれる新しいベンチマークを作成しました。
- 試験内容:AI エージェントがソフトウェアのバグ修正に失敗した 93 の実世界の事例を取り上げました。これらは単純なタスクではなく、数千ステップのデータを生成する複雑なマルチファイルの作業でした。
- スコア:彼らが新しい「探偵」システムを従来の手法と比較してテストした結果:
- 精度:新しいシステムは、従来の最高性能の手法よりも24% 多く、正確な間違いを見つけました。
- 効率性:退屈な部分を読む時間を無駄にしなかったため、18% 少ないコンピュータリソース(トークン)を使用しました。
まとめ
この論文は、AI エージェントが複雑なコーディングタスクで失敗した場合、単に失敗の履歴全体を投げるだけでは不十分であると主張しています。彼らは圧倒されてしまいます。
TrajAuditは、AI が読み始める前に、賢いフィルターと良い勘を与えるようなものです。退屈なノイズを隠し、重要な手がかりを強調し、AI が間違いが発生した特定の瞬間にズームインできるようにします。これにより、ロボットがなぜ失敗したのかを特定する際の速度と精度が大幅に向上します。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。