ホームへ戻る

AI 程式開發/代理評測

DeepRepoQA、モンテカルロ木探索でファイルをまたぐコード関係を追跡。ただし評価は依然としてLLMジャッジに依存

DeepRepoQAは、コーディングエージェントに単一路径を探索させるのではなく、MCTSで複数のリポジトリ探索分岐を比較し、行番号付きの証拠から回答を合成する。公式報告ではSWE-QAで4~7ポイントの向上を達成したが、データ汚染、推論コスト、限定的なクロス言語テストについては、なお検証が必要だ。

Falcorian · CC BY-SA 4.0 · Image source
zh-Hant

上海交通大学などの研究機関は、リポジトリに関する質問応答を、単発のベクトル検索や単一路径のReActから、分岐を繰り返し展開するモンテカルロ木探索(MCTS)へと再構成したDeepRepoQAを発表した。システムはまずTree-sitterを用いてクラス、関数、呼び出し、モジュール間の関係を解析し、同時にセマンティックベクトルインデックスを構築する。エージェントは、`FindClass`、`FindFunction`、`FindCodeSnippet`、`SemanticSearch`、`ViewCode`、`Finish`という6種類のアクションを実行できる。

各探索では、認識、計画、実行、評価という4つの役割が順番に処理を引き継ぐ。認識モジュールが現在の経路と兄弟分岐を整理し、プランナーが候補アクションを提案する。エグゼキューターはコード断片を取得して重複を除去し、評価器はLLMを用いて効用スコアと次のステップへの提案を生成し、その結果を木のルートへ逆伝播する。論文の実験では、各ノードから展開する子ノードを最大3つ、探索回数の上限を15回に設定し、最終回答にはファイル名と行番号を示す証拠の添付を必須とした。この設計の価値は、エージェントが誤ったディレクトリに進んだり、関連するだけの概念しか見つけられなかったりしても、初期検索の偏りをそのまま回答まで引きずることなく、別の分岐へ戻れる点にある。

SWE-QAでは、異なる基盤モデルを用いた構成で、既存エージェントより約4~7ポイント向上したと著者らは報告している。GPT-5.1を用いた構成は70.06点を獲得し、Cursorの70.71点に迫るとともに、Tongyi Lingmaの69.12点をわずかに上回った。ただし、これはコード修正の成功率ではなく、リポジトリ質問応答の総合スコアである。さらに、評価は3つのLLMジャッジによる採点の平均であり、特定の文章表現や推論形式が優遇される可能性は残る。論文は事前学習データの汚染リスクも認めており、クロス言語検証は3つのJavaプロジェクト、計30問にとどまる。

コード、ベースライン用スクリプト、データは公開されているが、現在の構成ではカスタムLLMエンドポイントとVoyage embedding APIを用意する必要があり、完全にオフラインで再現できるパッケージではない。エンジニアリングチームは今後、木探索によって増加するトークン数、レイテンシ、APIコストを測定するとともに、未公開の新規リポジトリ、人手で検証した正解、実際の保守タスクを用いて再評価すべきだ。

出典

  1. DeepRepoQA: Code Repository Question Answering with Deep Agent Exploration
  2. DeepRepoQA source repository