コードを「手続きの似かた」で検索するリポジトリ級コード生成 ― ProjAgent
リポジトリ級のコード生成は、複雑なファイル間依存とプロジェクト固有の慣習を踏まえて目標関数を実装する必要がある。既存の検索は字句・構造・意味の類似に頼り、識別子や応用領域は違うが「似た手続きロジック」を実装する関数を見落としがち。ProjAgentは手続き的類似(procedural similarity)を明示的な検索信号として導入。目標関数を中間推論ステップに分解し、各ステップで似た手続き挙動の関数をエージェント的に検索、意味検索と統合して豊かな文脈を構築する。静的解析フィードバックで反復修正し、REPOCODで41.14% Pass@1を達成した。
論文の概要(独自要約)
- 分野(arXiv分類)cs.SE(+2)
- 著者QiHong Chen, Aaron Imani, Iftekhar Ahmed
- 投稿日2026-07-09
- arXiv ID2607.08691v1
要点
- リポジトリ級コード生成=ファイル間依存とプロジェクト慣習を踏まえた関数実装が必要
- 既存検索(字句・構造・意味)は「似た手続きロジックの関数」を見落としがち、に対処
- 手続き的類似(procedural similarity)を明示的検索信号に=目標関数を推論ステップに分解し各ステップで類似手続きを検索
- 手続き的文脈と意味検索を統合+コンパイラ・静的解析の保守的フィードバックループで反復修正
- REPOCODで41.14% Pass@1=既存検索ベースを上回り、手続き的類似が有効な未開拓次元と実証
本研究(ProjAgent)は、AIによるコード生成の「参考にする既存コードの探し方」を、新しい観点で改善する。
1リポジトリ級コード生成の難しさ
リポジトリ級(repository-level)のコード生成では、複雑なファイル間の依存関係と、プロジェクト固有の慣習を踏まえながら、目標となる関数を実装する必要がある。手がかりとなる既存コードをどう見つけるかが鍵だが、従来の検索手法は主に、字句(lexical)・構造(structural)・意味(semantic)の類似に依存してきた。
この結果、識別子の名前や応用領域は違っても「似た手続きロジック(procedural logic)を実装している」関数——本来は最良の参考例——を見落としがちだった。
2「手続き的に似ている」を検索信号にする
ProjAgentは、この手続き的類似(procedural similarity)を、明示的な検索信号として導入する。まず目標関数を中間的な推論ステップへ分解し、各ステップについて、似た手続き的挙動を示すリポジトリ内の関数を、エージェント的なワークフローで検索する。こうして取得した手続き的文脈を、従来の意味検索と統合し、コード生成のためのより豊かなリポジトリ文脈を構築する。
加えて、コンパイラと静的解析のフィードバックを使い、生成したコードを反復的に修理する保守的なフィードバックループを組み込む。
3REPOCODで41.14%
評価はREPOCODベンチマークで行われ、ProjAgentは41.14%のPass@1を達成し、既存の検索ベースのベースラインを上回った。これらの結果は、手続き的類似が、リポジトリ級コード生成にとって有効でありながらこれまで未開拓だった検索の次元であることを実証している。
なぜ重要か
AIコーディング支援・リポジトリ級コード生成の検索設計に直結する研究。「手続きの似かた」で参照コードを探す発想と静的解析による自己修正は、コード生成ツールやRAG検索を手がける開発者の実装参照になる。
よくある質問(FAQ)
「手続き的類似」とは何ですか?
なぜコード生成に効くのですか?
出典(一次情報)
出典:arXiv(記述メタデータは CC0 パブリックドメイン)。要約は当サイト独自。原文・PDFは arXiv をご確認ください。
- arXiv 概要ページ(原文・公式)
- PDF(arXiv)
- arXiv ID: 2607.08691