SWE-Agent は、言語モデルエージェントがコンピューターを自律的に使ってソフトウェアエンジニアリングのタスクを解決するのを支援するシステムである。これを導入した論文 SWE-agent:エージェント・コンピュータ・インターフェースが自動ソフトウェアエンジニアリングを可能にする は、インターフェースの設計が言語モデルエージェントの性能にどう影響するかを調べた研究の成果として SWE-Agent を提示している。その前提となっているのは、LM エージェントは自分たち専用に作られたインターフェースから恩恵を受ける新しい種類のエンドユーザーである、という考え方である。
プロジェクトの GitHub リポジトリは、SWE-Agent を、プリンストン大学で始まり、現在はプリンストン大学とスタンフォード大学の研究者によって開発・保守されている学術プロジェクトとして説明しており、MIT ライセンスのもとで公開されている。README は、SWE-Agent をユーザーが選んだ言語モデルにツールを自律的に使わせ、実際の GitHub リポジトリのイシューを修正したり、サイバーセキュリティの脆弱性を発見したり、カスタムタスクを実行したりできるようにするものとして紹介している。同じ README には現在、チームの現在の開発努力の大半は mini-swe-agent に向けられているという警告が掲載されている。README によれば mini-swe-agent は SWE-Agent に取って代わったもので、はるかにシンプルでありながら同等の性能を持ち、今後は mini-SWE-agent を使うよう推奨している。
機能
導入論文は、SWE-Agent 独自の エージェント・コンピュータ・インターフェース(ACI)を中核的な役割を果たすコンポーネントとして位置づけ、それがコードファイルの作成と編集、リポジトリ全体のナビゲーション、テストやその他のプログラムの実行といったエージェントの能力を大幅に高めると述べている。同論文は、SWE-Agent が SWE-Bench と HumanEvalFix でそれぞれ pass@1 で 12.5% と 87.7% という最先端の性能に達したと報告しており、これを非対話型の言語モデルで達成されたそれまでの最先端を大きく上回るものと説明している。これらの数値はその論文で測定された結果であり、システムの恒常的な特性ではない。
リポジトリの README は、このツールを独自の言葉で特徴づけている。すなわち、自由度が高く汎用化可能で、言語モデルに最大限の主体性を委ねること、設定可能で完全に文書化されており、その振る舞いが単一の YAML ファイルで制御されること、そして研究用に作られており、設計上シンプルで改造しやすいことである。駆動できるモデルの例として GPT-4o と Claude Sonnet 4 を挙げ、1.0 リリースを告知している。リポジトリはまた、攻撃的サイバーセキュリティの capture-the-flag 課題を解くための SWE-Agent のモードである EnIGMA についても記載しており、EnIGMA が 1.0 向けに更新されるまでは SWE-Agent 0.7 を使うよう勧めている。
AI エージェント型プログラミングに関するあるサーベイは、このシステムの内部について異なる説明をしている。同サーベイは SWE-Agent を、ソフトウェアエンジニアリングのタスクを役割別の LLM エージェント、すなわち高レベルの設計を担う「Architect」、実装を担う「Coder」、品質保証を担う「Reviewer」に分担させ、構造化された対話と共有メモリで結びつけるマルチエージェントのコーディングシステムとして記述している。同サーベイの報告では、SWE-Agent は基盤モデルとして GPT-4 を使用し、デフォルトのコンテキストウィンドウは 16,000 トークンである。また、アクティブなコンテキストウィンドウに収まる情報だけに頼るのではなく、ベクトルデータベースからツールの出力と計画の状態を取得することで、タスク全体にわたる永続的なメモリをサポートしているとされる。
採用とエコシステム
同じサーベイは、AI エージェント型プログラミングシステムの比較分類法において、SWE-Agent を、プロアクティブで(プロンプトに反応するだけでなく自らサブタスクと計画を開始する)、マルチターンで(長いやり取りにわたって状態を維持する)、ツールを使用し、適応的な(フィードバックに基づいて戦略を修正する)「Multi-agent System」に分類している。
リポジトリは、SWE-bench でのベンチマークのためにバッチモードで SWE-Agent を実行する方法を記載しており、チームの関連プロジェクトである mini-swe-agent、SWE-ReX と SWE-smith の各プロジェクト、sb-cli ツール、そして SWE-bench 自体とあわせて紹介している。
導入論文によれば、SWE-Agent のコード、データ、デモは https://swe-agent.com で入手できる。