论文

RepoZero:LLM 可以从头开始生成代码存储库吗?

RepoZero: Can LLMs Generate a Code Repository from Scratch?

模型评测基准与评测资源

摘要

大语言模型 (LLM) 最近在代码生成方面取得了显着进展,但人们对它们从头开始构建完整软件存储库的能力仍然知之甚少。一个根本瓶颈是缺乏可验证和可扩展的评估:现有基准要么侧重于基于补丁的编辑,要么依赖于人类或基于 LLM 的判断,这会引入偏差并限制可重复性。在这项工作中,我们推出了 RepoZero,这是第一个基准测试,可以从头开始对存储库级生成进行完全自动化、基于执行的验证。我们的关键思想是将生成重新表述为存储库复制:仅给定 API 规范,代理必须重新实现整个存储库,使其行为与原始实现相匹配。这种设计允许通过输出等效性进行严格的黑盒验证,同时通过重用现有的开源存储库自然地支持大规模构建。为了进一步减少数据泄漏和快捷解决方案,我们引入了跨语言约束和沙盒评估协议。在此基准的基础上,我们提出了一个代理代码测试进化(ACE)框架,该框架执行迭代测试生成和错误驱动的细化,从而实现存储库级综合的有效测试时间扩展。跨多个最先进的 LLM 和代理框架的大量实验表明,即使是最强大的 LLM 代理也只能实现有限的通过率 (30\% - 55\%),暴露出当前能力与实际软件开发要求之间的巨大差距。我们的结果将 RepoZero 确立为一个具有挑战性、可扩展且可靠的端到端代码生成测试平台,并强调通过测试生成进行自我验证是推进基于 LLM 的 编码智能体 的关键方向。