Retrieval-Augmented Code Generation: A Survey with Focus on Repository-Level Approaches

📄 arXiv: 2510.04905v2 📥 PDF

作者: Yicheng Tao, Yao Qin, Yepang Liu

分类: cs.SE, cs.CL

发布日期: 2025-10-06 (更新: 2026-01-25)


💡 一句话要点

综述检索增强代码生成,聚焦于仓库级别代码生成方法

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码生成 检索增强生成 大型语言模型 软件工程 代码仓库

📋 核心要点

  1. 现有代码生成方法在函数和文件级别表现良好,但在仓库级别面临长距离依赖和全局一致性挑战。
  2. 检索增强生成(RAG)通过集成外部检索机制,增强了大型语言模型在代码生成中的上下文感知和可扩展性。
  3. 该综述对检索增强代码生成(RACG)进行了全面回顾,重点关注仓库级别方法,并分析了未来研究方向。

📝 摘要(中文)

大型语言模型(LLM)的最新进展显著提升了自动化代码生成能力。尽管函数级别和文件级别的生成已经取得了可喜的成果,但实际的软件开发通常需要在整个代码仓库中进行推理。这就引出了具有挑战性的仓库级别代码生成(RLCG)任务,模型必须捕获长距离依赖关系,确保全局语义一致性,并生成跨多个文件或模块的连贯代码。为了应对这些挑战,检索增强生成(RAG)已经成为一种强大的范例,它将外部检索机制与LLM集成,从而增强了上下文感知能力和可扩展性。本综述全面回顾了检索增强代码生成(RACG)的研究,重点关注仓库级别的方法。我们沿着多个维度对现有工作进行分类,包括生成策略、检索模态、模型架构、训练范式和评估协议。此外,我们总结了广泛使用的数据集和基准,分析了当前的局限性,并概述了未来研究的关键挑战和机遇。我们的目标是为理解这个快速发展的领域建立一个统一的分析框架,并激发人工智能驱动的软件工程的持续进步。

🔬 方法详解

问题定义:论文旨在解决仓库级别代码生成(RLCG)问题。现有的代码生成方法,如函数级别和文件级别的生成,无法很好地处理真实软件开发中存在的长距离依赖关系和全局语义一致性问题。这些方法难以生成跨多个文件或模块的连贯代码,限制了其在复杂软件项目中的应用。

核心思路:论文的核心思路是利用检索增强生成(RAG)范式来提升代码生成模型在仓库级别的性能。通过引入外部检索机制,模型可以获取与当前代码生成任务相关的代码片段或文档,从而增强其上下文感知能力,更好地理解代码库的整体结构和语义信息。

技术框架:该综述对现有研究进行分类,主要关注以下几个方面:生成策略(例如,自回归生成、非自回归生成),检索模态(例如,基于文本的检索、基于代码结构的检索),模型架构(例如,Transformer、图神经网络),训练范式(例如,预训练、微调)和评估协议(例如,基于BLEU的评估、基于代码执行的评估)。

关键创新:该综述的关键创新在于系统性地总结和分析了检索增强代码生成在仓库级别的应用。它不仅对现有方法进行了分类和比较,还指出了当前研究的局限性和未来研究方向,为该领域的研究人员提供了一个全面的参考框架。

关键设计:论文本身是一个综述,因此没有具体的参数设置、损失函数或网络结构等技术细节。但是,论文中讨论的各种RACG方法可能涉及不同的设计选择,例如,使用不同的检索算法(如BM25、FAISS),不同的编码器(如BERT、CodeBERT),以及不同的解码器(如GPT-2、GPT-3)。这些设计选择会影响模型的性能和效率。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

该综述总结了当前检索增强代码生成在仓库级别的研究进展,分析了现有方法的优缺点,并指出了未来研究的潜在方向。它为研究人员提供了一个全面的参考框架,有助于推动该领域的发展,并促进人工智能在软件工程中的应用。

🎯 应用场景

该研究成果可应用于自动化软件开发、代码补全、代码修复、代码迁移等领域。通过提升代码生成模型在仓库级别的理解和生成能力,可以显著提高软件开发的效率和质量,降低开发成本,并促进软件工程的智能化。

📄 摘要(原文)

Recent advancements in large language models (LLMs) have substantially improved automated code generation. While function-level and file-level generation have achieved promising results, real-world software development typically requires reasoning across entire repositories. This gives rise to the challenging task of Repository-Level Code Generation (RLCG), where models must capture long-range dependencies, ensure global semantic consistency, and generate coherent code spanning multiple files or modules. To address these challenges, Retrieval-Augmented Generation (RAG) has emerged as a powerful paradigm that integrates external retrieval mechanisms with LLMs, enhancing context-awareness and scalability. In this survey, we provide a comprehensive review of research on Retrieval-Augmented Code Generation (RACG), with an emphasis on repository-level approaches. We categorize existing work along several dimensions, including generation strategies, retrieval modalities, model architectures, training paradigms, and evaluation protocols. Furthermore, we summarize widely used datasets and benchmarks, analyze current limitations, and outline key challenges and opportunities for future research. Our goal is to establish a unified analytical framework for understanding this rapidly evolving field and to inspire continued progress in AI-powered software engineering.