SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration

📄 arXiv: 2603.03823v1 📥 PDF

作者: Jialong Chen, Xander Xu, Hu Wei, Chuan Chen, Bing Zhao

分类: cs.SE, cs.AI, cs.CL

发布日期: 2026-03-04


💡 一句话要点

提出SWE-CI基准,评估LLM智能体在持续集成中维护代码库的能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 持续集成 代码维护 大语言模型 软件工程 自动化测试

📋 核心要点

  1. 现有软件工程自动化任务的评估,如SWE-bench,侧重于静态bug修复,忽略了真实软件开发中复杂的需求变更和长期迭代。
  2. SWE-CI通过构建基于持续集成循环的仓库级别基准,模拟真实软件开发流程,评估智能体在长期演化中的代码维护能力。
  3. SWE-CI包含100个任务,每个任务对应真实代码仓库的长期演化历史,要求智能体通过多轮迭代解决问题,更贴近实际。

📝 摘要(中文)

本文提出了SWE-CI,这是一个基于持续集成循环的仓库级别基准,旨在将代码生成的评估范式从静态、短期的功能正确性转变为动态、长期的可维护性。该基准包含100个任务,每个任务平均对应于真实代码仓库中跨越233天和71个连续提交的演化历史。SWE-CI要求智能体通过数十轮分析和编码迭代来系统地解决这些任务。SWE-CI为智能体在长期演化过程中维持代码质量的能力提供了有价值的见解。

🔬 方法详解

问题定义:现有的大语言模型(LLM)驱动的智能体在静态bug修复等软件工程任务中表现出强大的能力,但现有基准(如SWE-bench)主要关注一次性的功能正确性。现实世界的软件开发是一个持续演进的过程,涉及复杂的需求变更和长期的特性迭代。因此,需要一种新的评估范式来衡量智能体在长期演化过程中维护代码库的能力。

核心思路:SWE-CI的核心思路是构建一个基于持续集成(CI)循环的基准,模拟真实软件开发中的长期演化过程。通过让智能体在CI环境中进行多轮分析和编码迭代,评估其在面对需求变更和代码演化时保持代码质量的能力。这种方法将评估重点从静态的功能正确性转移到动态的可维护性。

技术框架:SWE-CI的技术框架主要包括以下几个部分:1) 从真实的开源代码仓库中提取演化历史,构建包含多个连续提交的任务;2) 搭建持续集成环境,模拟代码的构建、测试和部署流程;3) 设计评估指标,衡量智能体在长期演化过程中代码质量的维持情况,例如测试通过率、代码复杂度等;4) 提供API接口,方便不同的智能体接入和进行评估。

关键创新:SWE-CI的关键创新在于其评估范式的转变,从静态的功能正确性转向动态的可维护性。它通过模拟真实的软件开发流程,更全面地评估智能体在长期演化过程中维护代码库的能力。此外,SWE-CI还提供了一个大规模的、基于真实代码仓库的基准数据集,为研究人员提供了一个统一的评估平台。

关键设计:SWE-CI的关键设计包括:1) 任务选择:选择具有代表性的、包含多个连续提交的演化历史;2) CI环境配置:配置与真实代码仓库相似的构建、测试和部署环境;3) 评估指标设计:设计能够反映代码质量和可维护性的指标,例如测试通过率、代码复杂度、代码覆盖率等;4) 迭代次数控制:限制智能体在每个任务中的迭代次数,避免过度优化。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

SWE-CI基准包含100个任务,每个任务平均跨越233天和71个连续提交。通过SWE-CI,研究人员可以深入了解智能体在长期演化过程中维持代码质量的能力。该基准为评估和提升LLM智能体在实际软件开发中的应用提供了有价值的工具。

🎯 应用场景

SWE-CI的研究成果可应用于自动化软件开发、代码维护和持续集成等领域。通过SWE-CI基准,可以评估和提升LLM智能体在长期软件开发过程中的代码维护能力,降低人工维护成本,提高软件质量和开发效率。未来,SWE-CI可以扩展到更复杂的软件系统和开发场景,推动软件工程的自动化和智能化。

📄 摘要(原文)

Large language model (LLM)-powered agents have demonstrated strong capabilities in automating software engineering tasks such as static bug fixing, as evidenced by benchmarks like SWE-bench. However, in the real world, the development of mature software is typically predicated on complex requirement changes and long-term feature iterations -- a process that static, one-shot repair paradigms fail to capture. To bridge this gap, we propose \textbf{SWE-CI}, the first repository-level benchmark built upon the Continuous Integration loop, aiming to shift the evaluation paradigm for code generation from static, short-term \textit{functional correctness} toward dynamic, long-term \textit{maintainability}. The benchmark comprises 100 tasks, each corresponding on average to an evolution history spanning 233 days and 71 consecutive commits in a real-world code repository. SWE-CI requires agents to systematically resolve these tasks through dozens of rounds of analysis and coding iterations. SWE-CI provides valuable insights into how well agents can sustain code quality throughout long-term evolution.