为什么重要
SWE-Bench ProMax 诞生于 2026 年编码基准的”信任危机”之中。OpenAI 在 2026-02 审计发现 SWE-bench Verified 近 60% 未解决问题包含缺陷测试(过窄测试拒绝正确解、过宽测试检查未声明需求),前沿模型还能逐字复现训练数据中的黄金补丁;同年 7 月,OpenAI 又对 SWE-bench Pro 审计后撤回推荐(约 30% 任务有缺陷)。当”单文件 bug 修复”这条赛道既污染又饱和时,代码重构——需要跨文件协调、保持行为不变——成为更硬、更真实的试金石,却长期缺乏专用基准。
ProMax 正是针对这一盲区:它是首个大规模多语言代码重构基准,把评测重心从”改对一行 bug”拉到”协调几十个文件的等价变换”。任务规模(平均 11.4 文件 / 261.6 行)远超 SWE-bench 家族,且 issue 描述由专家从零重写、测试套件人工审查,直接回应了前代基准的质量缺陷。
构建方式
- 从真实 commit 提取:170 个重构任务取自真实代码库的重构提交,覆盖 Python、Java、TypeScript、Go、C、C++、Rust 七种语言,源自约 70 个仓库
- 多阶段策展:issue 描述由专家重写,提供精确无歧义的规范;测试套件人工审查,剔除”过窄”(拒绝正确解)与”过宽”(检查未声明需求)的测试
- 复杂度过滤:复杂度不足或跨文件范围有限的任务被剔除,最终任务平均改动 11.4 个文件、261.6 行代码、4.5 个测试文件——远超 SWE-bench Verified(~1-2 文件)与 Pro(~2-3 文件)
- 行为保持是硬约束:重构必须保持程序行为等价,测试验证的是”改动后的行为正确性”而非”与黄金补丁一致”,因此记忆化补丁失效
各语言分布
| 语言 | 实例数 | 平均文件数 | 平均改动行数 |
|---|---|---|---|
| Python | 29 | 10.6 | 299.8 |
| Java | 26 | 20.8 | 309.8 |
| TypeScript | 28 | 11.9 | 122.6 |
| Go | 23 | 16.0 | 227.4 |
| C | 20 | 17.9 | 424.1 |
| C++ | 22 | 21.4 | 196.3 |
| Rust | 22 | 14.5 | 284.8 |
Java 与 C++ 按文件数最重(20.8 / 21.4),C 平均补丁最大(424.1 行),TypeScript 最轻但也要触及近 12 个文件。
关键发现
- 最强模型仅 41.2% 解决率:在两种 Agent scaffold 下评测前沿模型,最佳成绩 41.2%(媒体报道指向 GPT-5.2),远低于 SWE-bench Pro 上 80%+ 的头部分数——“十次有六次做不完”是多文件重构的诚实图景
- 与 SWE-bench Pro 形成鲜明反差:同一批模型在”单文件修复”与”多文件重构”之间断崖式下跌,证明短任务基准严重高估了真实软件工程能力
- 记忆化失效:重构没有单一”黄金 diff”可背,任务只能靠理解依赖图、保持行为等价来完成,从机制上压制了数据污染刷分
- 跨语言类型系统是隐形门槛:不同语言的类型系统与构建工具链差异,要求 Agent 具备”语言无关的工程理解”,而非套用 Python 经验
最新进展
- 2026-08-10:论文提交 arXiv(arXiv:2608.09802),被 COLM 2026 收录为会议论文
- 2026-08:数据集与评测 harness 开源(CC-BY-4.0),发布即获多家编码 Agent 评测机构跟进,被视为”SWE-bench 信任危机”后的新一代候选标准
关联基准
- SWE-bench Pro:单文件修复基准,ProMax 的直接继承与升级对象
- SWE-bench Verified:已被 OpenAI 弃用,污染 + 缺陷测试问题最严重
- DeepSWE:零污染 SWE 基准,与 ProMax 同属”反污染”阵营
- SWE-RPG:另一类重构/角色扮演软件工程基准
不足与展望
- 样本量仅 170,且最佳模型的完整逐模型分数尚未公开,需等待论文 Table 全量数据
- 重构任务虽抗污染,但”行为保持”的验证仍依赖测试覆盖,低覆盖测试可能漏判不完整重构
- 七语言覆盖仍以 Python/TypeScript 为主,C/C++/Rust 系统级重构的评估深度待扩展