研究笔记

大力出不了奇迹:在 DeepSWE 上,更多推理只留下了噪声般的扰动

一则多模型、四次重复的研究笔记:在 DeepSWE v1.1 的 High 以上区间,实测资源投入继续增长,但 12 组分差中有 11 组无法与有限重复产生的随机波动可靠区分。

阅读英文译文。

约 7 分钟阅读

目录
  1. 先把比较口径固定下来
  2. 总分趋平,题目却在剧烈换手
  3. High 以上,12 组分差有 11 组没有越过噪声基线
  4. 结果没明显变好,模型真的多算了吗?
  5. 真正饱和的是“计算到成功”的转化效率
  6. 限制与下一步
六个模型在 Low 到 Max 推理强度下的 DeepSWE 通过率曲线,High 以上区域趋于平缓

这篇研究笔记最值得分享的,不只是 DeepSWE 总分在 High 以后趋平,而是这些变化有多难与噪声区分:在 12 组 High→XHigh 和 XHigh→Max 比较中,有 11 组观测分差没有越过四次重复结果经 100,000 次随机重分组产生的 95% 区间。

与此同时,模型并没有少算:步骤、Token 和成本仍在继续增长。核心结论不是“高 Effort 会让模型变差”,而是一个更窄、也更可检验的判断:在这批模型、这份快照和四次重复的精度下,High 以上进一步增加的实测推理资源投入,已经很难稳定转化成更多任务成功。观察到的多数逐题变化,与有限重复次数下的随机波动相容。

Note

“相容”不等于“证明它们都是随机的”。它只表示:用当前实验精度,我们无法把这些变化与一个简单的无 Effort 效应基线可靠地区分开。

本文的复现代码、冻结派生数据、统计检验和英文图表已发布在 公开 companion repository。公开包不包含原始 trajectory、模型 patch、verifier 输出、trial ID 或任务名。

先把比较口径固定下来

DeepSWE 是一个包含 113 个原创长程软件工程任务的 coding-agent benchmark;所有配置使用同一套 agent harness,任务由功能 verifier 评分。它测量的是固定环境下的模型配置,而不是模型或编码产品的全局能力排名。更完整的设计与限制见 DeepSWE 论文

本文冻结的分析快照是 2026-08-18。每个“模型 × Effort × 任务”最多有四次运行。口径如下:

  • 只保留官方计分口径中的健康运行;provider、network、verifier 等基础设施异常不当作质量零分,正常运行中的超时或失败仍按失败计。
  • 相邻 Effort 比较要求同一道题在两档都恰好有四次健康运行。
  • High+ 严格样本只包含 High→XHigh 与 XHigh→Max,共 7 个模型、12 组相邻档位比较。
  • 统计单位是“模型 × 相邻档位 × 任务”。共 1,279 个实例,每个实例包含前后两档各四次二元结果。
  • 下文的汇总按实例等权;不同模型、不同 Effort 配置不会因为名称相近而合并。
六个模型的 DeepSWE 通过率随推理强度变化,多数曲线在 High 以后趋平
描述性总览。曲线使用各档健康运行;严格的 High+ 推断只使用相邻两档都具备四次健康运行的共同任务。图中文字统一使用英文,中英文文章共用同一张图。

总览图已经能看到边际收益递减,但总分会隐藏两种完全不同的情况:所有题都略微变好,或者一批题变好、另一批题变差,最后刚好抵消。要分辨这两种情况,必须下钻到逐题四次运行。

总分趋平,题目却在剧烈换手

把 12 组 High+ 比较池化后,单次运行通过率从 63.08% 升到 65.30%,增加 2.23 个百分点;至少成功一次的任务覆盖率却从 84.36% 变成 84.28%,几乎没有变化。新获得覆盖的实例有 66 个,彻底丢失覆盖的有 67 个,净变化是 -1。

更值得注意的是变化的形状:1,279 个实例中有 579 个成功次数发生变化,但其中 416 个——也就是 71.8%——只差一次成功。没有任何实例从 0/4 直接变成 4/4;唯一一次完整翻转反而是 4/4→0/4。

High 以上 1279 个匹配任务实例的成功次数变化,579 个变化实例中有 416 个只相差一次成功,没有 0 比 4 到 4 比 4 的突破
在成功次数发生变化的 579 个实例中,416 个(71.8%)只移动了一次成功。绿色表示后一档成功次数更多,红色表示更少。多数变化集中在相邻的四次成功计数之间,而不是稳定能力边界的跨越。

这解释了为什么“换手很多”不能直接等同于“能力提升很多”。在四次重复下,从 1/4 变成 2/4 可能是真实但很小的概率变化,也可能只是抽样波动;它们需要进一步的结构性证据。

我检查了两个方向。第一,改善题与退化题的外部难度分布高度重叠,并没有稳定形成“难题变好、简单题变差”的分层。第二,不同模型退化题集合的平均两两 Jaccard 相似度很低:High→XHigh 为 0.140,XHigh→Max 为 0.083。同一模型在两个相邻区间里反复退化的题也很少,观察到的重合度最高只有 0.091。

换句话说,变化不只小,而且缺乏稳定落在同一批任务上的结构。

High 以上,12 组分差有 11 组没有越过噪声基线

为了给四次重复的波动找一个直接参照,我对每个任务做了一个配对随机化检验:保留两档合计八次运行的全部成功/失败结果不变,只把这八个结果随机重新分成 4+4,然后计算“后一档减前一档”的总成功次数差。每组比较重复 100,000 次,由此得到无 Effort 效应假设下的 95% 区间。

结果形成了很清楚的对照:

  • 在 Low→Medium 和 Medium→High 的 15 组比较中,有 9 组真实变化越过随机 95% 区间。
  • 在 High→XHigh 和 XHigh→Max 的 12 组比较中,只有 1 组名义上越界;它没有经过多重比较校正。
较低推理区间与High以上区间的随机重分组检验对比,前者15组中9组越界,后者12组中只有1组越界
横线是 100,000 次随机重分组得到的 95% 区间,圆点是真实的总成功次数差。这个检验能在较低区间识别出方向性增益,却很少在 High+ 区间识别出来。

这不是在说每一道题的变化都没有意义。它说的是:把当前 High+ 结果作为一组来看,它们大多没有表现出超过四次重复抽样波动的方向性信号。 同一套检验在较低 Effort 区间能检测到增益,因此“检验太弱,什么都检测不到”也不是一个充分解释。

结果没明显变好,模型真的多算了吗?

算了,而且幅度不小。在严格的 12 组比较中,12/12 的平均 agent steps 都增加。中位增幅分别是:

过程指标相邻 High+ 档位的中位增幅
Agent steps+26.7%
Input tokens+70.3%
Output tokens+45.3%
Cost+54.7%

但 12 组里有 10 组的共同任务通过率变化仍在 ±3 个百分点内。剩余两组的正向变化值得继续观察,却不足以推翻整体的边际收益递减图景。

十二组High以上匹配比较的成本增幅与通过率变化散点图,成本全部上升而十组变化位于正负三个百分点内
每个点是一组模型 × 相邻 Effort 比较。实测的步数、Token 和成本都上升,但在这些 High+ 相邻档位比较中,它们转化为任务成功的效率下降。

真正饱和的是“计算到成功”的转化效率

这组结果支持的是局部饱和,不是一个宏大的能力上限判断:

  • 不是说模型能力已经饱和。更好的模型、工具、prompt 或 harness 仍可能提高结果。
  • 不是说 DeepSWE 已经饱和。当前最强配置仍有大量未解决任务。
  • 不是说提高 Effort 一定有害。严格共同任务上的 12 组通过率差都非负,只是大多很小,且 11/12 没越过随机重分组区间。
  • 也不是说 High 是普遍最优点。Effort 标签是模型内的有序配置,不代表跨模型相同的真实计算预算。

更准确的说法是:在 DeepSWE v1.1 的这份快照上,当推理强度进入 High 以上区域,继续增加实测推理资源投入的成本仍然清晰可见,但可由四次重复稳定辨认的任务成功增益已经接近当前评测设计的可检测信号下限。

这也是为什么我更愿意保留这篇文章的关键推理过程,而不是只发布一句“High 以后像随机扰动”。只留结果会把一个有边界的统计判断写成口号;保留口径、逐题换手、随机对照和计算量四步,读者才知道这句话在哪些条件下成立,又在哪些条件下不成立。

限制与下一步

四次重复仍然很浅,尤其不足以精确估计单题成功概率;这里的随机重分组也只检验一个简单的无档位效应基线。下一步最有价值的工作不是再加一张排行榜,而是:对少量边界任务增加重复次数;预注册要检查的相邻档位与多重比较规则;把总分、任务覆盖、重复稳定性、轨迹长度和成本分开报告。

如果更多重复仍然得到相同图景,我们才能更有把握地说:问题不在于模型有没有继续“思考”,而在于这些额外计算是否还能稳定地改变任务结局。