本サーベイは、LLM ベースのイシュー解決 ── イシューの記述とリポジトリを受け取り、そのイシューを解決するパッチを生成するタスク ── の分野を俯瞰するものである。著者らは本論文を、この領域に特化した最初のサーベイと位置づけており、既存の文献は断片的だと特徴づけている。既存のサーベイはコード生成に焦点を当てており、より難しいイシュー解決の問題を扱っていない、というのが著者らの主張である。コーパスは、引用追跡とスノーボーリングによって収集した、公開されている 175 本の論文とオンライン資料からなり、データ、手法、分析という 3 つの最上位の次元を持つ分類体系のもとで整理されている。

本論文は、概観に先立ってタスクを定式化している。インスタンスは I = (D, C, T) と書かれ、イシューの記述 D、コードベース C、対応するテスト T からなる。解決の過程で観測できるのは D と C のみで、これに加えて探索可能な環境 E がある。手法 M はパッチ P = M(D, C, E) を生成することが期待され、このパッチをコードベースに適用し、変更後の結果に対して T を実行することで評価される。集計指標は Resolved Rate(解決率)で、データセット全体にわたるインスタンスごとの二値の結果の平均である。

分類体系の手法側は、学習不要の研究と学習ベースの研究を区別している。学習不要の手法は、フレームワーク(シングルエージェント、マルチエージェント、固定ワークフローの設計)、プラグアンドプレイのモジュール(リポジトリとのやり取りのためのツール、経験を蓄積するためのメモリ)、推論時スケーリングによって分類される。学習ベースの手法は、教師ありファインチューニングと強化学習に分かれる。分析側は、新しい技術ではなく、分野自身のエビデンス基盤に対する実証的な批判 ── ベンチマークのデータ品質やエージェントの振る舞いの病理に関する研究 ── を概観している。

主なポイント

  • 本サーベイは、SWE-bench を、ChatDev や MetaGPT のようなソフトウェアの生成に関する初期の研究から、ソフトウェアの保守と進化というライフサイクルの後段へと移る転換点として位置づけ、環境を探索し変更することに焦点を当てた研究の最前線を促進したと述べている。
  • 学習不要の手法を、基盤となるフレームワークに基づいて 3 つのカテゴリに分類している。フレームワーク(高レベルのアーキテクチャ ── シングルエージェント、マルチエージェント、固定ワークフロー)、モジュール(ツールやメモリといったプラグアンドプレイの拡張)、そしてモデルのパラメータを変更せずに探索や並列化によって成功率を高める推論時スケーリングである。
  • ツールモジュールは標準的な修正パイプライン ── バグの再現、故障箇所の特定(フォールトローカライゼーション)、コード検索、パッチ生成、パッチ検証、テスト生成 ── に沿って整理されている。サーベイは、故障箇所の特定のアプローチとして、メソッドレベルのスペクトラムベースの故障箇所特定や、コード依存グラフを構築して故障の伝播をたどるグラフベースの手法があることを指摘している。
  • メモリについては、分野の最前線が生データの保存から、成功した軌跡と失敗した軌跡の両方から高レベルの方針を抽象化する方向へ移っていると報告している。また、具体的な修正のエピソード記録と抽象的な洞察の意味的な層を組み合わせ、現在のコンテキストに応じた検索を支える二重過程の認知アーキテクチャについても述べている。
  • 教師ありファインチューニングについて、繰り返し現れる 3 つの次元を挙げている。合成コーパスによるデータのスケーリング、幅広い軌跡の取り込みから厳しくフィルタリングされたサブセットや特化したタスクへと進む多段階のカリキュラム学習、そして成功した軌跡のみでファインチューニングしつつ、推論時に解を再ランク付けする検証器を学習させるリジェクションサンプリングのパイプラインである。
  • 強化学習については、問題をアルゴリズム、報酬設計、スキャフォールドに分解している。クリティックモデルの計算負荷を避けるうえで支配的なアルゴリズムの選択肢として Group Relative Policy Optimization を挙げ、Proximal Policy Optimization と Direct Preference Optimization はより限定的な設定で用いられているとしている。
  • 独自の統計から、強化学習のロールアウトで最も広く使われているスキャフォールドは OpenHands であり、次いでワークフローベースの手法(特に Agentless と 2 段階のワークフロー)が続くと報告している。R2E-Gym や SWE-Gym のような環境ネイティブのフレームワークも、学習データと整合するため頻繁に採用されている。
  • データ分析の節では、エージェントの成功率が、解答の漏洩、曖昧なイシューの記述、誤ったパッチを検出できない弱いテストスイートによって、しばしば水増しされていると報告している。また、手作業による整理は大規模には高コストで一貫性に欠けるため、分野はモデルベースの合意によって有効な修正と偽陽性を区別する、自動化された検証ワークフローへと移りつつあるとしている。
  • 手法の分析では、モデルが必要な環境とのやり取りよりも長い内部の熟考を優先してしまう振る舞い上の失敗モードを報告しており、引用された研究はこれが分析麻痺や逸脱した行動(rogue actions)につながると特徴づけている。
  • 課題の 1 つとして、現在の評価は解決率のような有効性の指標に焦点を当てる一方、API コストや推論時間のような効率性の指標を見落としており、高性能なモデルの計算上・経済上の負担が見えにくくなるバイアスを生んでいると論じている。
  • 結果レベルの報酬 ── 典型的にはテストの成否という二値のシグナル ── への依存を、複数ターンのやり取りを必要とするタスクにとっての限界として挙げている。結果報酬では行動ステップ間の貢献度の割り当て(クレジットアサインメント)が曖昧になるためであり、方向性として、よりきめ細かなプロセス報酬を提案している。
  • ベンチマークが飽和に近づくなかで、データの漏洩と汚染を評価の信頼性に対する脅威として挙げている。学習データのカットオフ日が不明確だとモデルが解答を記憶してしまう可能性があり、さらにベンチマーク自体にも、曖昧な記述、解答のヒント、不十分なテストカバレッジを含む無効なインスタンスが含まれていると指摘している。
  • 現在の研究は主にソフトウェア開発ライフサイクルの実装と統合のフェーズを扱っていると報告し、対象を要求分析やアーキテクチャ設計といった他の段階にも広げるべきだと論じている。

補足

著者らは、この分野のデータセット、実装、新たな進展を追跡するオープンソースのリポジトリを管理しており、これを継続的に更新することを意図した動的な資料と説明している。

本論文の Limitations の節では、イシュー解決に特化した最初のサーベイとして、紙幅の制約から網羅的な詳細よりも高レベルの要約を優先したこと、そして検索方法が引用追跡とスノーボーリングに依拠しており、著者らの説明では徹底したものではあるが、ニッチな研究や新しい研究を見落としうることが述べられている。

本論文は、このウィキがすでに扱っているいくつかの隣接するテーマと関係している。ソフトウェアイシュー解決 は本サーベイが扱うタスクそのものであり、Agentless と OpenHands は、本サーベイが普及度を定量化したスキャフォールドに含まれる。