1. 项目背景与核心价值
中山大学与阿里联合研发的SWE-CI评测体系,标志着AI代码维护能力评估进入新阶段。这个体系首次将代码质量评估从静态功能正确性转向动态长期可维护性,填补了当前AI编程评估领域的核心空白。
在真实软件开发中,60%-80%成本消耗在维护阶段。传统评估如SWE-bench仅关注单次修复的正确性,而SWE-CI模拟了包含233天开发周期、71次连续提交的真实演进过程。其创新性体现在三个维度:
- 时间维度:评估跨度从分钟级扩展到季度级
- 质量维度:引入EvoScore量化技术债务积累速度
- 流程维度:采用建筑师-程序员双代理机制模拟CI/CD流程
2. 技术架构解析
2.1 数据构建方法论
数据集构建包含四阶段严格筛选:
- 仓库采集:从4923个Python仓库中筛选持续维护3年+、Star>500的项目
- 提交跨度提取:分析依赖不变的最大连续提交区间,筛选代码变更>1000行的片段
- 环境验证:通过动态依赖注入的Docker环境确保测试可复现
- 最终过滤:保留测试通过率差异>5的样本,最终形成100个高质量任务
关键细节:采用"自修复机制"处理缺失依赖,使环境构建成功率提升62%
2.2 双代理评估协议
架构师代理工作流:
- 差异分析:解析当前与目标代码的测试差异
- 根因定位:关联测试失败与具体代码文件
- 需求生成:输出不超过5个高优先级需求文档
程序员代理工作流:
- 需求转化:将自然语言需求转为技术规范
- 实施规划:制定具体修改方案
- 代码实现:执行实际代码变更
设计精妙处:需求文档强制要求"增量式"和"高层抽象"两个特性,避免过度设计
3. 核心指标设计
3.1 标准化变更率(Normalized Change)
计算公式:
a(c) = (n(c)-n(c0))/n(c*) [当n(c)≥n(c0)] (n(c)-n(c0))/n(c0) [当n(c)<n(c0)]其中n(c)表示通过测试数。该公式将改进和回归统一映射到[-1,1]区间,实现跨项目可比性。
3.2 演进分数(EvoScore)
引入时间衰减因子γ的未来加权均值:
e = Σ(γ^i * a(ci)) / Σ(γ^i)当γ>1时强化后期迭代权重,有效捕捉技术债务的累积效应。实验显示γ=1.5时与人工评估相关性最高(Pearson=0.87)。
4. 实验结果与行业启示
4.1 关键发现
- 模型演进趋势:2026年后模型在长期维护任务上表现提升37%,Claude Opus系列保持领先
- 厂商差异:MiniMax/DeepSeek倾向长期优化,Kimi/GLM侧重短期收益
- 回归控制:顶级模型的零回归率仅0.53,显示现有技术仍难保证持续质量
4.2 工程实践建议
- 对于CI/CD流水线:建议将EvoScore作为质量门禁指标
- 对于模型训练:需要增加代码坏味道检测任务
- 对于评估体系:应建立多时间维度的测试套件
5. 应用场景展望
该体系已在阿里内部应用于:
- 代码助手选型:淘汰了3款高静态正确率但低EvoScore的产品
- 新人工程师培训:通过模拟演进过程加速架构思维养成
- 技术债量化管理:建立项目级的γ值预警机制
典型使用案例:某金融系统迁移中,采用SWE-CI评估不同重构方案,最终选择EvoScore高15%但短期工作量多20%的方案,实际节省后期维护成本约230人日。