Skip to main content
QUICK REVIEW

[論文レビュー] SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

John Yang, Carlos Jimenez-Gomez|arXiv (Cornell University)|May 6, 2024
Multi-Agent Systems and Negotiation被引用数 24
ひとこと要約

SWE-agentは、言語モデルエージェントが自律的にソフトウェア工学タスクを実行できるエージェント-コンピュータインターフェース(ACI)を導入し、SWE-benchとHumanEvalFixで最先端の成果を達成します。

ABSTRACT

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.

研究の動機と目的

  • ソフトウェア工学タスクにおける LM エージェントに特化したインターフェースの必要性を動機づける。
  • コード検索、ナビゲーション、編集、実行における LM-エージェントの性能を向上させるために、エージェント-コンピュータインターフェース(ACI)を設計・実装する。
  • SWE-agentをSWE-benchとHumanEvalFixで評価し、ベースラインに対する性能向上を確立する。
  • ACIの設計選択がエージェントの行動と性能に与える影響を分析する。
  • 再現性とLM主導のソフトウェア工学におけるさらなる研究を可能にするため、SWE-agentをオープンソース化する。

提案手法

  • コード検索/ナビゲーション、ファイルビューア、ファイルエディタ、コンテキスト管理といった、LMに優しい小さなアクションのセットを持つ、特殊化されたACIを定義する。
  • 構文チェッカやリンティングといったガードレールを組み込み、編集ミスの防止と回復を図る。
  • 思考を公開し行動を同時に行うReAct風ループ(think-aloud + action)を用い、エージェントが考えたこととコマンドを生成し、環境フィードバックを処理する。
  • 有意義で簡潔な環境フィードバック機構と簡潔な履歴管理を活用して、文脈を適切に保持する。
  • ACIをLinuxシェルの上に統合し、必要に応じて標準的なLinuxツールへのアクセスを維持する。
  • 編集インターフェース、検索戦略、ファイルビューアの窓サイズ、コンテキスト管理の影響を評価するためのアブレーションを実施する。

実験結果

リサーチクエスチョン

  • RQ1目的-builtのエージェント-コンピュータインターフェース(ACI)を備えたLMエージェントは、従来のシェルや検索ベースのベースラインと比較して、ソフトウェア工学タスクをどう遂行するか?
  • RQ2ACIのデザイン原則のうち、コード検索、ナビゲーション、編集、実行タスクにおけるLMエージェントの性能に最も影響を与えるのはどれか?
  • RQ3SWE-agentのSWE-benchとHumanEvalFixでの定量的な利得はどれくらいで、異なるLM間での適用性・移植性はどうか?
  • RQ4この設定でLMエージェントが生じる失敗モードは何か、ガードレールとインターフェース設計はそれをどう緩和するか?

主な発見

Model% Resolved (SWE-bench)$ Avg. Cost (SWE-bench)% Resolved (SWE-bench Lite)$ Avg. Cost (SWE-bench Lite)
RAG w/ GPT-4 Turbo1.310.132.670.13
RAG w/ Claude 3 Opus3.790.254.330.25
Shell-only agent w/ GPT-4 Turbo--11.001.46
Shell-only agent w/o Demonstration--7.330.79
SWE-agent w/ GPT-4 Turbo12.471.5918.001.67
SWE-agent w/ Claude 3 Opus10.462.5913.002.18
  • SWE-agentはGPT-4 Turboを用いてSWE-benchのタスクの12.47%を解決(2,294件)、Liteの非SWE-agentベースラインの3.79%に対して、ACI設計からの大幅な利得を示す。
  • SWE-bench Liteでは、SWE-agentが18.00%の解決を達成し、RAGベースラインの2.67%より高く、1件あたりのコストは高くなる。
  • HumanEvalFixでは、SWE-agentは87.7%のpass@1を達成し、非SWEアプローチを大きく上回る。
  • 検索/ナビゲーション/編集のためのコンパクトでLMフレンドリーなアクションセットと、簡潔で有益なフィードバックおよびガードレール(リンティング)により、シェルのみおよびデモなしのベースラインより大幅に性能が向上する。
  • アブレーション研究は、反復的検索、コンパクトなファイル編集、堅牢なコンテキスト管理が性能向上に寄与することを示し、より大きなファイルビューウィンドウやデモも結果に影響を与える。
  • このアプローチの移植性を示す:Claude 3 Opusを用いたSWE-agentはSWE-bench解決率10.46%、Lite解決率13.00%を達成し、ACI設計のLM独立性を示す。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。