表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

コード修正を任せる前に見るべき「操作画面」の設計:SWE-agent

SWE-agent

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

SWE-agentの原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 1: An agent interacts with a computer through an agent-computer interface (ACI), which includes the commands the agent uses and the format of the feedback from the computer.

出典:SWE-agent / arXiv ↗

概要

  • 言語モデル向けの検索・編集・実行インターフェースを設計し、操作結果を次の判断に使わせる。
  • GPT-4 Turboを用いたSWE-bench全2,294件の解決率は、著者らの報告で12.47%。
  • Liteの比較では、専用インターフェースが18.0%、シェルのみが11.0%だった。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、SWE-agentの仕組み

左から右へ読む
  1. 01不具合票とコード
  2. 02関連箇所を検索
  3. 03行を編集し検査
  4. 04テスト結果と差分

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

ソフトウェアの不具合修正には、コードを書くだけでなく、関連ファイルを探し、変更し、実行結果を読み直す作業が要る。言語モデルに課題文だけを渡して修正案を一度に書かせても、途中で得られるエラーやテスト結果を利用できない。

一方、通常の開発用画面やシェルは人が使う前提で作られている。モデルにとって扱いやすい操作方法が、修正の成否を左右するというのが本研究の問題設定である。

手法

SWE-agentは、課題文とリポジトリを受け取り、言語モデルが考えと操作命令を出し、コンピューターの返答を読んで次の操作を決める。モデルとコンピューターの間に置く命令群と返答形式を、著者らはACI(エージェント・コンピューター・インターフェース)と呼ぶ。例えば「特定の関数が誤った値を返す」という不具合票なら、ファイル名や文字列を探し、該当箇所を開く。

表示は行番号付きで最大100行ずつ。開いているファイルの指定行を置き換えると、新しい内容がすぐ表示される。編集時には構文検査を行い、重大なエラーを生む変更は破棄して再試行を促す。モデルは必要に応じてプログラムやテストを実行し、その出力を見て修正を続け、最後にコードの差分を残す。

新規性

著者らが示した進歩は、言語モデルの重みを変えず、モデルが使う操作命令と実行結果の見せ方を設計した点にある。検索結果の要約、行番号による編集、編集直後の表示、構文エラーの検出を一つの操作環境にまとめ、同じモデルでも問題解決率が変わることを検証した。

単に命令の種類を増やすのではなく、操作後に何が起きたかをモデルが読み取れるようにしている。

従来手法との違い

比較対象の一つは、課題文から関連ファイルを検索し、一度で修正案を作る非対話型の検索拡張生成(RAG)である。もう一つは、標準的なLinuxシェルだけで操作する対話型エージェントである。

SWE-agentは、検索や部分編集に専用命令を使い、結果を短く明確に返す。SWE-bench LiteではGPT-4 Turboを用いたSWE-agentが18.0%、同じモデルのシェルのみの設定が11.0%だった。ただし、非対話型との比較では操作回数や推論費用も異なる。

実験結果

著者らは、実際のソフトウェア課題を集めたSWE-benchの全2,294件と、そのうち300件のLiteで評価した。指標は、修正を適用した後に検証テストがすべて通る課題の割合である。GPT-4 Turboを使うSWE-agentは全件で286件、12.47%を解決し、Liteでは54件、18.0%だった。

全件の非対話型RAGの最良値はClaude 3 Opusで3.79%。LiteでシェルのみのGPT-4 Turboは11.0%だった。編集時の構文検査を外すとLiteの解決率は15.0%に下がった。著者らは各課題の推論費用に4ドルの上限を設け、超過時はその時点の変更を提出した。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:社内のPythonライブラリで、再現手順と期待動作が書かれた不具合票を入力し、候補の修正差分と実行したテスト結果を出力する。担当者は課題票を渡した後、エージェントが検索した箇所、編集内容、テスト結果を順に確認する。

最終的な採用判断は担当者が行い、差分をレビュー対象として扱う。どの操作が失敗につながったかも履歴から調べられる形にする。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:過去の不具合票から、修正前のコードと再現可能なテストが残る少数の課題を選ぶ。同じモデルで、標準的なシェル操作とSWE-agent型の専用操作を比較し、課題文、利用可能なコード、費用上限をそろえる。

各試行でテスト通過率、無効な編集の回数、最終差分を人が修正する時間、課題当たりの推論費用を記録する。テストが通っても意図しない変更がないかをレビューし、採用条件を決める。

限界と課題

著者らは、解決できない実行では同じ箇所の編集を繰り返したり、行き詰まりを認識して方針を変えにくかったりすると報告する。GPT-4 Turboでの全件解決率も12.47%であり、幅広い課題をそのまま任せられる水準とは読めない。

編集上の確認事項は、対象リポジトリでテストが課題の意図を十分に表すか、誤った変更を検出できるか、費用上限に達した際の未完了の差分をどう扱うかである。

応用先の候補
研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

Language model (LM) agents are increasingly being used to automate complicated tasks in digital environments. Just as humans benefit from powerful software applications, such as integrated development environments, for complex tasks like software engineering, we posit that LM agents represent a new category of end users with their own needs and abilities, and would benefit from specially-built interfaces to the software they use. We investigate how interface design affects the performance of language model agents. As a result of this exploration, we introduce SWE-agent: a system that facilitates LM agents to autonomously use computers to solve software engineering tasks. SWE-agent's custom agent-computer interface (ACI) significantly enhances an agent's ability to create and edit code files, navigate entire repositories, and execute tests and other programs. We evaluate SWE-agent on SWE-bench and HumanEvalFix, achieving state-of-the-art performance on both with a pass@1 rate of 12.5% and 87.7%, respectively, far exceeding the previous state-of-the-art achieved with non-interactive LMs. Finally, we provide insight on how the design of the ACI can impact agents' behavior and performance.

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-09-29