Agentless は、ソフトウェア開発の問題を自動的に解決するためのアプローチであり、意図的に自律エージェントを省いている。これは Agentless:LLM ベースのソフトウェアエンジニアリングエージェントを解き明かす で導入されたもので、著者らはこれをエージェントを用いないアプローチと説明し、エージェントベースのアプローチの冗長で複雑な構成と対比している。そうした構成の代わりに、Agentless は著者らが単純な 3 フェーズのプロセスと呼ぶもの、すなわち位置特定(localization)、修正(repair)、パッチ検証(patch validation)を用い、この文脈でエージェントを定義づける二つの能力を持たせない。LLM は今後の行動を決めず、複雑なツールを使って動作することもない。

用法

この用語は、論文が構築した具体的なシステムと、それによって描こうとした対比の両方を指している。著者らが述べる動機は、現在の LLM の能力が限られている一方でエージェントベースのアプローチはそれに見合って複雑であることを踏まえ、複雑な自律型ソフトウェアエージェントは本当に必要なのか、という問いである。したがって「agentless」は、3 つのフェーズ以外に独自のメカニズムを持つことによってではなく、比較対象であるエージェントベースのシステムからの引き算によって定義されている。

システム自体は、GitHub 上の OpenAutoCoder organization のもとで、MIT ライセンスのオープンソースリポジトリとして公開されており、その README は一つのイシューに対して各フェーズが何をするかを詳しく説明している。

  • 位置特定は階層的である。障害箇所はまず特定のファイルに、次に関連するクラスや関数に、最後に細粒度の編集箇所にまで絞り込まれる。
  • 修正は、それらの編集箇所を受け取り、バグごとに複数の候補パッチを単純な diff 形式でサンプリングする。
  • パッチ検証は、実行する回帰テストを選び、元のエラーに対する再現テストを追加で生成する。テスト結果は、残ったパッチを再ランク付けし、提出するものを一つ選ぶために使われる。

リポジトリは、OpenAI の API キーを使って SWE-bench の問題に対して実行できるよう構成されている。2024 年 7 月 1 日に 1.0 リリース、2024 年 10 月 28 日に 1.5 リリースを告知しており、2024 年 12 月にはプロジェクトが Agentless を Claude 3.5 Sonnet と統合し、SWE-bench Lite と SWE-bench Verified で実行したと報告している。v1.5.0 リリースには、その両ベンチマークでの Agentless の完全な実行結果と、SWE-bench の各問題について前処理済みのリポジトリ構造情報が含まれており、リポジトリには SWE-bench Lite と、フィルタリングされた SWE-bench Lite-S の問題についての著者らによる手作業の分類も収められている。

適用される場面

論文は Agentless を、エージェントベースのシステムが対象とする種類のエンドツーエンドのソフトウェア開発問題に適用できるものとして示し、その前提で結果を報告している。SWE-bench Lite において、著者らは、既存のすべてのオープンソースのソフトウェアエージェントと比べて、Agentless が最高の性能(32.00%、96 件の正しい修正)と低コスト(0.70 ドル)の両方を達成したと述べている。これらは一回の評価から得られた測定値であり、このアプローチに恒常的に備わる性質ではない。

Agentless が何を前提としているかは、何を省いているかに表れている。LLM が今後の行動を決めることも複雑なツールを使うこともないため、3 つのフェーズで問題に十分対処できなければならない。つまり、関連するコードが位置特定によって見つけられ、修正が一つの修正として表現でき、その正しさがパッチ検証によって判定できなければならない。著者らは、このアプローチがエージェントに取って代わると主張してはいない。彼らはこれを、自律的なソフトウェア開発において、単純で解釈可能な手法が現在見過ごされている可能性を浮き彫りにするものと位置づけ、それが自律型ソフトウェアエージェントのベースライン、出発点、視野をリセットする助けとなり、その方向での今後の研究を触発することへの期待を述べている。

その裏付けとなる証拠は、一本の論文による一つのベンチマークでの独自の評価と、そのベンチマーク自体に、正解パッチそのものが示されている問題や、不十分で誤解を招くイシュー記述を含む問題が存在するというその論文の知見である。同じ著者らが、より厳密な比較の基盤として、フィルタリングされた SWE-bench Lite-S を構築したのはそのためである。

関連用語

  • SWE-bench Lite-S — 同じ論文が、より厳密な比較のために構築したフィルタリング済みベンチマーク
  • SWE-Bench — リポジトリが実行対象として構成されているベンチマーク群