## Memo
## Memo with LLM
### 論文情報
- **論文のタイトル**: Agentless: Demystifying LLM-based Software Engineering Agents
- **著者と所属**:
- Chunqiu Steven Xia (UIUC)
- Yinlin Deng (UIUC)
- Soren Dunn (UIUC)
- Lingming Zhang (UIUC)
- **カンファレンス/ジャーナル名**: 33rd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2025) - ACM SIGSOFT distinguished paper受賞
- **発表年**: 2024年(arXiv公開)、2025年FSE発表
### 論文概要
本論文は、複雑な自律型LLMエージェントの代わりに、単純な非エージェントアプローチである「Agentless」を提案し、ソフトウェア開発問題の自動解決においてより高いパフォーマンスと低コストを実現することを示した。Agentlessは階層的局所化と修復の2段階プロセスを用いて、SWE-bench Liteベンチマークで既存のオープンソース手法を上回る27.33%の解決率を平均0.34ドルの低コストで達成した。
### 詳細解説
#### 問題設定
- **入力**: GitHubのissue記述と対応するPythonリポジトリ
- **出力**: issueを解決するためのパッチ(コード修正)
- **必要なデータ**: SWE-benchベンチマークを使用。各問題は実際のGitHub issueとその解決に必要なコード変更を含む
#### 提案手法
Agentlessは以下の2段階プロセスを採用:
**1. 階層的局所化(Localization)**
- **ファイルレベル局所化**: リポジトリ構造を簡潔な形式で表現し、LLMに上位N個の疑わしいファイルを特定させる
- **関連要素の局所化**: 疑わしいファイルのスケルトン形式(クラス・関数の宣言のみ)を提供し、関連するクラス・関数を特定
- **編集位置の局所化**: 具体的なコード内容を提供し、最終的な編集位置(行番号、関数、クラス)を特定
**2. 修復(Repair)**
- **パッチ生成**: Search/Replace形式の簡単なdiff形式でパッチを生成
- **フィルタリング**: 構文エラーや既存テストの失敗を引き起こすパッチを除外
- **パッチ選択**: 複数のパッチ候補に対してmajority votingを適用してランク付け
#### 新規性
- **エージェント不使用**: 従来の複雑な自律型エージェントとは異なり、LLMに将来の行動決定や複雑なツール使用を許可しない
- **階層的アプローチ**: ファイル→要素→編集位置の3段階による効率的な局所化
- **コスト効率性**: 平均0.34ドル/issueという大幅なコスト削減を実現
- **ベンチマーク改善**: SWE-bench Liteの問題点を指摘し、より厳密なSWE-bench Lite-Sを構築
#### 実験設定
- **データセット**: SWE-bench Lite(300問題)、SWE-bench Lite-S(252問題、問題のある48問題を除外)
- **モデル**: GPT-4o (gpt-4o-2024-05-13)
- **評価指標**:
- % Resolved: 解決された問題の割合
- Avg. $ Cost: 平均推論コスト
- Avg. # Tokens: 平均トークン数
- % Correct Location: 正しい編集位置を含むパッチの割合(ファイル、関数、行レベル)
#### 実験結果
- **全体パフォーマンス**: SWE-bench Liteで27.33%(82/300問題)の解決率を達成し、オープンソース手法中最高
- **コスト効率**: 平均0.34ドル/issueで、他の手法(例:SWE-agent 3.34ドル)より大幅に安価
- **局所化精度**: ファイルレベルで86.0%、関数レベルで57.3%、行レベルで34.1%の正確な位置特定率
- **ユニークな解決**: 他のオープンソース手法では解決できない15の問題を解決
- **上限分析**: 全生成パッチを考慮すると123問題(41.0%)が解決可能で、将来の改善余地を示唆
**アブレーション分析**:
- 単一サンプル: 70問題(23.33%)、0.11ドル
- 複数サンプル + majority voting: 78問題(26.00%)、0.34ドル
- フルAgentless(テストフィルタリング追加): 82問題(27.33%)、0.34ドル
論文の内容は非常に明確で、提案手法の有効性を包括的に実証している。特に、単純なアプローチが複雑なエージェント型手法を上回るという結果は、ソフトウェア工学における自動化の方向性に重要な示唆を与えている。
## Abstract
近年の大規模言語モデル(LLM)の進歩により、コード合成、プログラム修復、テスト生成を含むソフトウェア開発タスクの自動化が大幅に進歩しました。最近では、研究者や業界の実践者が、エンドツーエンドのソフトウェア開発タスクを実行するためのさまざまな自律型LLMエージェントを開発しています。これらのエージェントは、ツールを使用し、コマンドを実行し、環境からのフィードバックを観察し、将来の行動を計画する能力を備えています。しかし、これらのエージェントベースアプローチの複雑さと現在のLLMの限定的な能力を合わせると、次のような疑問が生じます:本当に複雑な自律型ソフトウェアエージェントを採用する必要があるのでしょうか?この疑問に答えるために、我々はAgentless - ソフトウェア開発問題を自動的に解決するエージェントレスアプローチを構築しました。冗長で複雑なエージェントベースアプローチの設定と比較して、Agentlessは局所化に続いて修復という単純な2段階プロセスを採用し、LLMに将来の行動を決定させたり複雑なツールで動作させたりしません。人気のSWE-bench Liteベンチマークでの我々の結果は、驚くべきことに単純なAgentlessが既存のすべてのオープンソースソフトウェアエージェントと比較して最高のパフォーマンス(27.33%)と最低コスト(0.34ドル)の両方を達成できることを示しています!さらに、我々はSWE-bench Liteの問題を手動で分類し、正確なグラウンドトゥルースパッチや不十分/誤解を招く問題記述を含む問題を発見しました。そのため、このような問題のある問題を除外してSWE-bench Lite-Sを構築し、より厳密な評価と比較を実行します。我々の研究は、自律的ソフトウェア開発における単純で解釈可能な技術の現在見過ごされている可能性を強調しています。Agentlessが自律型ソフトウェアエージェントのベースライン、出発点、展望をリセットし、この重要な方向での将来の研究を刺激することを願っています。