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

TL;DR

Repo0通过结构演化实现零到全代码生成,提升功能覆盖率达20%。

cs.SE 🔴 高级 2026-08-20 92 次浏览
Silin Chen Haoyi Teng Xiaodong Gu Yuling Shi Jiale Huang Yongpan Wang Hongyu Zhang Haibing Guan
软件工程 代码生成 结构演化 大模型 模块化

核心发现

方法论

本文提出基于Dual-DAG的连续结构演化框架Repo0,结合模块度指标引导组件边界调整。流程包括需求分析、初始架构生成、模块化演化循环及验证反馈。通过多轮结构动作(拆分、合并、修订)优化架构,直至收敛。架构状态由需求层DAG、组件层DAG及其对齐关系构成,确保可追溯性。利用GPT-5 mini和DeepSeek V3.2在六个真实仓库上验证,结果显示在功能覆盖率和通过率方面优于最强基线RPG。

关键结果

  • 在六个RepoCraft仓库中,Repo0在功能覆盖率最高提升20.08个百分点,Pass Rate最高提升29.74个百分点。相较RPG,性能显著增强,验证了结构演化的有效性。ablation分析表明Dual-DAG和模块度指标对性能提升起关键作用。模型在复杂依赖和模块边界调整方面表现优越,展示了连续架构优化的潜力。
  • 多轮结构演化显著改善了组件边界合理性,减少了耦合度,提升了代码的模块性和可维护性。验证反馈机制确保了架构与代码的一致性,有效避免了静态设计的局限。
  • 实验还揭示了未受控的结构调整可能导致架构碎片化,强调了指标引导的重要性,为未来自动化架构优化提供理论基础。

研究意义

该研究突破了传统静态架构规划的限制,提出动态演化模型,极大提升了从自然语言需求到完整软件系统的自动化能力。对软件工程自动化、AI辅助开发具有深远影响,有助于实现端到端的自主软件生成,降低开发成本,提升开发效率。该框架也为未来智能软件设计提供了理论支撑,推动软件工程向更高的自动化和智能化迈进。

技术贡献

创新点在于引入Dual-DAG结构,明确需求与实现的分离,结合模块度指标引导架构演化。提出连续演化循环机制,有效解决静态规划的局限。结合TDD流程实现代码生成的闭环优化,确保架构与实现同步。实证验证了指标引导的结构收敛性,显著优于静态规划方法,推动了自动软件工程的前沿发展。

新颖性

首次提出基于Dual-DAG的连续结构演化框架,用模块度指标引导架构调整,突破以往静态设计的限制。区别于传统的单阶段规划方法,强调动态适应需求变化,确保架构的持续优化。这一创新为零到全代码生成提供了全新思路,具有开创性意义。

局限性

  • 当前方法对复杂依赖和大规模项目的适应性仍有限,演化过程可能耗时较长。指标设计虽有效,但在极端场景下可能引入误导。模型对需求理解依赖LLM的能力,存在一定不确定性。未来需优化演化策略,提高效率和鲁棒性。

未来方向

未来将结合强化学习优化结构演化策略,提升收敛速度。探索多模态需求理解,增强对复杂场景的适应性。还计划引入更高效的指标体系,减少演化轮次,推动自动化架构设计的实用化。

AI 总览摘要

随着大型语言模型(LLMs)在代码生成领域的突破,自动化软件开发迎来了新的机遇。然而,现有系统大多依赖预定义的仓库架构,难以应对从自然语言需求到完整软件系统的零到全代码生成场景。传统方法将架构设计视为一次性规划,忽视了架构在开发过程中的动态演化需求,导致生成的代码在模块性和可维护性方面存在不足。

本文提出Repo0框架,基于Dual-DAG结构实现连续的架构演化。该方法从自然语言需求出发,逐步通过结构动作(拆分、合并、修订)优化组件边界,利用模块度指标引导架构收敛,确保架构的合理性和可追溯性。整个流程包括需求分析、初始架构生成、结构演化循环以及验证反馈,形成闭环优化机制。实验在六个真实仓库上验证,结果显示Repo0在功能覆盖率和通过率方面均优于最先进的静态规划方法RPG,提升幅度达20%以上。

这一创新不仅突破了静态架构设计的局限,也为自动化软件工程提供了新思路。通过动态适应需求变化,持续优化架构,极大提升了软件开发的效率和质量。未来,结合强化学习和多模态需求理解,Repo0有望实现更高效、更智能的自动软件生成,推动行业迈向真正的自主开发时代。

深度分析

研究背景

软件工程领域经历了从手工设计到自动化生成的演变。早期方法如基于模板和规则的自动化工具,逐步发展到利用大模型进行代码生成。代表性工作包括CodeX、GPT-4在代码理解与生成方面的突破,以及Graph-based方法如RPG,强调架构规划的重要性。然而,这些方法大多假设架构已定,缺乏对架构动态演化的支持,难以应对复杂需求变化。近年来,强调架构连续优化的研究逐渐兴起,试图解决静态设计的局限,但仍未充分结合需求驱动的结构调整机制。

核心问题

核心问题在于如何在没有预定义架构的情况下,从自然语言需求出发,自动构建符合软件工程原则的模块化架构。传统方法多依赖一次性规划,忽视开发过程中的需求变动和架构调整,导致生成的代码难以维护和扩展。零到全代码生成面临的挑战包括需求理解、架构设计、组件划分和依赖管理的多重难题。缺乏动态架构调整机制,限制了自动化水平的提升,亟需一种能够持续优化架构的创新框架。

核心创新

本文的创新点主要体现在:1)提出Dual-DAG结构,明确需求层与实现层的分离,增强架构的可追溯性和可调节性;2)引入连续结构演化机制,通过指标引导组件边界调整,避免静态规划的僵化;3)结合模块度指标(如内聚、耦合)实现自动化架构优化,确保架构符合软件工程原则;4)在代码生成中融入验证反馈,形成闭环优化流程。这些创新共同推动了从需求到代码的自动化、动态化全过程。

方法详解

  • �� 需求分析:利用LLM提取高层需求,分解为子需求,构建需求层DAG。
  • �� 初始架构:基于需求生成初步组件,建立组件层DAG及其对齐关系。
  • �� 结构演化:通过拆分、合并、修订等动作,结合模块度指标(如内聚、耦合)调整组件边界。
  • �� 指标引导:利用内聚度、耦合度、连通性等指标评估架构合理性,驱动演化。
  • �� 结构收敛:持续演化直到满足收敛条件,确保架构稳定。
  • �� 代码生成:在验证反馈基础上,逐步实现组件,采用测试驱动开发(TDD)确保正确性。
  • �� 反馈机制:验证失败时进行局部修复,保证架构与代码一致性。

实验设计

在六个RepoCraft真实仓库上,采用GPT-5 mini和DeepSeek V3.2模型,比较Repo0与RPG、Paper2Code等基线。指标包括功能覆盖率、通过率和任务完成度。设置多轮结构演化,验证指标引导的收敛效果。通过消融实验,分析Dual-DAG和指标的重要性。评估模型在复杂依赖、多模块场景下的表现,确保结果的稳健性和泛化能力。

结果分析

实验结果显示,Repo0在六个仓库中,功能覆盖率最高提升20.08个百分点,Pass Rate最高提升29.74个百分点,显著优于RPG。多轮演化后,架构边界更合理,组件内聚增强,耦合降低。指标引导的收敛机制有效避免了过度拆分或合并,提升了代码质量和维护性。ablation分析确认Dual-DAG和指标的关键作用,验证了连续演化的优越性。

应用场景

该方法适用于自动化软件开发、代码生成工具、智能集成开发环境(IDE)等场景,尤其在需求频繁变动、复杂系统设计中表现出色。可降低开发成本,加快产品迭代速度。未来还可结合自动需求理解、多模态输入,扩展到多语言、多平台软件的自动生成,推动行业智能化升级。

局限与展望

目前方法在处理极大规模项目时仍存在效率瓶颈,演化轮次较多可能导致时间成本上升。指标设计在某些极端场景下可能误导架构调整。对LLM的依赖也带来理解偏差风险,未来需引入更鲁棒的评估机制。此外,复杂依赖关系和多团队协作场景仍需优化,确保架构演化的稳定性和适应性。

通俗解读 非专业人士也能看懂

想象你在厨房做饭,没有提前准备好所有食材和步骤,而是根据每一步的情况不断调整。比如,发现某个调料用多了,就换个调料,或者发现某个菜太多,就分成两个锅继续炒。这个过程就像Repo0在开发软件时不断调整架构,确保每个部分都合理,最后做出一盘美味的菜。它不是一开始就设计好全部菜单,而是边做边改,直到所有菜都做好,味道正宗。这种灵活调整让整个厨房操作更高效,也更符合实际需求。

简单解释 像给14岁少年讲一样

你知道做饭的时候,有时候会突然发现需要多点盐,或者发现某个菜放太多了,要换个锅继续炒?其实,做软件也差不多。以前的人会提前把所有步骤都计划好,然后一股脑儿照着做,但这样不太灵活。如果需求变了,架构也得重新设计,太麻烦了。现在的办法像是边做边调整,发现哪里不对就改一改,把菜炒得更好。Repo0就是用这种“边做边改”的方法,自动调整软件的结构,让它更符合需求,最后做出一份完美的软件菜肴。

术语表

Dual-DAG (双向有向无环图)

一种同时表示需求层和组件层关系的图结构,确保需求与实现的追溯性与可调节性。

在论文中用以描述软件架构的核心状态,支持连续演化。

模块度指标

衡量软件架构中组件的内聚性和耦合度,用于指导架构优化。

引导结构拆分、合并等动作,确保模块合理性。

结构演化

在软件开发过程中不断调整和优化架构的过程,以适应需求变化。

核心机制,确保架构持续收敛到最优状态。

TDD (测试驱动开发)

一种开发流程,先编写测试用例,再实现代码,确保功能正确。

在代码生成阶段用以验证架构合理性。

开放问题 这项研究留下的未解疑问

  • 1 如何在极大规模项目中保持演化效率?未来是否能实现完全自动化的架构收敛?
  • 2 指标设计如何适应不同软件类型和复杂度?
  • 3 多模态需求理解在架构演化中的作用和潜力。

应用场景

近期应用

自动化软件开发工具

结合Repo0实现从自然语言需求到完整代码的自动生成,降低开发门槛,提升效率。

智能集成开发环境(IDE)

在IDE中集成结构演化机制,实时优化架构设计,支持快速原型开发。

远期愿景

自主软件工程系统

实现完全自主的需求理解、架构设计和代码生成,推动软件行业向自动化迈进。

原文摘要

Large language model agents have made substantial progress in code generation, yet most existing systems assume a predefined repository architecture. This assumption does not hold in zero-to-all code generation, where an agent must construct an entire software project directly from natural-language requirements while maintaining a modular repository architecture throughout development. We present Repo0, a continuous structural evolution framework for zero-to-all code generation. Repo0 maintains an explicit architectural state instantiated as a Dual-Directed-Acyclic-Graph (Dual-DAG), consisting of a requirement-level DAG, a component-level DAG, and their alignment relation. Starting from natural-language requirements, it iteratively evolves component boundaries through structural actions guided by modularity metrics until structural convergence, after which the converged architecture guides test-driven development code generation. We evaluate Repo0 on six real-world repositories from RepoCraft using GPT-5 mini and DeepSeek V3.2. Repo0 achieves the highest Functionality Coverage and Pass Rate across all settings. Compared with RPG, the strongest repository-planning baseline, Repo0 improves Functionality Coverage by up to 20.08 percentage points and Pass Rate by up to 29.74 percentage points. Ablation and structural-evolution analyses further demonstrate the importance of the Dual-DAG architectural state, modularity-guided structural evolution, and explicit structural convergence.

cs.SE cs.AI