- SWE-agentは、コード修正AIがコンピューターを操作するための専用インターフェースを設計した研究だ。
- GPT-4 Turboを用いた評価では、SWE-benchの2,294件のうち12.47%を解決した。
- この数字は当時の特定のモデル、課題、操作方法の組み合わせに対する結果であり、実務の自動修正率ではない。
何を確かめた研究か
コードを書けるAIでも、既存の大きなリポジトリで不具合を直すには、関連ファイルの発見、該当箇所の編集、テスト結果の読み取りが必要になる。人間向けのシェルをそのまま渡す方法で十分なのか。SWE-agentの論文は、AIエージェント向けの操作方法を設計し、その違いが成績に表れるかを調べた。
研究チームはこれをAgent-Computer Interface(ACI)と呼ぶ。ファイルを探す、指定した範囲を表示する、行を編集するといった小さな操作を用意し、失敗した編集には具体的なフィードバックを返す。モデルの重みを変える研究ではなく、同じモデルがコードベースにどう接するかが主題だ。
どう検証したか
主な評価は、実際のGitHub課題から作られたSWE-benchを用いた。AIが生成した修正をリポジトリに適用し、評価用テストをすべて通過した課題の割合を「解決率」とする。論文は全2,294件のテスト集合での結果と、自己完結的な不具合修正を中心に選んだ300件のSWE-bench Liteでの結果を分けている。
比較には、関連ファイルを検索して一度だけ修正案を作る非対話型RAG方式と、Linuxシェルだけを使う対話型方式を置いた。さらにLite集合では、検索・編集・表示方法を変えたアブレーションを行い、ACIのどの要素が効くかを確かめた。モデルには当時のGPT-4 TurboやClaude 3 Opusを用い、1課題あたりのAPI費用に4ドルの上限を設けた。
何が分かったか
GPT-4 Turboを使うSWE-agentは、全2,294件中286件、12.47%を解決した。論文の表1では、非対話型RAG方式の最高値はClaude 3 Opusを用いた3.79%だ。ただしモデルも操作方式も異なる比較であり、この差をACIだけの効果とは読めない。
ACIをより直接に見るにはLite集合の同一モデル比較が重要だ。GPT-4 TurboでSWE-agentは18.00%、シェルだけの方式は11.00%。論文本文は設計変更による改善を分析し、編集時の検査、適切な長さのファイル表示、検索結果の絞り方が成績に関わると報告する。Claude 3 Opusを用いたSWE-agentも全体で10.46%を解決した。モデルの能力を評価するとき、操作環境を切り離せないことが、この研究の中心的な示唆である。
限界は何か
対象はSWE-benchのPythonリポジトリと当時のモデルに限られる。修正をテストで確認する方法は明確だが、テストが通れば保守性や安全性まで保証されるわけではない。ACIの設計は開発集合の軌跡を見ながら調整されており、Lite集合での差が別の言語や新しい課題でも同じとは限らない。
また、コード検索、編集、エラー表示、例示など複数の要素を組み合わせている。ひとつの操作だけを導入すれば同じ改善が得られる、という結論でもない。
仕事との接点
チームでコード修正AIを試すなら、モデル名に加え、利用できるコマンド、変更箇所の見せ方、テスト実行、失敗時の返答、費用上限を記録すると比較しやすい。最終的には自分たちのリポジトリとテストで完成を判定する必要がある。これは論文の評価方法を実務に当てはめたTRAIL編集部の提案であり、論文が企業の開発速度を測ったわけではない。