[CL]《RPG: A Repository Planning Graph for Unified and Scalable Codebase Generation》J Luo, X Zhang, S Liu, J Wu... [Microsoft] (2025)
生成完整软件仓库一直是大语言模型(LLM)面临的核心难题。RPG(Repository Planning Graph)为此提供了一种结构化的统一规划方案,极大提升了代码库构建的规模与质量。
• RPG将提案级(功能规划)与实现级(代码结构、接口、数据流)规划合一,节点表示层次化功能与对应文件、类、函数,边则刻画模块间数据流与执行依赖,确保设计与实现高度一致。
• 采用基于1.5M功能节点的“全局功能树”作为知识库,结合探索-利用策略,构建面向目标仓库的功能子树,再经重构获得模块化功能图,平衡覆盖率与结构合理性。
• 实现细节层面,RPG编码文件夹与文件结构,抽象共用接口设计,明确模块间输入输出,形成可执行的代码蓝图。
• ZeroRepo框架基于RPG进行三阶段仓库生成:功能提案构建、实现细化、图引导的代码生成与测试验证,依托拓扑序保证依赖正确性。
• RepoCraft基准涵盖6个真实开源项目,1052任务评估功能覆盖率、创新性、准确率及代码规模。ZeroRepo显著超越现有最强基线,功能覆盖率达81.5%,测试通过率69.7%,生成代码规模是最强基线的3.9倍,远超其他方法。
• RPG支持近线性增长的功能规模与代码体量,持续扩展且保持规划连贯性,助力LLM更准确理解仓库结构,加速定位与调试效率提升30%-50%。
心得:
1. 结构化图表示替代自然语言,解决了规划中信息模糊、断层和不稳定性问题,确保长期、多阶段开发的连贯执行。
2. 基于大规模功能树的探索-利用采样结合LLM过滤,兼顾了功能覆盖广度与语义精确性,实现了多样而精准的功能规划。
3. 拓扑序遍历与测试驱动开发结合,促进了代码质量的动态保障,避免了传统多文件项目易出现的依赖混乱和功能漂移。
RPG以明确的图结构为核心,开启了从函数级到仓库级代码生成的可扩展新篇章。
详情🔗 arxiv.org/abs/2509.16198
大语言模型代码生成软件工程人工智能自动编程