为什么重要
SWE Atlas 填补了代码基准的一个重要空白:现有基准(SWE-bench 及其变体)几乎全部聚焦于 issue 修复,但真实软件工程远不止修 bug。SWE Atlas 覆盖了三种在实践中有极高频率但评测中被忽视的工作流:
- 代码库问答(Codebase Q&A):124 个任务,测试模型对代码库的理解深度
- 测试编写(Test Writing):90 个任务,评估模型编写高质量测试的能力
- 代码重构(Refactoring):70 个任务,衡量模型进行代码改善和结构优化的能力
更重要的是,SWE Atlas 采用了不充分指定的 agentic 任务设定,更接近真实世界中工程师收到的模糊需求,而非精确的 issue 描述。
构建方式
- 从开源 GitHub 项目中提取三类专业任务
- 每类任务都有专门的评估协议:
- 代码库问答:基于代码库事实的问答,检查准确性和完整性
- 测试编写:评估测试覆盖率、边界条件、可维护性
- 代码重构:评估重构完整性、抽象质量、代码整洁度
- 评估框架结合程序化检查 + 基于评分准则的人工评估,不仅看功能正确性,还看工程质量
关键发现
- GPT-5.4 和 Claude Opus 4.7 综合表现最强,但在不同子任务上各有千秋
- 开源模型整体表现较差,与闭源模型差距显著
- 测试编写是最弱环节:即使是顶级模型也难以写出覆盖边界条件的高质量测试
- 重构任务暴露工程质量短板:模型倾向于做表面修改,缺乏深层次的结构优化
- 不充分指定的任务显著增加难度:相比精确的 issue 描述,模糊需求下的表现大幅下降
- 运行时驱动的推理至关重要:顶级模型都依赖大量代码库探索和运行时反馈
与 SWE-bench 系列的区别
| 维度 | SWE-bench 系列 | SWE Atlas |
|---|---|---|
| 任务类型 | Issue 修复 | 问答 / 测试 / 重构 |
| 任务指定 | 精确的 Issue 描述 | 不充分指定(更真实) |
| 评估维度 | 功能正确性 | 功能正确性 + 工程质量 |
| 评估方法 | 单元测试 | 程序化 + Rubric 评分 |
关联基准
- SWE-bench Verified:issue 修复标准
- SWE-bench Pro:高难度 issue 修复
- ProgramBench:从零构建软件系统
- Web-Bench:前端代码基准