SWE-Bench ProMax:七语言大规模代码重构,最强模型只过 41%

SWE-Bench ProMax: Benchmarking Agents on Large-Scale Multilingual Code Refactoring

Yuling Shi, Jinghan Xu, Kelin Fu, Wenhao Zeng, Shilin He, Lei Zhang, Yue Liu, Zelin Zhao, Terry Yue Zhuo, Jialun Cao, Siyu Ye, Tianyu Liu, Kai Cai, Shing-Chi Cheung, Xiaodong Gu

COLM 2026

cs.CL, cs.SE

2026-08-11

170 条跨七语言的大规模重构任务,平均改 11 文件 262 行;GPT-5.2 在 OpenHands 下也只过 41.2%,开源模型以二十分之一成本追近。

这篇在解决什么

AI 编程智能体这两年进步飞快,SWE-bench Verified 上的解决率已经被刷到 75% 以上,顶级系统之间的差距越来越小。但分数涨上去,不代表智能体真强了。OpenAI 自己审了一遍 SWE-bench Verified,发现近 60% 没解出的样本里测试本身就有毛病:有的测试太窄,把正确的实现也判错;有的太宽,去检查任务说明里根本没提的要求。还有前沿模型能把训练数据里的标准补丁一字不差地复述出来。OpenAI 因此直接弃用了这个基准。

基准饱和是一层问题,任务类型单一是另一层。现有基准主要考单文件的小修小补和功能实现,而真实工程里最高频、也最考验跨文件协调能力的是重构:在不改变对外行为的前提下,把代码成片地改掉。OpenAI 和 Cursor 都把项目级重构列成长程任务的核心场景,却没有一个基准能真正测它。

方法

SWE-Bench ProMax 从 29,782 个候选提交里筛出 170 条,横跨 Python、Java、TypeScript、Go、C、C++、Rust 七种语言、70 个仓库。筛选分三步。第一步用 GitHub API 找 500 星以上、开源协议、主语言在七种之内的仓库,抽取 2025 年后消息含 refactor 且不含 bug fix 的提交。第二步为每条提交搭一个 Docker 环境,把标准补丁打上去跑全量测试,过不了的扔掉。第三步是人工加 LLM 辅助的改写:分析提交、剔除复杂度不够或仅限单文件的任务、删掉过窄和过宽的测试、把模糊的提交信息重写成精确自洽的任务说明,最后再人工核对一遍。

核对的标准很硬:任务说明必须既是标准补丁的必要条件,又是充分条件。也就是说,正确实现应该满足说明,而说明也不该放行错误的解法。最后留下的任务平均要改 11.4 个源文件、261.6 行代码,最猛的一条要动 NASA F'Prime 飞行软件框架的 244 个文件。

结果

作者在两种智能体框架(mini-swe-agent 和 OpenHands)下测了六个前沿模型,每条任务限 300 步、10 美元。最好的 GPT-5.2 在 OpenHands 下也只有 41.2%,远低于 SWE-bench Verified 的 75%+。

模型框架解决率单条均价
GPT-5.2OpenHands41.2%$3.60
Claude Sonnet 4.6OpenHands38.8%$4.77
GLM-5OpenHands36.5%$0.24
Qwen3.5OpenHands36.5%$0.78
GPT-5.2mini-swe-agent21.8%$0.19

另外有几点。开源模型用二十分之一的成本追到闭源五分之内,GLM-5 花 0.24 美元拿 36.5%,Claude Sonnet 4.6 花 4.77 美元才 38.8%。框架影响巨大,GPT-5.2 从 mini-swe-agent 换到 OpenHands 直接从 21.8% 翻到 41.2%。没有哪个模型通吃所有语言,Claude 强在 TypeScript 和 Rust,GPT-5.2 强在 Python 和 C。

为什么重要

这篇的价值不在排名,在两点诊断。第一,大规模重构是当前智能体真正卡脖子的地方,而它恰恰是企业里最高频的活。第二,失败模式很一致:智能体不是找不到要改的文件,而是改不全。它们能正确改掉核心文件,却没把同样的变换推到外层调用点、文档、配置和测试夹具上,下游一不一致测试就挂。失败的任务反而比成功的消耗更多轮次,陷在反复读、改、撞测试、回滚的死循环里。瓶颈是跨文件协调,而不是单步推理。

局限与存疑

样本量只有 170 条,偏小。TypeScript 的 28 条里 25 条来自 Angular 一个仓库,所以 TypeScript 层面的结论代表性有限。任务名义上是保持行为不变的重构,但作者自己的分类显示 41.2% 的样本同时含 bug fix、43.5% 含新功能,重构和修 bug、加功能是混在一起的,纯重构的标签并不干净。只测了两种框架,成本数字也只是一次性快照。

术语

原文与代码

相关论文

全部论文解读