核心发现
方法论
本研究构建了SWE-EVO基准,采集了七个成熟开源Python项目的发布变迁数据,设计了48个跨越多文件、多步骤的演化任务。任务基于版本发布说明、提交历史和版本快照,模拟真实软件演化场景。评估指标包括硬性成功率(Resolved Rate)和软性修正率(Fix Rate),前者衡量任务完全解决比例,后者反映部分修复进展。模型输入为预发布版本的完整代码和变更说明,输出为跨文件的补丁。测试通过率平均达87.4%,任务复杂度远超传统单Issue修复,模型表现极为有限,最高仅达25%。
关键结果
- 在SWE-EVO上,GPT-5.4模型的Resolved Rate仅为25%,远低于在SWE-Bench Verified上的72.8%,显示出模型在长远、多文件演化任务中的巨大能力缺口。
- 不同模型表现差异显著,GPT-5.2在SWE-Bench表现优异(72.8%),但在SWE-EVO中仅为22.92%,反映出模型在持续、多步骤推理中的困难。
- 模型在任务中常出现语法错误、工具调用失败、指令理解偏差等问题,Failure Mode分析揭示了模型在复杂场景下的局限性。
研究意义
本研究首次系统性评估AI编码代理在真实软件长远演化场景中的能力,揭示了当前模型在多文件、多步骤、多版本协作中的巨大差距。该基准推动了长远软件工程自动化的研究,促使模型朝着更具规划性、适应性和创新性的方向发展,为工业界实现自动化维护、持续集成等目标提供了基础。通过引入多文件、多版本、多测试的复杂任务,SWE-EVO突破了传统单Issue修复的局限,逼迫模型理解更广泛的上下文和长远目标。
技术贡献
本文提出了基于版本发布说明和提交历史的长远演化任务构建方法,设计了多文件、多步骤的任务框架,创新性引入了修正率(Fix Rate)指标以衡量部分进展。采用多模型、多平台评估体系,揭示不同模型在复杂场景中的表现差异。还结合Failure Mode分析,系统性识别模型在指令理解、工具调用和语法正确性等方面的瓶颈,为未来模型优化提供了具体方向。
新颖性
本研究首次提出面向软件演化的长远任务基准,区别于以往单Issue或单文件修复的评测体系。通过从真实开源项目中采集演化场景,模拟实际开发中的版本迭代,极大增强了任务的真实性和复杂性。引入多文件、多步骤、多版本的任务设计,推动了AI编码代理从单Issue解决向持续演化能力的转变,填补了长远软件工程自动化评估的空白。
局限性
- 当前模型在多文件、多步骤任务中表现仍然有限,尤其在理解复杂发布说明和协调多文件变更方面存在明显不足,导致解决率偏低。
- 评估体系主要基于静态测试验证,未充分考虑模型在实际开发流程中的交互能力和持续学习能力,未来需引入动态交互和在线学习机制。
- 任务规模虽大,但仍局限于开源Python项目,未来应扩展到工业级复杂系统和多语言环境,以提升模型的泛化能力。
未来方向
未来将探索多模态、多任务联合训练策略,提升模型在长远演化中的理解和规划能力。引入更丰富的上下文管理和推理机制,改善模型在多文件、多版本场景中的表现。同时,结合强化学习和在线微调,增强模型的适应性和持续学习能力,推动AI编码代理迈向更接近人类开发者的水平。
AI 总览摘要
在现代软件工程中,代码的持续演化是确保系统稳定性、功能扩展和技术维护的核心。然而,现有的AI编码代理评测大多局限于单一Issue修复或小规模任务,难以反映真实开发环境中的长远挑战。本文提出了SWE-EVO(Software Evolution Benchmark for AI Coding Agents),这是一个专为长远软件演化场景设计的基准测试平台,旨在评估AI在多文件、多步骤、多版本的复杂任务中的表现。
SWE-EVO基于真实开源Python项目的版本发布说明、提交历史和快照,模拟实际软件的版本迭代过程。任务涵盖48个跨越多个文件、涉及多步骤变更的演化任务,平均涉及21个文件,验证测试套件包含874个测试用例,极大地提高了任务的复杂性和真实性。模型输入为版本前的完整代码和变更说明,输出为跨文件的补丁,目标是实现版本间的功能迁移和维护。
评估指标包括硬性成功率(Resolved Rate)和软性修正率(Fix Rate),前者衡量任务完全解决比例,后者反映部分修复进展。实验结果显示,最优模型(GPT-5.4)在SWE-EVO上的Resolved Rate仅为25%,远低于在传统基准SWE-Bench上的72.8%,揭示了当前模型在持续、多文件、多步骤演化任务中的巨大差距。这一发现强调了模型在理解复杂需求、协调多文件变更方面的不足。
研究还通过Failure Mode分析,揭示模型在指令理解、工具调用、语法正确性等方面的局限性。不同模型表现差异明显,较大模型虽在单Issue任务中表现优异,但在长远演化场景中表现受限,表明需要更复杂的推理和规划能力。
该基准的提出不仅丰富了软件工程AI评估体系,也为未来模型的优化提供了明确方向。未来工作将结合多模态学习、强化学习和动态上下文管理,推动AI编码代理实现更高水平的持续演化能力,助力工业界实现自动化维护和持续集成的目标。
深度分析
研究背景
随着大规模预训练语言模型(如GPT系列、Codex等)在代码生成、调试和测试方面取得突破,软件工程中的自动化水平不断提升。早期的评测体系如HumanEval、MBPP和APPS主要关注单文件、单Issue任务,逐渐饱和,难以反映实际开发中的复杂场景。近年来,SWE-bench等基准引入了真实GitHub问题的验证补丁,推动了多Issue、多文件、多任务的评估框架发展。然而,现有评测仍偏重于静态、孤立的问题解决,未能充分模拟软件的持续演化过程。实际开发中,80%以上的工作集中在维护和演化遗留代码,涉及跨模块、版本和规范的协调变更。为弥补这一空白,本文提出了面向长远软件演化的SWE-EVO基准,旨在推动AI编码代理在真实软件生命周期中的应用研究。
核心问题
现有AI编码代理在单Issue修复任务中表现尚可,但在持续、多文件、多步骤的演化场景中表现极为有限。软件的版本迭代涉及复杂的需求理解、跨文件协调、重构和验证,模型需要具备长远规划和全局理解能力。传统评测未能反映这些挑战,限制了模型在实际软件维护中的应用潜力。如何设计一个能够模拟真实软件演化场景的评测体系,评估模型在多版本、多文件、多步骤任务中的表现,成为亟待解决的问题。本文通过采集真实开源项目的版本变迁,构建了具有代表性的长远演化任务,旨在推动模型在复杂环境中的能力提升。
核心创新
本研究的核心创新在于:1)提出基于真实版本发布说明和提交历史的长远演化任务构建方法,模拟实际软件的版本迭代过程;2)设计了跨越多文件、多步骤的演化任务,显著提升任务复杂性和真实性;3)引入修正率(Fix Rate)指标,衡量模型在部分修复中的表现,避免单一成功率的偏差;4)结合Failure Mode分析,系统识别模型在指令理解、工具调用和语法正确性等方面的瓶颈,为未来优化提供方向。这些创新使得评测体系更贴近实际开发场景,推动AI编码代理从单Issue修复向持续演化能力迈进。
方法详解
- �� 任务构建:采集七个成熟开源Python项目的版本发布说明、提交历史和快照,筛选出符合版本标签的快照作为任务起点和终点。• 任务定义:以版本间的发布说明差异为变更需求,模拟软件演化场景,要求模型在多文件、多步骤中实现变更。• 数据过滤:通过应用测试套件验证变更的有效性,确保任务具有明确的行为变化。• 任务规模:每个任务平均涉及21个文件,包含610行代码变更,测试套件平均874个测试用例。• 评估指标:采用Resolved Rate(完全解决比例)和Fix Rate(部分修复比例),同时引入修正后回归检测。• 模型输入:完整的前版本代码和变更说明,输出为跨文件补丁。• 评估流程:模型生成补丁后,应用于测试环境,验证变更效果和无回归,统计指标得分。
实验设计
- �� 评估平台:使用OpenHands和SWE-agent两个框架,测试18个不同的预训练模型,包括OpenAI的GPT-系列、DeepSeek、Zhipu AI、Qwen和Moonshot AI。• 任务设置:在默认的release note + PR/issue上下文中进行推理,限制模型访问互联网,确保评估的公平性。• 超参数:采用中等推理努力水平,平衡推理成本与准确率。• 性能指标:统计Resolved Rate、Apply Rate(补丁可用性)和Fix Rate,分析不同模型在不同任务难度下的表现差异。• 失败分析:结合Failure Mode分类,识别模型在指令理解、工具调用、语法错误等方面的具体问题。
结果分析
- �� 最高模型GPT-5.4在SWE-EVO中的Resolved Rate仅为25%,显著低于在SWE-Bench上的72.8%,表明长远演化任务对模型提出了更高的理解和规划要求。• 不同模型表现差异明显,GPT-5.2在SWE-Bench表现优异,但在SWE-EVO中仅为22.92%,反映出模型在持续、多步骤推理中的局限。• Failure Mode分析显示,模型常在指令理解、工具调用和语法正确性方面出现问题,尤其在复杂发布说明中理解偏差明显。• 任务难度随着PR数量、代码变更范围和测试复杂度增加而显著上升,模型在高难度任务中的表现逐步下降。
通俗解读 非专业人士也能看懂
想象你在管理一个大型工厂,工厂每天都在不断生产新产品、修理旧设备、升级机器。每次升级都需要你协调不同的部门:机械、电子、软件,确保每个环节都配合得当。现在,假设你有一个超级智能助手,它能帮你理解每次升级的需求,规划出详细的操作步骤,并在多个部门之间协调工作。这个助手就像是一个非常聪明的工厂经理,能在长时间内持续管理和优化整个工厂的运作。SWE-EVO这个基准测试就像是模拟这个工厂的升级任务,考察AI助手是否能像人一样,理解复杂的升级需求,协调多个部门,确保工厂顺利运行。它要求助手不仅懂得单个设备的维修,更能规划整个工厂的长远发展,处理各种突发情况,确保每次升级都能顺利完成。
简单解释 像给14岁少年讲一样
想象你在学校里负责组织一个大型活动,比如运动会。每次活动都需要准备很多不同的项目,比如跑步、跳远、接力赛,还要协调不同的老师和学生。每次活动结束后,你还要总结经验,改进下一次的安排。现在,假设你有一个超级聪明的助手,它能帮你理解每次活动的需求,帮你制定详细的计划,并协调所有人一起完成任务。这个助手就像是一个非常聪明的学生会主席,能在长时间内不断学习和改进,确保每次运动会都比上次更成功。SWE-EVO这个基准测试就像是模拟这个过程,看看AI助手是否能像人一样,理解复杂的需求,协调不同的人和部门,完成一场完美的运动会。它不仅要懂得每个项目的细节,还要能规划整个流程,处理突发状况,确保活动顺利进行。
术语表
Resolved Rate (解决率)
衡量模型成功完成任务的比例,要求所有相关测试全部通过,反映模型在长远演化任务中的整体能力。
在本文中,用于评估模型是否完全实现了版本迁移的目标。
Fix Rate (修正率)
衡量模型在部分修复上的表现,反映模型修正部分失败测试的能力,同时确保没有回归。
作为对Resolved Rate的补充,用于评估模型在复杂任务中的部分进展。
Release Note (发布说明)
描述软件版本变更的文档,包含新功能、修复和维护信息,用于指导模型理解变更需求。
模型以发布说明为主要输入,理解所需的代码变更内容。
Test Suite (测试套件)
一组自动化测试用例,用于验证软件在变更后的功能和稳定性。
模型生成补丁后,通过测试套件验证变更的正确性和无回归。
Multi-file Reasoning (多文件推理)
模型在多个源文件中同时理解和修改代码的能力,涉及跨文件的逻辑协调。
长远演化任务要求模型具备强大的多文件推理能力。
Long-Horizon Tasks (长远任务)
需要多步骤、多阶段、多文件协作完成的复杂任务,跨度长、难度大。
SWE-EVO中的软件演化任务即为典型长远任务。
Behavioral Delta (行为变化)
软件版本变更引起的行为差异,验证模型是否实现了预期的功能迁移。
通过测试验证模型的变更是否符合软件需求。
Version Snapshot (版本快照)
软件在某一特定时间点的完整状态,作为演化任务的起点或终点。
用作任务的版本基准,模拟实际软件的演变过程。
开放问题 这项研究留下的未解疑问
- 1 尽管SWE-EVO揭示了模型在长远演化任务中的能力瓶颈,但如何设计更有效的上下文管理和推理机制以提升模型表现仍未充分解决。未来需要结合多模态信息、强化学习和持续学习策略,增强模型的理解深度和规划能力。此外,如何在工业环境中部署这些模型,确保其在实际开发流程中的稳定性和安全性,也是亟待攻克的难题。
应用场景
近期应用
自动化软件维护
利用AI编码代理自动理解和实现版本迁移,减轻开发者负担,提升维护效率,特别适用于持续集成和持续部署(CI/CD)流程。
代码审查与优化
模型可以辅助审查代码变更,检测潜在缺陷,提出优化建议,提升代码质量,适合企业级代码管理平台。
软件演化规划
基于模型的长远规划能力,辅助制定软件版本演进路线,优化开发策略,减少人为偏差。
远期愿景
自主软件开发与演化
未来AI能自主理解需求、规划设计、实现演化,甚至进行持续优化,逐步实现全自动化的软件生命周期管理。
智能化软件维护生态
建立基于AI的自动维护生态系统,实现跨平台、多语言、多环境的持续演化,推动软件工程向智能化、自动化方向发展。
原文摘要
Existing benchmarks for AI coding agents focus on isolated, single-issue tasks such as fixing a bug or adding a small feature. However, real-world software engineering is a long-horizon endeavor: developers interpret high-level requirements, coordinate changes across many files, and evolve codebases over multiple iterations while preserving functionality. We introduce SWE-EVO, a benchmark for this long-horizon software evolution challenge. Constructed from release notes of seven mature open-source Python projects, SWE-EVO comprises 48 tasks requiring multi-step modifications spanning an average of 21 files, validated against test suites averaging 874 tests per instance. Experiments reveal a striking capability gap: GPT-5.4 with OpenHands achieves only 25% on SWE-EVO versus 72.80% achieved by GPT-5.2 on SWE-Bench Verified, showing that current agents struggle with sustained, multi-file reasoning. We also propose Fix Rate, a metric capturing partial progress on these complex, long-horizon tasks.
参考文献 (20)
SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
John Yang, Carlos E. Jimenez, Alexander Wettig 等
OpenHands: An Open Platform for AI Software Developers as Generalist Agents
Xingyao Wang, Boxuan Li, Yufan Song 等
MemGPT: Towards LLMs as Operating Systems
Charles Packer, Vivian Fang, Shishir G. Patil 等
Analysis Of Software Maintenance Cost Affecting Factors And Estimation Models
Chamkaur Singh, N. Sharma, Narender Kumar
MemoryBank: Enhancing Large Language Models with Long-Term Memory
Wanjun Zhong, Lianghong Guo, Qi-Fei Gao 等
CREATOR: Tool Creation for Disentangling Abstract and Concrete Reasoning of Large Language Models
Cheng Qian, Chi Han, Y. Fung 等
Voyager: An Open-Ended Embodied Agent with Large Language Models
Guanzhi Wang, Yuqi Xie, Yunfan Jiang 等
CodeTF: One-stop Transformer Library for State-of-the-art Code LLM
Nghi D. Q. Bui, Hung Le, Yue Wang 等
In-context Autoencoder for Context Compression in a Large Language Model
Tao Ge, Jing Hu, Xun Wang 等
Language Agent Tree Search Unifies Reasoning Acting and Planning in Language Models
Andy Zhou, Kai Yan, Michal Shlapentokh-Rothman 等
SWE-bench: Can Language Models Resolve Real-World GitHub Issues?
Carlos E. Jimenez, John Yang, Alexander Wettig 等
Large Language Models for Software Engineering: Survey and Open Problems
Angela Fan, Beliz Gokkaya, Mark Harman 等
Functional Overlap Reranking for Neural Code Generation
H. To, Minh Huynh Nguyen, Nghi D. Q. Bui
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
Akari Asai, Zeqiu Wu, Yizhong Wang 等
A Survey on Large Language Models for Software Engineering
Quanjun Zhang, Chunrong Fang, Yang Xie 等
TroVE: Inducing Verifiable and Efficient Toolboxes for Solving Programmatic Tasks
Zhiruo Wang, Daniel Fried, Graham Neubig
RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval
Parth Sarthi, Salman Abdullah, Aditi Tuli 等
Executable Code Actions Elicit Better LLM Agents
Xingyao Wang, Yangyi Chen, Lifan Yuan 等
LLM-Based Multi-Agent Systems for Software Engineering: Literature Review, Vision, and the Road Ahead
Junda He, Christoph Treude, David Lo
被引用 (20)
SWE-Chain: Benchmarking Coding Agents on Chained Release-Level Package Upgrades
SWE-Bench ProMax: Benchmarking Agents on Large-Scale Multilingual Code Refactoring
The Conversations Beneath the Code: Triadic Data for Long-Horizon Software Engineering Agents
The Kitchen Loop: User-Spec-Driven Development for a Self-Evolving Codebase
PBT-Bench: Benchmarking AI Agents on Property-Based Testing
VibeServe: Can AI Agents Build Bespoke LLM Serving Systems?
Breaking, Stale, or Missing? Benchmarking Coding Agents on Project-Level Test Evolution
ProgramBench: Can Language Models Rebuild Programs From Scratch?
More Is Different: Toward a Theory of Emergence in AI-Native Software Ecosystems
Problem Reductions at Scale: Agentic Integration of Computationally Hard Problems
Needle in the Repo: A Benchmark for Maintainability in AI-Generated Repository Edits
A Multi-agent AI System for Deep Learning Model Migration from TensorFlow to JAX
SWE Refactor Bench: Can Coding Agents Complete a Long-Horizon, Whole-Repository Stack Migration?
SlopCodeBench: Benchmarking How Coding Agents Degrade Over Long-Horizon Iterative Tasks
SWE-Milestone: Evaluating AI Agents on Continuous Software Evolution
SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration
SWE-Hub: A Unified Production System for Scalable, Executable Software Engineering Tasks
SWE-AGI: Benchmarking Specification-Driven Software Construction with MoonBit in the Era of Autonomous Agents
Agentic Software Issue Resolution with Large Language Models: A Survey
Towards Autonomous Software Development