核心发现
方法论
本研究提出RepoZero基准,将仓库生成任务转化为仓库复制问题。通过API规范,模型需重实现目标仓库,输出行为与原始一致。验证采用输出等价的黑盒测试,结合跨语言约束和沙箱环境,确保评估的可靠性。引入Agentic Code-Test Evolution(ACE)框架,进行迭代测试生成与错误驱动优化。实验涵盖多种最先进LLMs,发现最优模型成功率仅30%-55%,揭示现有模型在复杂仓库级任务中的不足。
关键结果
- 在Py2JS和C2Rust任务中,最强模型Claude-4.6-Sonnet的成功率最高,分别达到了55%和54%。多模型平均成功率在30%-55%之间,显示出明显差距。引入ACE后,成功率提升约15%-20%,验证了测试驱动的迭代优化效果。模型在不同难度和跨语言任务中的表现差异明显,反映出复杂性对模型能力的挑战。
- 实验显示,模型在生成完整仓库时,输出行为与源仓库高度一致,但在代码正确性和鲁棒性方面仍存在显著差距。验证结果表明,纯依赖输出匹配难以捕捉语义差异,黑盒验证的引入极大提高了评估的严谨性。
- 通过对不同模型和框架的对比,发现模型在长上下文保持和多模块协调方面表现不足,错误类型主要集中在环境配置、依赖管理和复杂交互逻辑上。ACE框架的多轮测试和错误反馈机制,有效缓解了部分问题,提升了整体成功率。
研究意义
本研究填补了端到端仓库生成评估的空白,提供了可自动化、可扩展的验证体系。通过严格的输出等价验证,减少了人为偏差,增强了评估的可复现性。揭示了当前LLMs在复杂软件工程任务中的局限,为未来模型优化和自动化软件开发提供了重要基准。该工作推动了从单文件代码到完整仓库级自动生成的研究进程,具有深远的学术和工业意义。
技术贡献
提出RepoZero作为首个可自动验证的仓库生成基准,结合API规范、跨语言约束和沙箱环境,确保评估的严谨性。引入基于测试生成的自我验证机制,结合ACE框架实现多轮迭代优化,显著提升仓库级任务的成功率。实验验证了模型在复杂任务中的能力边界,为端到端代码生成提供了新的技术路径。该方法突破了传统patch-based评估的局限,推动了自动化软件工程的研究前沿。
新颖性
首次将仓库生成任务转化为行为匹配的黑盒验证,利用API规范和跨语言约束实现全自动、可扩展的评估体系。引入多轮测试生成与错误驱动优化的ACE框架,显著改善模型在复杂仓库任务中的表现。该工作突破了现有基准对大规模自动化验证的限制,提供了全新的评估思路和技术方案。
局限性
- 当前模型成功率仍低于工业需求,特别在多模块依赖和复杂逻辑方面表现不足,反映出模型在长上下文理解和跨模块协调上的瓶颈。
- 评估依赖于API规范和测试用例的质量,若测试设计不充分或API定义不完整,可能影响结果的代表性和可靠性。
- 实验环境主要集中在特定语言和任务类型,泛化到其他语言或更复杂场景仍需验证。
未来方向
未来将结合更强的上下文管理和知识记忆机制,提升模型在长序列和多模块场景中的表现。探索多模态信息融合,增强模型理解复杂API和架构的能力。同时,扩大数据集规模,涵盖更多语言和应用场景,推动端到端仓库自动生成的实际应用落地。
AI 总览摘要
在软件工程领域,自动化代码生成已成为研究热点,但端到端仓库级生成的评估仍面临巨大挑战。传统基准多依赖patch编辑或人类判定,缺乏可验证性和大规模可扩展性。本文提出RepoZero,首个基于执行验证的仓库生成基准,将任务转化为仓库复制问题,模型仅需根据API规范重实现仓库行为。通过严格的黑盒测试和跨语言约束,有效避免数据泄露和捷径方案。引入ACE框架,实现多轮测试生成和错误驱动优化,显著提升成功率。实验显示,最优模型成功率仅在30%-55%,揭示当前技术的局限性。该工作为自动化软件开发提供了新的评估工具和技术路径,推动了从片段到完整仓库的自动生成研究。未来,结合更强的上下文理解和多模态信息,将进一步缩小模型与实际需求的差距。
深度分析
研究背景
随着大规模预训练模型(如GPT、Codex)在代码生成中的突破,研究逐渐转向仓库级自动化开发。早期工作如HumanEval、CodeX等主要关注单文件代码片段,难以反映真实软件工程复杂度。近年来,SWE-bench、FEA-bench等引入了维护和特性实现任务,推动了仓库级评估体系的发展。然而,现有基准多依赖patch修复或人工判定,缺乏端到端、可验证的自动化评估方法。数据泄露和样本规模限制也成为瓶颈,限制了模型的真实能力展示。
核心问题
核心问题在于如何客观、全面评估模型从零构建完整仓库的能力。现有方法多依赖人工或半自动判定,存在偏差和不可复现性。自动验证缺失导致模型能力难以量化,尤其在复杂依赖、多模块交互和长上下文场景中表现不足。此外,数据泄露使得模型可能通过记忆作弊,难以体现真正的推理能力。这些问题严重制约了自动化软件工程的研究进展。
核心创新
本研究提出RepoZero基准,创新点包括:1)将仓库生成转化为行为复制任务,通过API规范和测试用例验证模型输出;2)引入跨语言约束,减少数据泄露风险,确保模型真正理解任务;3)采用沙箱环境,保证评估的安全性和一致性;4)设计ACE框架,实现多轮测试生成和错误反馈,显著提升模型成功率。这些创新突破了传统patch评估的局限,为端到端仓库生成提供了全新的技术路径。
方法详解
- �� 任务定义:模型根据API规范,重实现目标仓库,输出行为与源仓库一致。• 数据准备:手工挑选开源仓库,利用LLM生成测试文件和测试用例,过滤确保稳定性。• 评估流程:在隔离环境中运行模型生成的仓库,执行测试用例,比较输出。• 约束设计:禁止外部依赖,跨语言实现,确保模型理解和推理能力。• ACE框架:多轮测试-修正循环,利用模型生成的测试反馈优化仓库。• 可靠性保障:沙箱环境、权限控制、环境一致性确保评估公正。• 规模扩展:自动化流程支持大规模样本和多语言任务。
实验设计
采用Py2JS和C2Rust两个任务集,涵盖不同难度和语言转换。使用多模型(如Kimi-K2.5、GLM-5、DeepSeek-V3.2)进行评估,指标包括成功率(输出行为一致)和成功比例。实验设计包括多轮测试-修正,比较不同模型和框架的表现,分析模型在长上下文和多模块场景中的能力。还通过引入ACE框架,验证多轮迭代对成功率的提升效果。环境配置采用Docker,确保环境一致性,测试用例由LLM自动生成和过滤。
结果分析
最优模型Claude-4.6-Sonnet在成功率方面达55%,整体模型平均在30%-55%之间。引入ACE后,成功率提升15%-20%。不同难度和跨语言任务中,模型表现差异明显,反映任务复杂性对模型能力的挑战。实验还揭示,模型在生成完整仓库时,行为与源仓库高度一致,但在代码正确性和鲁棒性方面仍有差距。验证机制的引入极大提高了评估的严谨性,显示出模型在复杂软件工程任务中的潜力与不足。
应用场景
该基准适用于自动化软件开发、代码补全、软件维护和迁移等场景。模型可在API定义明确的情况下,自动生成完整仓库,减少人工编码成本。工业界可利用此技术实现快速原型开发和代码迁移,提升开发效率。未来,结合持续集成和自动测试,将推动端到端自动化软件工程的落地。
局限与展望
模型在多模块依赖和复杂逻辑处理方面仍不足,长上下文理解和跨模块协调能力有待提升。评估依赖于API和测试用例的设计,若设计不合理,可能影响结果代表性。环境配置和依赖管理仍存在挑战,泛化到更多语言和场景需要进一步验证。未来需加强模型的知识记忆和推理能力,提升鲁棒性和泛化能力。
通俗解读 非专业人士也能看懂
想象你在一家大厨房里,要做一道复杂的菜。每次你只知道菜的配料表(API规范),但不知道具体怎么做。你需要根据这些配料,自己设计出完整的做法,把菜做得和原来一样好吃。厨师(模型)要反复试验,尝试不同的做法,然后用味道(测试)来判断是否成功。如果味道不对,就要改进配方。这就像模型在生成代码一样,要不断试错,直到做出和原始菜一样的菜。这个过程需要耐心、智慧和不断调整,才能做出完美的菜肴。
简单解释 像给14岁少年讲一样
你知道做饭吗?假设你只有菜谱(API规范),但没有具体的做法。你得自己想办法,把菜做得和原来一样好吃。你试试不同的步骤,尝一尝味道,如果不满意,就再改一改。这就像模型写代码一样,要不断试错,直到代码能跑得和原版一样快、一样好。这个过程很难,因为你要记住所有步骤,还要确保每次都做对。通过不断试验和改进,你最终可以做出一模一样的菜。这就是让电脑自己写完整软件的挑战,也是这篇论文的核心思想。
原文摘要
Large Language Models (LLMs) have recently shown remarkable progress in code generation, yet their ability to construct complete software repositories from scratch remains poorly understood. A fundamental bottleneck is the lack of verifiable and scalable evaluation: existing benchmarks either focus on patch-based editing or rely on human or LLM-based judgments, which introduce bias and limit reproducibility. In this work, we present RepoZero, the first benchmark that enables fully automated, execution-based verification of repository-level generation from scratch. Our key idea is to reformulate generation as repository reproduction: given only API specifications, an agent must re-implement an entire repository such that its behavior matches the original implementation. This design allows for strict black-box validation via output equivalence, while naturally supporting large-scale construction by reusing existing open-source repositories. To further mitigate data leakage and shortcut solutions, we introduce cross-language constraints and a sandboxed evaluation protocol. Building on this benchmark, we propose an Agentic Code-Test Evolution (ACE) framework that performs iterative test generation and error-driven refinement, enabling effective test-time scaling for repository-level synthesis. Extensive experiments across multiple state-of-the-art LLMs and agent frameworks reveal that even the strongest LLM agents achieve only limited pass rates (30\% - 55\%), exposing a substantial gap between current capabilities and real-world software development requirements. Our results establish RepoZero as a challenging, scalable, and reliable testbed for end-to-end code generation, and highlight self-verification via test generation as a critical direction for advancing LLM-based coding agents.