NL2Repo-Bench: Towards Long-Horizon Repository Generation Evaluation of Coding Agents
NL2Repo-Bench通过长远目标任务评估编码智能体的完整软件仓库生成能力,平均测试通过率不足40%。
核心发现
方法论
本研究提出NL2Repo-Bench基准,采用由自然语言需求文档引导、无预设结构的全流程仓库生成任务。评估流程包括目标仓库的选择、任务描述的反向工程、环境构建、以及严格的执行验证。任务从真实开源库中筛选,确保复杂度、成熟度和可验证性。通过AST分析提取API信息,构建详细的任务规范。采用Docker环境保证评估的可重复性,利用pytest测试验证生成仓库的功能正确性。对多种最先进模型(如DeepSeek、Claude、GPT-5)进行系统测试,分析其在长远规划、依赖管理、跨文件一致性等方面的表现。结果显示,即使最优模型也仅达40%的平均测试通过率,且极少能完整重建仓库。深入分析揭示模型在提前终止、全局一致性丧失、依赖脆弱性和长序列规划方面存在根本性缺陷。
关键结果
- 在104个多样化任务中,最优模型平均测试通过率仅为40%,且完整正确重建仓库的比例极低,显示长远仓库生成仍是悬而未决的难题。
- 模型在不同任务难度(易、中、难)中的表现差异显著,硬任务的成功率低于20%,反映长序规划的挑战性。
- 详细的错误分析发现,模型常在中途过早终止,缺乏全局架构的持续一致性,依赖关系处理脆弱,且难以在数百次交互中保持计划的连续执行。
研究意义
该研究为自动软件工程提供了全新的评估视角,突破了以往仅关注短期代码片段或修复任务的局限。NL2Repo-Bench强调长远规划与全局一致性,推动智能体从局部优化向全局系统构建转变。这不仅对推动自主编程技术的突破具有重要意义,也为未来实现更复杂的自动化软件开发奠定基础。通过严格的验证机制,确保评估结果的客观性和可复现性,为行业提供了可靠的性能基准。长远来看,该工作有望引领智能软件开发向更高层次迈进,缩短软件工程的自动化路径,推动AI在工业界的广泛应用。
技术贡献
本研究的核心技术贡献在于提出面向长远仓库构建的评估框架,建立了从需求到完整仓库的端到端验证流程。引入基于AST的API反向工程技术,确保任务规范的全面性和准确性。设计了严格的环境构建和验证流程,确保每个任务的可重复性。通过系统性分析模型在长序列中的失败模式,揭示了模型在全局规划、依赖管理和交互连续性方面的根本性短板。实验中采用多模型、多框架、多任务的评估体系,丰富了对现有模型能力的理解。该工作不仅提供了一个具有挑战性的长远任务基准,也为未来模型的改进提供了诊断工具和设计指南。
新颖性
这是首个专门针对从自然语言需求到完整、可安装Python仓库的长远生成任务的评估框架。不同于现有的短期代码补全或修复基准,NL2Repo-Bench强调全局架构设计、依赖管理和跨文件一致性,具有高度的复杂性和真实性。其核心创新在于引入严格的执行验证机制,确保生成仓库的功能正确性,避免主观评判。通过结合AST分析和环境隔离技术,确保任务规范的完整性和评估的公平性。这一工作填补了仓库级别长远规划评估的空白,为自动软件工程提供了新的研究方向。
局限性
- 模型在长序列交互中容易提前终止,缺乏持续的全局规划能力,导致生成的仓库不完整或结构不合理。
- 依赖关系管理脆弱,模型难以在多文件、多依赖环境中保持一致性,容易出现依赖缺失或版本冲突。
- 长时间交互中的计划执行和验证能力不足,导致模型难以在数百步骤中保持目标一致性和逻辑连贯性。
未来方向
未来应加强模型的全局规划能力,提升长序列交互的持续性和一致性。引入自我验证和修正机制,增强模型在复杂任务中的鲁棒性。探索多模态信息融合和知识图谱辅助,丰富模型的推理能力。此外,扩展任务类型和难度,推动模型在更大规模、更复杂的软件系统中的应用。最终目标是实现自主、持续、全局一致的软件仓库生成,缩短从需求到部署的周期,推动工业界的自动化软件开发革命。
AI 总览摘要
在当今软件开发逐渐迈向自动化的背景下,自动编码智能体的能力成为研究的焦点。近年来,随着大规模语言模型(如GPT系列、Claude、CodeLlama)的快速发展,自动代码生成已从单一函数补全扩展到复杂的仓库级系统构建。然而,现有的评估体系大多局限于短期、局部的代码片段,难以衡量智能体在长远规划、全局架构设计和跨文件依赖管理方面的真实能力。
NL2Repo-Bench的提出,正是为了填补这一评估空白。该基准从真实开源项目中筛选出具有代表性的仓库,确保其复杂性、成熟度和可验证性。通过反向工程,将仓库的实现细节转化为详细的自然语言规范,确保任务的完整性和准确性。评估流程采用严格的环境隔离和执行验证机制,确保每个生成的仓库都能通过原始pytest测试,反映真实软件行为。
在实验中,作者测试了多种最先进的模型,包括DeepSeek、Claude、GPT-5等,结果显示即使最优模型的平均测试通过率也仅在40%左右,远未达到商业应用的要求。深入分析发现,模型在长序列交互中常出现提前终止、全局架构丧失、依赖关系脆弱等问题,揭示了长远规划的核心难点。该研究强调,未来的突破需要在模型的全局规划、持续验证和跨文件一致性方面取得实质性进展。
NL2Repo-Bench的建立,为自动软件工程提供了一个具有挑战性和权威性的评估平台。它不仅推动了模型在长远规划和系统构建方面的研究,也为工业界实现端到端自动化软件开发提供了理论基础和技术指南。未来,随着模型能力的不断提升,自动化软件仓库生成有望实现从实验室走向实际应用,极大地缩短软件开发周期,推动软件产业的智能化升级。
深度分析
研究背景
软件工程的自动化已成为行业发展的重要方向。早期的自动代码补全工具如CodeX、GPT-3在局部函数层面取得了显著成果,但难以应对完整系统的复杂性。近年来,研究逐步转向仓库级别的自动生成,代表工作包括RepoBench、PaperBench等,主要关注短期修复或部分补全任务,缺乏对长远规划和全局一致性的评估。随着大模型的崛起,自动化构建完整软件仓库成为可能,但缺乏系统性、客观的评估标准,限制了技术的突破。NL2Repo-Bench的出现,正是为了弥补这一空白,提供一个从需求到完整仓库的端到端评估平台,推动行业迈向真正的自主软件工程。
核心问题
当前自动编码模型在长远仓库构建中的表现仍然有限。主要问题包括模型难以维持全局架构的一致性、跨文件依赖关系处理脆弱、长时间交互中的计划执行不连续,以及缺乏有效的自我验证机制。这些问题导致模型难以从零开始构建复杂系统,尤其是在没有预设结构或签名的情况下。解决这些瓶颈对于实现真正的自主软件开发具有关键意义,但现有模型在长序列规划和全局一致性方面的能力尚未达到工业应用的水平。
核心创新
本研究的核心创新在于提出了面向长远仓库生成的评估框架,设计了严格的任务定义和验证流程。引入AST分析技术,确保任务规范的全面性和准确性。采用环境隔离和自动验证机制,确保评估的客观性和可复现性。通过系统性分析模型在长序列中的失败模式,提出了针对性改进建议。这一框架突破了以往只关注短期代码片段的限制,为自动软件工程提供了全新的评估视角和技术路径。
方法详解
- �� 任务筛选:从GitHub筛选符合复杂度、成熟度和可验证性标准的开源仓库。
- �� 反向工程:利用AST分析提取API信息,构建详细的任务规范,包括项目描述、支持材料、API指南和实现节点。
- �� 环境构建:基于Docker,严格按照依赖配置,确保环境一致性。通过多轮调试,确保仓库能在环境中成功运行。
- �� 任务验证:结合人工专家审核和静态覆盖分析,确保规范完整性。用SOTA模型进行预试,验证任务可行性。
- �� 生成与验证:模型在空白环境中从需求文档出发,自动生成仓库。生成后在隔离环境中执行pytest,验证功能正确性。
- �� 失败分析:对失败案例进行系统分析,识别模型在长序规划中的瓶颈,提出改进建议。
实验设计
实验采用104个任务,涵盖Web开发、测试、工具库、ML、数据处理等多个类别。模型包括DeepSeek、Claude、GPT-5等,使用OpenHands框架进行评估。每个任务以单一需求文档启动,模型自主完成仓库构建,无人为干预。评估指标为pytest测试通过率,反映功能的真实性和完整性。通过多轮试验,分析模型在不同难度和类别中的表现差异,识别长序列规划的关键瓶颈。结果显示,最优模型平均测试通过率不足40%,且难以完整重建仓库。
结果分析
模型在104个任务中的平均测试通过率仅为40%,远低于理想水平。不同难度任务表现差异显著,硬任务成功率低于20%。详细分析发现,模型常在中途提前终止,缺乏全局架构的持续一致性,依赖关系处理不稳定。模型在长序列交互中难以保持计划的连续性,导致仓库结构不合理或缺失关键依赖。这些结果凸显长远规划和全局一致性是当前模型的主要短板,也是未来研究的重点方向。
应用场景
该基准可用于评估未来更强大模型在自动软件工程中的实际应用潜力。企业可以利用NL2Repo-Bench测试自动化构建工具的能力,加速软件开发流程。教育机构也可借助此平台培养学生的系统设计与长远规划能力。长远来看,自动仓库生成将推动软件产业的智能化升级,减少人工成本,提高开发效率,尤其在快速迭代和持续集成场景中具有巨大潜力。
局限与展望
模型在长序列交互中表现仍不稳定,容易提前终止或偏离目标。依赖关系管理不够鲁棒,难以应对复杂依赖环境。长时间交互中的计划执行和验证能力不足,限制了仓库的完整性和一致性。未来需要引入更强的全局规划机制和自我验证体系,以提升模型的持续性和可靠性。此外,当前评估主要集中在功能正确性,尚未充分考虑代码质量、可维护性等方面,这也是未来研究的方向。
通俗解读 非专业人士也能看懂
想象你在准备一份大餐,从零开始设计菜单、采购食材、准备厨房、烹饪每一道菜。每一步都需要考虑整体搭配、食材依赖和时间安排。现在,假设你没有提前准备任何菜谱,只凭一份口头描述,自己设计每个菜的做法,最后还要确保所有菜都能端上桌、味道正宗。这就像让一个智能机器人从一份需求说明出发,自己规划整个厨房操作流程,采购食材,编排菜肴,最终呈现一份完整的菜单。这个过程非常复杂,因为每一步都要考虑前后关系和整体效果,而目前的机器人还很难做到这一点,常常会在中途放弃或搞错依赖关系。这个研究就是在测试这些机器人能否像厨师一样,从无到有,完成一份完整的菜单,且每道菜都能成功端上桌。它通过严格的验证,确保每份菜单都能被真正做出来、吃得好。虽然还存在很多挑战,但这为未来自动化厨房、自动化餐厅铺平了道路。
简单解释 像给14岁少年讲一样
你知道吗?在学校里,如果你要自己做一个科学项目,比如建一个小型机器人,你需要先想好它要做什么,然后买材料、组装零件,还要确保每个部分都能正常工作,最后让它完成任务。这听起来很复杂,对吧?其实,科学家们也在试图让电脑像你一样,自己设计、搭建一个完整的软件系统。比如,他们希望电脑能根据一份简单的说明,自己规划出整个程序的结构,买对依赖包,写出每个文件的内容,最后让整个程序都能跑起来。这就像你自己设计一份完整的机器人,从零开始,自己准备所有零件,组装好,然后让它完成任务。这个过程非常难,因为电脑需要记住所有的步骤,确保每个部分都能配合得当,还要在长时间的操作中不出错。这个研究就是在测试,能不能让电脑像你一样,自己从一份说明出发,完整地建造出一个软件仓库。虽然还很难,但科学家们相信,随着技术的进步,未来电脑可以自己“设计”出复杂的软件,就像你自己做科学项目一样有趣!
原文摘要
Recent advances in coding agents suggest rapid progress toward autonomous software development, yet existing benchmarks fail to rigorously evaluate the long-horizon capabilities required to build complete software systems. Most prior evaluations focus on localized code generation, scaffolded completion, or short-term repair tasks, leaving open the question of whether agents can sustain coherent reasoning, planning, and execution over the extended horizons demanded by real-world repository construction. To address this gap, we present NL2Repo Bench, a benchmark explicitly designed to evaluate the long-horizon repository generation ability of coding agents. Given only a single natural-language requirements document and an empty workspace, agents must autonomously design the architecture, manage dependencies, implement multi-module logic, and produce a fully installable Python library. Our experiments across state-of-the-art open- and closed-source models reveal that long-horizon repository generation remains largely unsolved: even the strongest agents achieve below 40% average test pass rates and rarely complete an entire repository correctly. Detailed analysis uncovers fundamental long-horizon failure modes, including premature termination, loss of global coherence, fragile cross-file dependencies, and inadequate planning over hundreds of interaction steps. NL2Repo Bench establishes a rigorous, verifiable testbed for measuring sustained agentic competence and highlights long-horizon reasoning as a central bottleneck for the next generation of autonomous coding agents.
参考文献 (20)
OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models
Siming Huang, Tianhao Cheng, J. Liu 等
From Code Foundation Models to Agents and Applications: A Practical Guide to Code Intelligence
Jian Yang, Wei Zhang, Shark Liu 等
System-on-card
C. Nieland
Cloud
M. Harrison
Evaluating Large Language Models Trained on Code
Mark Chen, Jerry Tworek, Heewoo Jun 等
Program Synthesis with Large Language Models
Jacob Austin, Augustus Odena, Maxwell Nye 等
RepoBench: Benchmarking Repository-Level Code Auto-Completion Systems
Tianyang Liu, Canwen Xu, Julian McAuley
ClassEval: A Manually-Crafted Benchmark for Evaluating LLMs on Class-level Code Generation
Xueying Du, Mingwei Liu, Kaixin Wang 等
Code Llama: Open Foundation Models for Code
Baptiste Rozière, Jonas Gehring, Fabian Gloeckle 等
SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
Carlos E. Jimenez, John Yang, Alexander Wettig 等
SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
John Yang, Carlos E. Jimenez, Alexander Wettig 等
DDK: Distilling Domain Knowledge for Efficient Large Language Models
Jiaheng Liu, Chenchen Zhang, Jinyang Guo 等
OpenHands: An Open Platform for AI Software Developers as Generalist Agents
Xingyao Wang, Boxuan Li, Yufan Song 等
M2rc-Eval: Massively Multilingual Repository-level Code Completion Evaluation
Jiaheng Liu, Ken Deng, Congnan Liu 等
DeepSeek-V3.2: Pushing the Frontier of Open Large Language Models
DeepSeek-AI, A. Liu, Aoxue Mei 等
SWE-Lancer: Can Frontier LLMs Earn $1 Million from Real-World Freelance Software Engineering?
Samuel Miserendino, Michele Wang, Tejal Patwardhan 等
CodeCriticBench: A Holistic Code Critique Benchmark for Large Language Models
Alex L. Zhang, M. Dong, Jiaheng Liu 等
PaperBench: Evaluating AI's Ability to Replicate AI Research
Giulio Starace, Oliver Jaffe, Dane Sherburn 等
Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving
Daoguang Zan, Zhirong Huang, Wei Liu 等
被引用 (20)
DeNovoSWE: Scaling Long-Horizon Environments for Generating Entire Repositories from Scratch
CodeTeam: An LLM-Powered Multi-Agent Framework for Repository-Level Code Generation
Evaluating LLM-Based 0-to-1 Software Generation in End-to-End CLI Tool Scenarios
SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks
RoadmapBench: Evaluating Long-Horizon Agentic Software Development Across Version Upgrades
SWE-Chain: Benchmarking Coding Agents on Chained Release-Level Package Upgrades
SWE-Cycle: Benchmarking Code Agents across the Complete Issue Resolution Cycle
RepoZero: Can LLMs Generate a Code Repository from Scratch?
Constraint Decay: The Fragility of LLM Agents in Backend Code Generation
ProgramBench: Can Language Models Rebuild Programs From Scratch?
"What Did It Actually Do?": Understanding Risk Awareness and Traceability for Computer-Use Agents
SpecBench: Measuring Reward Hacking in Long-Horizon Coding Agents
SWE-Milestone: Evaluating AI Agents on Continuous Software Evolution
Specification-Driven Generation and Evaluation of Discrete-Event World Models via the DEVS Formalism
BeyondSWE: Can Current Code Agent Survive Beyond Single-Repo Bug Fixing?
SWE-Hub: A Unified Production System for Scalable, Executable Software Engineering Tasks
Discordance Between Textual Reasoning and Visual Interpretation in Large Language Models for Low Back Pain: Cross-Sectional Quantitative Evaluation and Exploratory Multimodal Stress Test
Immersion in the GitHub Universe: Scaling Coding Agents to Mastery
ProjDevBench: Benchmarking AI Coding Agents on End-to-End Project Development
RepoGenesis: Benchmarking End-to-End Microservice Generation from Readme to Repository