LoopsBench: From Harness Engineering to Loop Engineering in Coding Agent Evaluation
提出LOOPSBENCH长远任务基准,评估编码代理的循环工程能力,解决长 horizon 任务中的持续执行问题。
核心发现
方法论
LOOPSBENCH通过依赖有向无环图(DAG)结构,将任务划分为可测试的开发单元,利用流感知运行时逐步释放测试,保持已完成节点作为回归义务。采用真实源数据,涵盖8种编程语言和9个领域,构建112个长 horizon 任务,结合源证据和依赖关系,评估不同模型和循环实现的性能。通过计划、实现和测试的轨迹分析,揭示模型在长 horizon 任务中的局限性,重点关注任务依赖维护、状态连续性和回归压力。
关键结果
- 最强配置(Opus-4.7结合Claude Code和外部延续)仅解决25%的任务,显示长 horizon 任务的挑战依然巨大。
- 大部分模型未能完整恢复源依赖DAG,测试覆盖不足,补丁长度偏长,回归事件频繁出现。
- 不同循环实现对任务依赖关系的维护存在差异,闭源实现更接近源依赖结构,而开源实现多表现为线性流程,整体进展受限。
- 模型在长 horizon 任务中的持续性和计划维护能力仍需提升,未来需改进状态追踪和回归管理机制。
研究意义
该研究首次提出面向长 horizon 任务的循环工程评估基准,突破了传统静态或终端任务的限制,为编码代理在复杂、多阶段软件开发中的持续执行提供了量化工具。这不仅推动了模型在持续集成、自动化开发等实际场景中的应用,也为未来长 horizon 任务的系统设计提供了理论基础。通过详细分析模型在任务依赖维护、状态连续性和回归控制中的表现,揭示了当前技术的瓶颈和改进方向,有助于推动长 horizon 软件工程的智能化发展。
技术贡献
本研究提出了依赖DAG结构的长 horizon任务基准LOOPSBENCH,结合流感知运行时和轨迹分析,创新性地实现了任务中中间开发单元的可测试性和依赖关系的动态维护。引入源证据驱动的任务构建流程,确保任务的真实性和多样性。评估了多模型、多循环实现的性能差异,揭示了模型在长 horizon 任务中的局限性,为未来模型设计提供了量化指标和改进方向。此方法突破了传统静态终端任务评估的局限,为编码代理的持续长 horizon 任务能力提供了系统性评估工具。
新颖性
LOOPSBENCH首次将依赖DAG与流感知运行时结合,系统性评估编码代理在长 horizon 任务中的持续执行能力。不同于以往只关注终端成功率的基准,本文强调中间义务的维护和回归管理,提供了任务依赖的动态追踪和轨迹分析。这一创新使得评估更贴近真实软件开发场景,填补了长 horizon 任务评估的空白,具有重要的理论和实践意义。
局限性
- 当前模型解决率仍低于25%,显示在复杂依赖和状态管理方面存在明显不足,未来需增强模型的全局规划和状态追踪能力。
- 测试覆盖和补丁长度偏长,反映出模型在任务细粒度管理和回归控制上的局限,可能影响实际应用的效率和可靠性。
- 评估主要基于静态依赖DAG,未充分考虑动态变化的依赖关系和多任务交互,未来需引入动态依赖建模。
未来方向
未来将重点提升模型在长 horizon 任务中的持续性和依赖维护能力,探索更高效的状态追踪和回归管理机制。同时,结合强化学习和自适应规划技术,优化任务调度和资源分配,推动编码代理在复杂软件开发中的自主性和鲁棒性。还将扩展任务类型和领域,增强基准的多样性和代表性,为工业界提供更实用的评估工具。
AI 总览摘要
随着软件开发复杂度不断提升,传统的编码代理评估方法逐渐暴露出在长 horizon 任务中的局限性。现有基准多关注单一任务或终态成功,难以衡量模型在多阶段、多依赖环境中的持续执行能力。为此,本文提出LOOPSBENCH,一种基于依赖DAG结构的长 horizon 任务基准,结合流感知运行时和轨迹分析,系统评估模型在维护任务依赖、状态连续性和回归管理方面的表现。
LOOPSBENCH通过真实源数据构建任务,涵盖8种编程语言和9个领域,包含112个任务,展现了复杂多样的开发场景。每个任务由多个可测试的开发单元组成,依赖关系由源证据驱动,确保真实性和多样性。评估过程中,模型需在保持已完成任务状态的同时,逐步推进后续开发,测试和补丁长度、依赖关系恢复等指标成为关键评估参数。
实验结果显示,最优配置(Opus-4.7结合Claude Code和外部延续)仅解决25%的任务,体现出长 horizon 任务的巨大挑战。模型在任务依赖维护、状态追踪和回归控制方面仍存在明显不足,未来需引入更强的全局规划和动态依赖建模技术。该基准的提出,为编码代理在复杂软件开发中的持续执行提供了量化工具,推动了长 horizon 软件工程的智能化发展,也为未来研究指明了方向。
深度分析
研究背景
软件工程逐步向自动化和智能化转型,编码代理成为关键技术之一。早期工作如Codex、GPT系列主要关注单一任务或终态成功,缺乏对多阶段、多依赖环境的系统评估。SWE-bench等静态基准虽扩展了任务范围,但仍未充分揭示模型在持续执行中的中间义务维护和回归压力。近年来,长 horizon 任务成为研究热点,旨在模拟真实软件开发中的多阶段协作和状态管理,但缺乏统一的评估平台。本文基于此背景,提出LOOPSBENCH,旨在填补长 horizon 任务评估的空白,推动编码代理在复杂环境中的应用。
核心问题
现有评估方法难以衡量模型在长 horizon 任务中的持续性和依赖维护能力。传统静态终端任务无法反映中间开发义务的保持与回归压力,导致模型在实际软件开发中表现不足。长 horizon 任务涉及多阶段、多依赖关系,模型需在状态连续、回归控制和任务调度中表现出色,但现有技术缺乏系统性评估工具。这限制了模型在复杂软件工程中的应用潜力,也阻碍了长 horizon 任务的深入研究。
核心创新
本文创新点在于:1)提出基于依赖DAG的长 horizon任务结构,明确中间开发单元和依赖关系;2)结合流感知运行时,动态控制测试释放和状态追踪,提升持续执行能力;3)引入源证据驱动的任务构建流程,确保任务真实性和多样性;4)通过轨迹分析揭示模型在依赖维护、状态连续和回归管理中的表现差异。这些创新使得评估更贴近实际软件开发场景,为未来模型优化提供了量化指标。
方法详解
- �� 任务采集:从真实源中收集112个任务,涵盖不同领域和语言。
- �� 预处理:将源代码、提交历史和论文资料转化为原子开发单元,建立依赖DAG。
- �� 任务筛选:基于时间跨度和规模阈值筛选出符合长 horizon要求的任务。
- �� 关系恢复:利用源证据(如代码调用、导入关系)构建依赖边,确保任务的真实性。
- �� 任务构建:在每个任务中,定义开发单元、依赖关系和测试环境,确保可测试性。
- �� 运行时控制:采用流感知机制,逐层释放测试,保持已完成节点作为回归义务,记录轨迹。
- �� 评估指标:包括依赖关系恢复度、补丁长度、测试覆盖和回归事件频率,全面衡量模型表现。
实验设计
实验采用真实源数据,涵盖学术、开源和工业任务,评估不同模型(如Claude、GPT-5.5、Codex)在长 horizon 任务中的表现。指标包括任务解决率、依赖恢复度、补丁长度、测试覆盖率和回归事件。通过对比不同循环实现(开源与闭源)和模型配置,分析模型在维护依赖、状态连续和回归控制上的差异。实验还包括 ablation 研究,验证流感知机制和源证据的重要性。结果显示,最优配置解决率仅达25%,强调长 horizon 任务的挑战性。
结果分析
模型在长 horizon 任务中的解决率明显偏低,最高仅达25%。依赖关系恢复不足,补丁偏长,测试覆盖有限,回归事件频繁。闭源实现更接近源依赖结构,开源实现多表现为线性流程。模型在状态连续性和回归管理方面表现不足,未来需引入更复杂的全局规划和动态依赖建模。实验验证了流感知机制在提升持续性方面的作用,提供了明确的改进方向。
应用场景
该基准可用于评估自动化软件开发工具、持续集成系统和AI辅助编程平台的长 horizon 任务能力。适用于工业界的持续集成、自动化测试和代码维护场景,为模型优化提供量化指标。未来,结合该基准,研发更智能的编码代理,有望实现更高效、可靠的自动化软件开发流程。
局限与展望
当前模型解决率仍低,显示在复杂依赖和状态管理方面存在明显不足。测试覆盖不足,补丁偏长,影响实际应用效率。评估基于静态依赖DAG,未充分考虑动态变化和多任务交互。未来需引入动态依赖建模和更高效的状态追踪机制,以提升整体性能。
通俗解读 非专业人士也能看懂
想象你在经营一家大型工厂,工厂里有许多不同的车间,每个车间负责生产不同的零件。这些零件需要按照一定的顺序组装,才能变成完整的产品。工厂的管理系统就像一个大脑,要确保每个车间在正确的时间开始工作,等待前面车间完成任务。现在,如果工厂的管理系统只关注最后的成品,忽略了中间的零件和流程,就可能出现问题。LOOPSBENCH就像是给这个工厂设计了一套智能管理工具,它能追踪每个车间的工作进度,确保每个零件都按顺序生产,避免遗漏或重复。这样,工厂才能高效、连续地生产出复杂的产品,而不是只关注最终的成品。这种方法帮助我们理解复杂任务的每一步,确保整个过程顺利进行。
简单解释 像给14岁少年讲一样
想象你在玩一个超级复杂的拼图游戏,你需要把很多小块拼在一起,才能拼出完整的图片。每一块都依赖前面某几块,不能乱拼。现在,如果你只关心最后拼好的图片,可能会忽略一些重要的步骤,比如某些块必须先拼好才能拼其他的。LOOPSBENCH就像是一个智能拼图助手,它能帮你记住每一块的拼接顺序,确保每一步都正确,避免拼错或漏掉重要的部分。它还能告诉你哪些块已经拼好,哪些还需要拼,帮助你一步步完成整个拼图。这样,你就可以像专业拼图高手一样,把复杂的拼图变得简单又有序,最终拼出漂亮的图片。这种方法让我们理解复杂任务的每个环节,确保每一步都按计划进行,避免出错。
术语表
依赖DAG (Dependency Directed Acyclic Graph)
一种表示任务依赖关系的有向无环图,用于描述任务中各个开发单元的先后关系。
在论文中用来建模任务的依赖结构,指导测试和开发流程。
流感知运行时 (Flow-aware Runtime)
一种动态控制测试释放和状态追踪的机制,依据依赖关系逐层推进任务。
用于实现长 horizon 任务中的逐步测试和状态管理。
源证据 (Source Evidence)
从源代码、提交历史或论文资料中提取的任务依赖关系证据。
用于构建任务的真实依赖关系,确保任务的真实性和多样性。
轨迹分析 (Trace Analysis)
对模型在任务中的执行路径和状态变化进行追踪和分析的方法。
评估模型在维护依赖和状态连续性方面的表现。
补丁长度 (Patch Length)
模型生成的代码变更的行数或字符数,用于衡量修改的复杂度。
反映模型在长 horizon 任务中的改动规模。
开放问题 这项研究留下的未解疑问
- 1 如何进一步提升模型在复杂依赖环境中的全局规划能力,尤其是在多任务动态变化场景下的表现仍未充分解决。未来需要结合强化学习和动态依赖建模技术,增强模型的适应性和鲁棒性。
应用场景
近期应用
自动化软件维护
利用LOOPSBENCH评估和优化AI驱动的代码修复和维护工具,提升多阶段软件开发的效率和可靠性。
持续集成优化
为CI/CD流程引入长 horizon任务评估,确保代码变更在复杂依赖环境中的正确性和连续性。
远期愿景
智能软件开发助手
结合长 horizon 任务评估,打造具备自主规划和维护能力的AI软件工程师,推动自动化软件开发革命。
原文摘要
Coding agent infrastructure is shifting from harness engineering toward loop engineering as coding agents are deployed for sustained long-horizon software development. Existing benchmarks often center on localized tasks or end-state outcomes, offering limited insight into sustained execution. We introduce LOOPSBENCH, a long-horizon benchmark for loop engineering in coding agent evaluation. Each task is a dependency DAG over separately testable development units with source-evidenced prerequisite edges. LOOPSBENCH comprises 112 tasks from authentic sources spanning 8 programming languages and 9 domains. Its flow-aware runtime releases tests along the ready frontier and retains completed nodes as regression obligations. We evaluate frontier coding agents paired with widely used loop implementations. The strongest configuration, Opus-4.7 with Claude Code and outer continuation, resolves 25.00% of tasks. Recorded plans recover only part of the source-recovered prerequisite DAG, and regression events remain visible across the evaluated loop profiles. We open source the benchmark data and code, including all tasks, more than 5,300 development units, and executable tests, at microsoft/Loopsbench.