← 最新论文
🤖 AI

Repo0: Design-Driven Zero-to-All Code Generation

Repo0 引入了一种连续结构演化框架,该框架利用双向有向无环图(Dual-DAG)在自然语言需求阶段迭代优化模块化仓库架构,进而指导测试驱动的代码生成,从而实现了比现有基准更高的功能覆盖率和通过率。

原作者: Silin Chen, Haoyi Teng, Xiaodong Gu, Yuling Shi, Jiale Huang, Yongpan Wang, Hongyu Zhang, Haibing Guan

发布于 2026-08-21
📖 1 分钟阅读☕ 轻松阅读

原作者: Silin Chen, Haoyi Teng, Xiaodong Gu, Yuling Shi, Jiale Huang, Yongpan Wang, Hongyu Zhang, Haibing Guan

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在软件创作的世界里,构建一个程序长期以来一直被视为像根据完成的蓝图组装房屋一样。建筑师绘制设计图,决定墙壁、门和窗户的确切位置,然后建筑工按照这些指令铺设砖块。多年来,旨在编写代码的人工智能系统一直基于同样的假设运行:它们被给予一个预先存在的软件结构地图,而只需填充细节。但在现实世界中,软件很少是根据一个完美的、静态的计划来构建的。需求在变化,部件之间的连接变得纠缠不清,最初的设计往往在写下第一行代码时才会显露其缺陷。这种僵化的计划与从零开始构建的混乱现实之间的差距,正是一种新方法正在兴起的地方——这种方法不将软件项目的设计视为一个固定的起点,而是将其视为一个随着代码本身一起生长和变化的生命体。

上海交通大学和重庆大学的研究人员开发了一个名为 Repo0 的系统来应对这一挑战。他们的工作解决了一个特定且困难的问题,即被称为“从零到全”(zero-to-all)的代码生成。这项任务的任务是:根据一段关于软件应实现功能的简单自然语言描述,从头开始构建整个项目,而没有任何预先存在的、用于引导的文件夹、文件或架构图。以往尝试完成这项任务的方法往往会失败,因为人工智能生成的代码虽然在孤立状态下可以运行,但会与系统的其余部分发生冲突,从而产生难以维护的、纠缠不清的依赖关系。研究人员发现,核心问题不在于人工智能编写代码的能力,而在于它无法将这些代码组织成一个能够随着项目增长而演进的连贯结构。

为了解决这个问题,该团队创建了一个在构建过程中不断优化软件架构的框架。该系统并没有在开始时就锁定设计,而是维护着一张动态的项目结构图。这张地图分为两层:一层追踪软件需要做什么,另一层追踪软件是如何通过构建来实现这些功能的。随着系统的运作,它会不断检查这两层是否相互匹配。如果软件的一个部分变得过于宽泛,或者试图做太多无关的事情,系统就会识别出这种缺乏专注度的现象,并将其拆分为更小、更专业的模块。相反,如果两个部分连接得如此紧密以至于本质上在做同样的工作,系统则会将它们合并以减少冗余。这一过程由关于软件组件如何相互关联的具体规则引导,确保最终产品是有组织、高效且易于理解的。

研究人员在六个真实的软件项目上测试了这种方法,涵盖了从小型工具到大规模数据分析库的不同规模。他们将 Repo0 与使用传统静态规划方法的其他先进人工智能系统进行了对比。结果显而易见:允许设计持续演进的系统生产出的软件质量显著更高。它成功实现了更高比例的需求功能,并通过了更多旨在检查代码实际运行效果的严格测试。在某些情况下,这种提升是巨大的,新系统在其他方法甚至无法达到一半覆盖率的功能领域,实现了近乎完美的覆盖。研究表明,成功的关键不仅在于编写更多的代码,还在于系统能够识别出自身的结构何时变得混乱,并在继续推进之前对其进行修复。

一个关键的发现是,系统需要在正确的时间停止对设计的优化。如果人工智能无休止地改变结构,项目就会变得碎片化且不稳定。研究人员发现,通过使用衡量各部分契合程度的具体指标,系统可以确定设计何时达到了最佳形态。一旦达到这个稳定点,系统就会锁定结构并完全专注于生成代码。这种在持续改进与知道何时停止之间的平衡至关重要。如果没有这些引导规则,人工智能往往会过度复杂化设计,将其拆分为过多的微小碎片,从而使最终产品更难使用。

研究还表明,初始设计的质量并不如纠错能力那样重要。即使系统开始时有一个粗糙或不完美的计划,通过拆分、合并和修订的持续过程,它也能恢复并构建出稳健的结构。这表明,对于复杂任务而言,适应和自我纠错的能力比第一次猜对的能力更有价值。研究人员证明,通过将软件架构视为一个持续演进的过程而非单一事件,人工智能代理可以构建出不仅功能完备而且组织良好且可靠的复杂系统。这种方法标志着我们对自动化软件创作思维的转变——从追求完美的蓝图,转向一种更灵活、更具响应性的构建方法,这种方法更贴近人类开发者的实际工作方式。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →