一举击败Claude Code!微软提出代码生成黑科技:一键直出36K行代码

2025-10-06 发布 · 浏览17次 · 点赞0次 · 收藏0次

【导读】自然语言规划的模糊性让仓库生成屡屡翻车。微软RPG用图谱取代文字,节点代表功能与文件,边标注依赖与接口。基准显示,功能创新率11-13%,代码通过率69.7%,远超Claude Code,为大规模AI开发铺平道路。

近年来,大模型写代码的能力突飞猛进。在函数级、文件级上,生成已相当可靠;开发者一句描述就能得到完整函数或模块。

但当视野扩展到整个仓库时,难题随之而来:数十上百文件、类与函数之间交织着复杂依赖,要从抽象描述落到完整仓库,始终充满挑战。

现有方法多依赖自然语言规划来决定「做什么、怎么做」。这种方式虽直观,却天生模糊、缺乏结构,难以长程稳定地追踪依赖。

结果就是两类常见失效:要么功能提案不全,难以覆盖需求;要么实现过程漂移,接口和模块边界逐渐错乱。


论文地址:https://arxiv.org/abs/2509.16198

为解决这一问题,微软提出了Repository Planning Graph (RPG),以结构化图谱替代脆弱的文字规划,把功能、文件、依赖和数据流统一在一张蓝图中,从而让仓库生成首次具备可控、可扩、可验证的基础。

从需求到仓库的统一蓝图

Repository Planning Graph (RPG)是一种结构化表征,它把仓库生成的全过程统一到一张图里。

RPG的节点可以是功能目标、文件、类或函数,边则显式标注接口调用、依赖关系和数据流动。

这种设计既能回答「要实现什么」(提案层),也能回答「如何实现」(实现层),从而保证高层意图与底层实现的一致性


ZeroRepo流程概览:(A)提案级构建:将用户需求转化为功能图谱;(B)实现级构建:进一步细化为文件结构和数据流,形成Repository Planning Graph (RPG);(C)图驱动生成:沿拓扑顺序遍历RPG,逐步生成完整仓库。

在此基础上,研究团队提出了ZeroRepo框架。ZeroRepo从用户的自然语言描述出发,分三步逐步构建RPG并在其指导下生成代码:

第一步:提案级构建

ZeroRepo不再让模型「即兴发挥」,而是先把用户的自然语言需求落到RPG上,逐步长成一张功能图谱。

它依托一个庞大的功能树去检索和拼接节点,比如「用户登录」「购物车管理」「支付处理」,像搭积木一样组合成完整蓝图。

这样,系统不但覆盖了所有关键功能,还能保证结构清晰、层次合理。

第二步:实现级构建

有了功能蓝图,还需要明确每个模块「落地到哪里」。

ZeroRepo会把功能节点继续展开,写成具体的文件、接口和数据流,并一一标注进RPG。以「支付处理」为例,它会被拆解成payment_service.py、api/payment_api.py等文件,并明确依赖订单与库存模块的输出。

这样,模块间的边界和依赖被牢牢固定,再也不会在生成过程中走偏。

第三步:图驱动生成

最后,ZeroRepo按照RPG的拓扑顺序推进代码生成。每实现一个文件或函数,就会先生成测试用例,再写函数体,并把结果回写到RPG中。

这形成了「生成—验证—更新」的闭环。

整个过程像是沿着蓝图施工:有规划、有校验,仓库规模不断扩展,但始终保持接口对齐、结构稳定。

实证ZeroRepo:从蓝图到真实仓库

为全面评估仓库级生成能力,他们构建了全新基准RepoCraft


RepoCraft评估准确性的任务的整体数据收集流程

不同于以往依赖现成仓库或提供详尽文档的设置,RepoCraft不提供完整架构蓝图,还涵盖6个真实项目、共1052个任务:

scikit-learn,pandas,requests,django,statsmodels,sympy。

真正考察模型从模糊需求到结构化实现的能力。


RepoCraft基准上的不同智能体框架与模型性能对比(Gold Projects 代表真实世界的仓库)

  1. 功能覆盖与规模:覆盖率达81.5%比最强基线Claude Code高27.3个;还能生成超100个新功能(创新率11–13%),远超其他方法。生成仓库平均36K行代码445K tokens,是Claude Code的3.9倍、其他方法的64倍,复杂度接近人工项目。

  2. 正确性与一致性:代码通过率为69.7%比Claude Code高35.8个点,接近人工项目上限(81%)。RPG的结构化约束有效保证了模块边界和接口设计的一致性,使生成结果更稳定、更贴近设计初衷。


ZeroRepo利用Qwen3-Coder-480B-A35B-Instruct在机器学习库上搭建数据流动和函数依赖示意图

  1. 复杂依赖与协同:以Qwen 3 Coder生成的结果来看,RPG不仅清晰组织了文件层次和模块流程,还显式捕捉了跨模块调用与反馈依赖,使复杂关系能够被稳妥管理,仓库在复杂度提升的同时仍保持整体协调。


ZeroRepo随规划迭代次数增长功能数量(左图)和代码数量增长情况

ZeroRepo在功能数与代码规模上都展现出近乎线性的增长趋势

随着迭代次数增加,RPG引导的规划让新功能和新增代码能够稳步扩展,而不是像基线方法那样在早期就陷入停滞。

这样的线性扩展能力证明他们具备支撑大规模仓库持续开发的潜力


RPG在智能体定位任务中的加速效果对比(wo/G表示无全局信息

此外,RPG提供的全局结构视角显著提升了代理的仓库理解与定位能力,使其能够更快地追踪依赖、定位问题并完成模块集成,从而加速整个开发流程。

总结与展望

ZeroRepo展示了结构化图谱在仓库生成中的独特价值:它不仅提升了功能覆盖率、代码规模和正确性,还解决了长期困扰自然语言规划的模糊与漂移问题,使自动化仓库生成首次逼近真实的软件开发过程。

未来,研究团队计划进一步拓展RPG的适用范围,包括支持多轮需求变更下的交互式开发、跨仓库的协同演化,以及与现有工程工具链的深度融合。

参考资料:

https://arxiv.org/abs/2509.16198

一举击败Claude Code!微软提出代码生成黑科技:一键直出36K行代码 - AI 资讯 - 资讯 - AI 中文社区

声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。本站拥有对此声明的最终解释权。如涉及作品内容、版权和其它问题,请联系我们删除,我方收到通知后第一时间删除内容。

点赞(0) 收藏(0)
0条评论
珍惜第一个评论,它能得到比较好的回应。
评论

游客
登录后再评论
  • 鸟过留鸣,人过留评。
  • 和谐社区,和谐点评。