【强化学习&SWE】如何评估人工智能代理在持续软件演化中的表现
😊你好,我是小航,一个正在变秃、变强的文艺倾年。
🔔本专栏《人工智能》旨在记录最新的科研前沿,包括大模型、智能体、强化学习等相关领域,期待与你一同探索、学习、进步,一起卷起来叭!
🚩Paper:EvoClaw: Evaluating AI Agents on Continuous Software Evolution
💻时间:202603
💭推荐指数:🌟🌟🌟🌟🌟
往期精彩专栏内容,欢迎订阅:
🔗【强化学习&SWE】20260223:如何解决长距离推理和复杂多文件代码库的导航能力
🔗【强化学习&SWE】20260221:如何无容器化进行强化学习训练
🔗【免训练&测试时扩展】20260213:Code Agent可控进化
🔗【免训练&测试时扩展】20260213:通过任务算术转移思维链能力
🔗【免训练&测试时推理】20251014:不确定性影响模型输出
🔗【低训练&测试时推理】20251014:测试时针对特定样本进行语言模型优化
🔗【免训练&强化学习】】20250619:训练无关的组相对策略优化
🔗【多智能体&强化学习】20250619:基于统一多模态思维链的奖励模型
🔗【多智能体&强化学习】20250615:构建端到端的自主信息检索代理
🔗【多智能体】20250611:基于嵌套进化算法的多代理工作流
🔗【多智能体】20250610:受木偶戏启发实现多智能体协作编排
🔗【多智能体】20250609:基于LLM自进化多学科团队医疗咨询多智能体框架
🔗【具身智能体】20250608:EvoAgent:针对长时程任务具有持续世界模型的自主进化智能体
介绍
- 研究问题:这篇文章要解决的问题是如何评估
人工智能代理在持续软件演化中的表现。随着AI代理越来越多地被部署为长期运行的系统,自主构建和持续演化定制软件以适应动态环境变得至关重要。然而,现有的基准测试主要评估代理在孤立的一次性编程任务上的表现,忽略了现实世界软件演化中的时间依赖性和技术债务。 - 研究难点:该问题的研究难点包括:
如何捕捉软件演化的长期动态、如何在连续环境中评估代理的性能、如何处理演化过程中出现的错误传播和技术债务。 - 相关工作:该问题的研究相关工作有:SWE-bench引入了实际问题解决中的软件工程基准测试,SWE-Evo和Commit-0探索了更长远的开发工作流程,NL2Repo评估了从自然语言规范到完整代码库生成的全过程,SWE-rebench和SWE-bench Live改进了现实感和数据卫生。

研究方法
这篇论文提出了DeepCommit和EvoClaw来解决评估AI代理在持续软件演化中表现的问题。具体来说,
- DeepCommit:DeepCommit是一个自动化的代理管道,可以将嘈杂的提交日志重构为可验证的里程碑DAG(有向无环图)。里程碑被定义为语义上连贯的开发目标。DeepCommit通过以下步骤实现这一目标:
- 提交历史预处理:收集所有主分支提交及其相关的Pull Requests、Issues、Releases和讨论元数据,过滤掉仅触及非源文件的提交。
- 里程碑DAG构建:通过四个迭代阶段(种子发现、里程碑合并、依赖推断和里程碑分解)使用LLM代理逐步构建里程碑DAG。
- 运行时环境解析:通过多代理工作流生成可重现的Docker镜像和稳定的测试行为,自动解析运行时依赖和测试框架配置。

- EvoClaw:EvoClaw是一个用于评估LLM代理在持续软件演化中表现的基准测试。它包括98个人工验证的里程碑,分布在7个演化轨迹(里程碑DAG)中,每个轨迹来自一个高影响力的开源仓库,涵盖五种编程语言。EvoClaw通过以下方式模拟真实的持续开发过程:
- 依赖驱动的任务流:需求动态解锁,系统维护一个基于DAG的任务调度器,确保新的里程碑在所有前置里程碑完成后才可用。
- 持续演化环境:代理在一个持久的状态化环境中操作,每个任务的修改都保留到下一个任务中。
- 快照隔离评估:任务完成后,代理的实现状态被快照并转移到隔离评估容器中运行测试套件,确保评分过程可重复且不受代理持续开发的影响。


实验设计
- 数据收集:通过DeepCommit管道从开源仓库中挖掘演化历史,确保基准的质量和评估效率。选择具有高社区影响力和多种编程语言的仓库,确保基准捕获复杂、非线性的开发场景。
- 样本选择:从选定的仓库中提取98个经过验证的里程碑,每个里程碑代表一个核心功能变化,具有可执行的F2P测试作为成功标准。
- 参数配置:每个里程碑的修改平均涉及27.4个文件,包含17.1个F2P测试和6,218个P2P测试。评估设置包括连续任务评估和独立任务评估两种模式,分别模拟真实的持续开发和孤立的任务处理。

结果分析
- 总体性能:在连续任务评估中,前沿模型的表现显著下降,从孤立任务中的80%以上降至连续环境中的最多38%。即使是最强的模型,也仅在约13%的里程碑中完全解决了问题。
- 任务复杂性和拓扑效应:里程碑的复杂性(如金补丁的代码行数)与代理表现呈单调关系,而软件需求规范(SRS)的字数呈非单调模式,中等长度的SRS最适合。里程碑的执行顺序和DAG的拓扑层数与得分呈显著的负相关。
- 演化动态:在连续评估中,代理的功能实现能力线性增长,但防止回归的能力饱和。这表明代理在实现新功能方面表现良好,但在系统演化过程中无法有效防止回归。
- 失败分析:错误链分析显示,早期错误会触发级联测试失败,传递错误在后续里程碑中积累,形成“雪球效应”。逻辑错误是主要的根本原因,占所有错误链事件的57%。
- 代理行为:代理在面临累积技术债务时的努力分配和行为模式各异。大多数代理在初期需要进行大规模探索,中期重用已建立的上下文,后期由于错误积累而进行大量调试。
总体结论
这篇论文提出了DeepCommit和EvoClaw,用于评估LLM代理在持续软件演化中的表现。结果表明,当前的前沿模型在连续任务中表现不佳,难以维持代码的完整性和系统的稳定性。持续、可维护的代码库演化仍然是自主软件代理的一个核心开放挑战。通过这些研究,论文强调了在真实世界生产环境中部署自主代理所需的关键能力,并揭示了当前AI代理在长时间软件演化中的局限性。
不足与反思
- 长程维护的挑战:研究结果表明,当前的前沿模型在持续演化任务中的表现显著下降,表明可靠的长期持续开发仍然是一个开放问题。
- 错误积累的影响:未解决的回归会触发“雪球效应”,错误积累速度超过代理修复速度,导致下游进展停滞。
- 代理的能力局限:尽管代理能够实现新功能,但未能防止回归,表明系统级维护比局部实现更具挑战性。
- 探索与验证的平衡:成功持续的演化依赖于积极的代码库探索和严格的测试验证,而盲目尝试和缺乏验证会加速失败。
- DeepCommit 与人类注释的对比:DeepCommit 在技术结构清晰时能够恢复与人类注释一致的任务边界,但在跨模块、意图定义的工作上则依赖于阶段划分。人类 DAG 的结构捕捉了开发者推理,这在仅从依赖拓扑中推断是困难的。
📌 [ 笔者 ] 文艺倾年
📃 [ 更新 ] 2026.03.23
❌ [ 勘误 ] /* 暂无 */
📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免,
本人也很想知道这些错误,恳望读者批评指正!

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)