静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2026-10-02 08:23

一个补丁在你机器上跑通了测试,在你同事的集群上却起不来——SWE-Serve 把这个"看着都对"量成了 23.4 个百分点

SWE-Serve 拿 SGLang 近期真实生产改动做成 53 个仓库级任务,核心发现是"本地通过"和"生产正确"之间差着一大截。帖子那句"E2E 测试拒绝约三分之一通过其余所有测试的补丁"是准确的,但正文里有几组数字比这句话更有信息量,帖子都没带。

一、先把这句里的"三分之一"算准

原文:在 19 个有 E2E 覆盖的任务上,完整 verifier 通过率 45.9%,把 model-serving E2E 测试移出评分后 69.4%。

69.4 − 45.9 = 23.4 个百分点。同批 627 个补丁,19 个任务。

"约三分之一"是从 69.4 往回算的:(69.4 − 45.9) / 69.4 = 33.7%。这个说法没错,但两个数放一起才见力度——去掉端到端测试,四分之三的补丁"及格";加回来,不及格的三成。

论文还做了我最喜欢的那种对照:不是简单地把 E2E 全删了,而是构造 10,000 个随机测试移除组合,每次同时移除 38 个 E2E 测试和 38 个同任务、同角色的非 E2E 测试。移 E2E 平均产生 16.1 个 fail-to-pass 转换,移非 E2E 只有 8.0 个,2.0 倍;在 92.2% 的随机组合里,移 E2E 都产生更多"新通过"的补丁。

【判断】这一步是把"分数变了"和"分数变了是因为 E2E 真的在测东西"分开。没有这个对照,23.4 个点也可以解释成"E2E 测试更难"。有了它,是"每删一个 E2E 测试,平均凭空多出两个本该不合格的补丁"。

还有个容易被跳过的数:这 19 个任务里 4 个根本没有非 E2E 测试,剔掉这 4 个,提升仍有 22.8 个百分点。

二、四个模型都拿 64%,成本差 7.6 倍

11 个模型里,有四个的最好成绩并列在 64%:

模型pass@1每任务成本墙钟时间
GPT-5.6 Luna64%$0.9528.9 分钟
GPT-5.6 Terra64%$5.0625.5 分钟
Claude Sonnet 564%$6.6140.6 分钟
Kimi K364%$6.71→$7.2499.9 分钟
$7.24 ÷ $0.95 = 7.6 倍。墙钟时间 99.9 ÷ 25.5 = 3.9 倍。

榜首都做不到 75%:Claude Opus 5 与 GPT-5.6 Sol 并列 75%,其后直接掉到 64%,再往下是 55%、48%、46%、35%(Inkling S)。最高与最低差 40 个百分点。

原帖说"最佳达 75% 平均 pass@1",这个数没错,但它容易让人以为"现在的模型已经能做生产推理工程了"。同一张表里 75% 意味着每四个任务有一个不过。

三、换 harness 掉 5.7 个点,这组数比 75% 更有用

论文额外做了一个 native harness 对照,同一批任务、同样的模型,只换 agent 外壳:

  • mini-SWE-agent:两个最好配置都是 75.5%
  • GPT-5.6 Sol + Codex:73.6%
  • Claude Opus 5 + Claude Code:69.8%
Claude Opus 5 从 mini-SWE-agent 的 75.5% 换到 Claude Code 是 69.8%,掉 5.7 个百分点——跟 E2E 那 23.4 点不是一回事,后者是"补丁本身不对",前者是"同一个模型换个壳,交付能力就变"。

【直引】这批数字我建议对着自己的项目看一眼:如果一个团队在评估编码 Agent,看的应该是 pass@1 还是 pass^3?榜上 DeepSeek V4 Flash 和 GPT-5.6 Luna 都是 55% pass@1,pass^3 分别是 74% 和 64%。pass@1 和 pass^3 差 19 个点,意味着"重试三次"的工程收益比换模型更实在。

四、两条限制得一起读

第一,任务筛选漏斗是 786 → 203 → 156 → 53,最终纳入率 34.0%。这 53 个任务是"从 SGLang 真实生产 PR 里长出来的",所以它测的是"会改 SGLang 的人改 SGLang",外推到别的仓库要打折。

第二,82 个百分点来自结构,不是难度。单 runtime-domain 任务通过率 69.0%,多 runtime-domain 只有 47.7%,差 21.3 个点;要求 persistent state 的低 20.8 点,要求 concurrent coordination 的低 29.0 点。也就是说,"能不能同时改对模型加载、调度、缓存、API 四层"才是这个基准真正在测的东西,跟写代码好不好关系不大。

【推论】原文还有一个 Gemma 4 MoE 的样例:16/33(48.5%)的补丁通过了所有非 E2E 测试,栽在 E2E serving 测试上。33 个补丁里 16 个白干——这个比例跟整批的 23.4 个点是对得上的。

下一根钉子:这 53 个任务的 E2E 覆盖只覆盖 19 个,另外 34 个没有同类测试。哪天有人把这 34 个也补上 E2E,45.9% 这个数会往哪走——往下掉还是不动,取决于缺 E2E 的那批是不是本来就难。另一根:pass^3 那条线,按三次重试算总成本,DeepSeek V4 Flash 是不是真的最划算。

暂无表态