AI

通过率差几个点,账单能差四十倍(中英切换)

通过率差几个点,账单能差四十倍。

排行榜上两个模型差两三个点,大家争论的是「谁更强」。错了。真正能把你账单撕开四十倍的,往往不是模型名,是包在外面的 harness——同一模型、同一任务集,换脚手架,分数几乎贴平,token 与干等时间却完全不是一档货。

通过率贴平,token 差到约 40 倍

分数贴平,账单炸开

Vats & Golev《The Scaffold Effect》(KDD 2026 AgenticAI Evaluation) 把 Qwen 3.6 Plus 与 MiniMax M2.5 固定住,分别塞进三个开源 harness——Goose、OpenCode、OpenHands-SDK——在 Terminal-Bench Pro 分层抽的 50 题上跑满 300 次试验。

同模型换 harness,通过率差距只有 0–8 个百分点(绝大多数配对 CI 含零):

Harness Qwen 3.6 Plus MiniMax M2.5
Goose 48% 38%
OpenCode 50% 46%
OpenHands-SDK 50% 46%

再看每道已解题的 token(相对 Goose):

Harness · Model Tokens / solved × Goose
Goose · Qwen 28,142 1.0×
Goose · MiniMax 36,950 1.0×
OpenHands · Qwen 841,201 ~29.9×
OpenHands · MiniMax 843,286 ~22.8×
OpenCode · Qwen 1,147,740 ~40.8×
OpenCode · MiniMax 1,546,977 ~41.9×

分数几乎可以互换;账单差两个数量级。OpenCode 相对 Goose 可到约 40×——不是「多跑了几轮」那么简单:平均回合只大约 1.2×,贵在每回合塞进上下文的体积

失败指纹写在脚手架上

更刺耳的是:失败方式会跨模型复现,却按 harness 分型——

  • Goose:REASON 主导——想不通就干净停手。
  • OpenHands-SDK:VERIFY + MAX_TURNS——验到回合上限。
  • OpenCode:TIME + idle / HANG——空转等到超时。

空转回合(既不改文件也不发新命令)同样归 harness:OpenCode 约 2.0–2.16 次/题,Goose 约 0.2–0.3——大约 10×。论文把它写成每题等待/盯梢税:你不但多付 token,还多付人盯着屏幕的墙钟时间。这和「换模型就能治好失败形态」的幻觉是对头的。

(旁证一句:Arena HarnessTax 也报过成功偏移大约 ±2–5%、同模型成本可到约 5×——同向,幅度更小。)

今晚改比较单位

别再拿「模型名 + 通过率」当采购单。今晚做一件可运行的事:把评测与选型的比较单位改成 harness–model 对——同一任务集、同一窗口,并列报通过率、tokens/solved、空转回合、失败向量;在 token/延迟预算下选点,而不是只挑分数最高的那一行。若两个 harness 分数差几个点、token 差一个数量级,你之前买的不是更强模型,是更贵的空转习惯。

判断很简单:比较单位必须是 harness–model 对,不是模型名 alone。(同主题早先写过 harness 即分数;今天的增量是:分数贴平时,账单与等待税仍可差四十倍。)

Pass rates barely move; tokens can jump forty times.

Leaderboards quarrel over two or three pass-rate points and call it “which model is stronger.” Wrong. What can tear your bill open by forty times is often not the model name — it is the harness wrapped around it. Same model, same task set, swap the scaffold: scores stay nearly flat; tokens and idle wait become a different product.

Pass rates flat; tokens up to ~40×

Flat scores, exploding bills

Vats & Golev, The Scaffold Effect (KDD 2026 AgenticAI Evaluation) lock Qwen 3.6 Plus and MiniMax M2.5, drop each into three open-source harnesses — Goose, OpenCode, OpenHands-SDK — on a stratified 50-task Terminal-Bench Pro subset, 300 trials total.

Within-model harness pass-rate gaps are only 0–8 pp (most paired CIs include zero):

Harness Qwen 3.6 Plus MiniMax M2.5
Goose 48% 38%
OpenCode 50% 46%
OpenHands-SDK 50% 46%

Now tokens per solved task (vs Goose):

Harness · Model Tokens / solved × Goose
Goose · Qwen 28,142 1.0×
Goose · MiniMax 36,950 1.0×
OpenHands · Qwen 841,201 ~29.9×
OpenHands · MiniMax 843,286 ~22.8×
OpenCode · Qwen 1,147,740 ~40.8×
OpenCode · MiniMax 1,546,977 ~41.9×

Scores look interchangeable; bills differ by two orders of magnitude. OpenCode vs Goose hits ~40× — not “a few more turns”: average turns are only ~1.2×; the money is in tokens stuffed into each turn.

Failure fingerprints belong to the scaffold

Sharper still: failure modes replicate across models but cluster by harness —

  • Goose: REASON-dominated — clean stop when it cannot reason through.
  • OpenHands-SDK: VERIFY + MAX_TURNS — verify until the turn cap.
  • OpenCode: TIME + idle / HANG — idle until the wall clock.

No-action turns (neither file edit nor new command) track the harness too: OpenCode ~2.0–2.16 per task vs Goose ~0.2–0.3 — about 10×. The paper frames this as a per-task wait/oversight tax: you pay tokens and human wall-clock staring. That kills the fantasy that swapping the model alone will rewrite how your agent fails.

(One-line corroboration: Arena HarnessTax reported ~±2–5% success shift vs up to ~5× cost — same direction, smaller amplitude.)

Change the comparison unit tonight

Stop buying on “model name + pass rate.” Do one runnable thing tonight: make the unit of comparison a harness–model pair — same task set, same window; report pass rate, tokens/solved, idle turns, and the failure vector side by side; pick under a token/latency budget, not the highest score row alone. If two harnesses differ by a few points on pass rate and an order of magnitude on tokens, you were not buying a stronger model. You were buying a more expensive idle habit.

The judgment is simple: the comparison unit must be the harness–model pair, not the model name alone. (Earlier on this site: harness is the score; today’s delta is that when scores look flat, the bill and wait tax can still jump forty times.)