能動的コンテキスト増強によるソースコードのバグ修正

近年，生成AIの進展に伴い，LLMを利用したプログラムコーディングの自動化が盛んに研究されており，ClaudeCode[1]やCodex[2]などのコーディング支援ツールに加え,リポジトリ全体を対象とした複雑なコード修正をLLMに行わせる手法が多く提案されている[3,4,5]．しかし高精度な修正精度が得られている既存手法の多くは，開発元が提供するクローズドかつ高性能なLLMに依存しており，再現性と透明性や運用コストなどの課題が指摘されていた[6]．2023年にSWE-benchマークデータセット[7]が公開されて以来，リポジトリレベルのバグ修正能力を競う研究が活発に行われるようになった．これらは，SWE-agent[8]やOpenHands[9],MoatlessTools[10]に代表されるAgent型手法とAgentless[11]やRepoGraph[12]などのPipeline型に大別できる．Agent型はAgentが自律的に情報の探索から修正までを行う手法であり，柔軟性が高い反面，推論の負担が大きい．一方，Pipeline型は，修正箇所の特定（ローカライズ）や修正などの工程を段階的に実行する手法である．代表的な手法であるAgentlessは，「ローカライズ」·「修正」·「評価」の3段階で構成され,修正フェーズに入力される情報がローカライズ箇所の周辺情報に限定されているため，バグ修正に必要な広範な文脈情報が不足するという問題が指摘されていた．この問題に対し，OuyangらはRepoGraphを提案した[12]．RepoGraphは，リポジトリ全体をグラフで表現し，修正箇所に関連する部分グラフを提供することで精度の向上を目指した．しかし，外部から機械的に抽出された構造情報を付与する手法は，モデルのパラメータサイズに依存してその有効性が大きく変動するリスクがある.実際Hongyuanらによると,リポジトリの構造的・意味的情報をLLMのアテンション機構に統合するCGM[13]における評価では，Qwen2.5-72Bを用いた場合には43.00%という高い修正率を達成している一方で，7Bクラスの小規模モデルでは4.00%にまで精度が急落することが報告されている．本研究ではこの課題に対し,リポジトリを論理的単位（ファイル・クラス・関数）で構造化し,モデル自身が必要な情報を選択的に取得する「能動的コンテキスト増強」というアプローチを提案する.本手法は推論能力に制約のあるモデルでも,ノイズを排除した最小限かつ高密度な情報に基づいた正確な修正が期待できる.本稿では,このコンセプトに基づき,Agent間の対話を通じた情報収集と,単一モデルによる自律的なグラフ探索の2つのアプローチについて,それぞれの有効性と課題を検討する.