
ToolTrain:LLMによるリポジトリ深層探索とIssue Localizationの新手法
3つの要点
✔️ ToolTrainを提案し、LLMがリポジトリ検索ツールを効果的に利用できるようにした
✔️ 拒否サンプリング付きSFTと強化学習を組み合わせ、ツール呼び出しと推論精度を向上
✔️ 実験でClaude-3.7を超える精度を達成し、Issue Localizationと修正成功率を改善
Tool-integrated Reinforcement Learning for Repo Deep Search
written by Zexiong Ma, Chao Peng, Qunhong Zeng, Pengfei Gao, Yanzhen Zou, Bing Xie
(Submitted on 5 Aug 2025 (v1), last revised 6 Aug 2025 (this version, v2))
Comments: Published on arxiv.
Subjects: Software Engineering (cs.SE); Artificial Intelligence (cs.AI)
概要
本論文は、ソフトウェア開発における「Issue Localization(不具合箇所の特定)」という課題に焦点を当てています。
Issue Localizationとは、自然言語で書かれたバグ報告などを手掛かりに、リポジトリ内の修正すべきコード箇所を特定するプロセスです。
この作業は大規模なコードベースでは時間と労力を要し、開発効率を大きく低下させる要因となります。
近年、LLMがコード生成やテスト生成で成果を上げており、リポジトリ検索ツールと組み合わせたLLMエージェントによる自動化が期待されています。
しかし、これを実現するには「Repo Deep Search」と呼ばれる複雑な探索が必要であり、LLMには多段階推論や高度なツール呼び出し能力が求められます。
既存のLLMは、ツール呼び出しの誤りや推論の不整合により精度が低下する課題を抱えていました。
そこで著者らは、新たに「ToolTrain」と呼ばれるツール統合型の学習フレームワークを提案し、LLMが効率的にツールを利用しながらリポジトリを探索できるようにしました。
提案手法
提案手法ToolTrainは二段階の学習過程で構成されます。
第一段階は「Rejection-sampled Supervised Fine-Tuning(拒否サンプリング付き教師あり微調整)」です。
ここでは、LLMがツールを使って生成した探索軌跡のうち、正しいコード箇所に到達した高品質な軌跡のみを選別して学習データとします。
これにより、モデルはリポジトリ検索タスクの基本形式やツール呼び出し方法を習得するとのこと。
第二段階は「Tool-integrated Reinforcement Learning(ツール統合型強化学習)」です。
ここでは、LLMが試行錯誤しながら探索を行い、その結果を報酬信号として利用します。報酬は正しいコード箇所を発見したかどうか、さらにその順位付けが適切かを評価指標として算出。
これにより、モデルは誤ったツール呼び出しを避け、より効率的かつ戦略的に探索できるようになります。
加えて、著者らは「RepoSearcher」と呼ばれる軽量な探索エージェントを設計し、ツール群(ファイル構造取得、関数検索、クラス検索など)を提供。
この設計により、LLMは冗長な探索を回避し、段階的に推論しながら精度の高いローカライゼーションを実現します。
実験
提案手法の有効性を検証するため、著者らはSWE-Bench-VerifiedというGitHubの実際のイシューに基づく評価データセットを用いて実験を行いました。
ベンチマークとして、ファイルレベルおよび関数レベルでのIssue Localization精度を、Recall@kやMAP、MRR、nDCG@5など多面的な指標で評価。
比較対象には、Agentless、LocAgent、CoSILなどの既存フレームワーク、さらにGPT-4oやClaude-3.7といった商用モデルが含まれます。
結果、ToolTrainで訓練されたモデルは、同規模のLLMに比べて一貫して高い精度を示し、特に関数レベルのローカライゼーションではClaude-3.7を上回る性能を達成。
また、ToolTrain-7Bモデルは、32B規模のモデルを用いた他のフレームワークよりも優れた精度を示し、小規模モデルでも効果的な強化学習が性能向上に寄与することを示しました。
さらに、Localizationの精度向上がIssue Resolution(バグ修正成功率)の改善にも直結することが確認されました。特にToolTrain-32Bは、関数レベルRecall@5で68.55を達成し、パッチ生成モデルと組み合わせた際に31.6%という最高の修正成功率を記録。
これらの結果は、ToolTrainがLLMのリポジトリ探索能力を飛躍的に向上させる有効な方法であることを実証しています。
この記事に関するカテゴリー