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

2026年03月04日
  • 简介
    由大语言模型(LLM)驱动的智能体已在自动化软件工程任务(例如静态缺陷修复)方面展现出强大能力,这一点已通过SWE-bench等基准测试得到验证。然而在真实开发场景中,成熟软件的演进通常依赖于复杂的需求变更与长期的功能迭代——而静态的、单次完成的修复范式恰恰无法刻画这一过程。为弥合这一差距,我们提出了**SWE-CI**:首个基于持续集成(CI)流程构建的仓库级评测基准,旨在将代码生成能力的评估范式,从静态、短期的“功能正确性”,转向动态、长期的“可维护性”。该基准共包含100项任务,每项任务平均对应真实代码仓库中长达233天、跨越71次连续提交的演化历史。SWE-CI要求智能体通过数十轮的分析与编码迭代,系统性地完成各项任务。SWE-CI为深入理解智能体在长期代码演化过程中维持代码质量的能力,提供了极具价值的洞见。
  • 作者讲解
  • 图表
  • 解决问题
    现有LLM驱动的代码智能体在静态、单次修复任务(如SWE-bench)上表现良好,但无法反映真实软件工程中长期演进、需求变更与持续集成(CI)驱动的维护场景;论文旨在验证:当前LLM智能体是否具备支撑代码长期可维护性(maintainability)的能力——这是一个尚未被系统评估的新问题。
  • 关键思路
    提出SWE-CI——首个基于真实CI循环构建的仓库级、多轮迭代式代码演化基准,将评估范式从‘一次生成即正确’转向‘跨数十轮提交持续保持功能正确性、结构合理性与向后兼容性’;核心创新在于以真实开源项目的历史演化轨迹(commit-by-commit)为任务单元,强制模型模拟工程师在持续反馈(测试失败、CI检查、代码审查)下的渐进式修复与重构。
  • 其它亮点
    包含100个真实任务,平均跨度233天、71次连续提交;每任务需模型经历数十轮分析-编码-测试-修正循环;完全基于GitHub公开仓库(如pytest、scikit-learn)构建;所有任务数据、评估脚本及基线结果已开源(https://github.com/princeton-nlp/SWE-CI);实验揭示当前SOTA模型(如Claude 3.5、GPT-4o)在长期演化中显著退化(>60%任务在第5轮后引入回归);值得深入的方向包括:记忆增强的演化状态建模、CI感知的反馈合成、面向maintainability的奖励建模。
  • 相关研究
    SWE-bench: Do LLMs Really Understand Code? (ICLR 2024); DevBench: A Benchmark for Developer-Centric Code Generation (ACL 2024); CodeAct: An Interactive Framework for Code Generation (NeurIPS 2023); RepoAgent: Towards Long-Horizon Code Generation over Repositories (EMNLP 2023); PR-Agent: Learning to Generate Pull Requests from Issue Descriptions (ICSE 2024)
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问