Kratoq
← 全部 Bench Notes
POST C / 4 · 旗舰·HOW WE MEASURE·2026

怎么验证一次 LLM 改动 而不自欺

我们调了个旋钮、跑了一次,输出看着更利落。差点就上线了。然后又多跑了几次,那点改进大半没了。下面这套方法,就是我们现在用来在东西到用户手上之前,分清 真改进一次运气 的。

taskCh.1 Foundation synthesis
methodfrozen retrieval
judges2 model families
replicatesn = 4

几乎每周都冒出个新模型、新推理档位,顺手试一个、瞄一眼结果、觉得它更好,太容易了。问题就出在那一瞄。单次跑几乎说明不了什么,而且它很乐意印证你本来就想看到的结论。所以我们搭了个小装置来正经地验。这算不上研究,样本太小,但它不止一次抓到我们判断错了。

1 · 一次只动一个变量

frozen retrieval

多数糟糕的对比一次动了两样。我们只动一样。证据是冻住的——每次都是同样八条已核查的源——prompt 用的是 app 里 真正在跑 的那份,直接 import,不另抄,这样测的才是真会上线的东西。然后只改一个旋钮:model、推理 effort、或长度指令。输出里变了的,就来自那个旋钮。而且便宜:没有实时检索要付费,扫一整轮就是几分钟、几美元。

Fig.C1the rig · one variable moves
HELD CONSTANT8 fixed sourcesreal promptimported, not retypedvary ONE knobmodel · effort · lengthN cellsany Δ ⇒caused by that knob
隔离变量。把证据和 prompt 按住不动、只动一个旋钮,对比从设计上就是公平的——没有实时检索,一整轮就是几分钟、几美元,不是几小时加一笔预算。

2 · 盲评——还让 对家 来评

self-preference is real

让模型给自己的输出打分,它往往偏爱自己写的。所以我们把每个候选的标签都抹掉,两个族都来评——Opus 评 Sonnet 的、Sonnet 评 Opus 的。两个默认档打平,4.68 对 4.68。要紧的是后面这步:换了评分方,排序纹丝不动。不管 Opus 还是 Sonnet 执笔,Opus 都不低于 Sonnet。要是只有一个判官说"平",我们是不敢信的。

Fig.C2composite /5 · who graded whom · axis 4.50–4.85
4.604.704.804.504.784.634.604.60Opus's workSonnet-5's work
Opus 评的Sonnet-5 评的
跨模型族评分。Opus 自己的判官给它打得比 Sonnet 的判官略高(4.78 vs 4.63);Sonnet 的判官没有这种自抬(4.60 = 4.60)。这点轻微的自我偏好从没翻转排序——不管谁执笔,Opus 都 ≥ Sonnet——而两个默认档本身打平在 4.68/5。

3 · 然后 replicate——因为 单次会骗你

the run that nearly fooled us

就是这一刻。在最高推理档,第一次输出抓到两个默认档漏掉的方法学点——我们的深度指标涨了 75%,足够说服自己去付那个贵档位的钱。然后又跑了三次。那两个点一次都没再出现。四次下来,这点差距塌回了普通的逐次波动,而真正撑起这份简报的方法学,两个档位每次都在。单次是你说给自己听的故事。你只有重复时才看得见规律。

Fig.C3max effort · depth vs default · n=1 → n=4

what n=1 suggested

+75%

首次抓到 7 vs 4 点

what n=4 showed

+25%

5.0 vs 4.0 — 在波动内

每次跑的 max 深度点:7 · 5 · 4 · 4。那两个"额外"洞察只出现一次、再没有过;载重方法学每次跑、两个档位都在。

4 · 这套方法也抓到了 我们自己 的错

two honest edges

判官的盲区。为省 token,我们递给评分者的是一份 缩短过的源。它们标出了"编造"——可那些被标的细节明明就在完整源里,只是不在我们那份短版里。这个 eval 在制造它本该抓的问题。修法:给评分者完整的源,别给精简版。

成本幻象。我们一开始直接从 dev CLI 读成本。它背着自己的缓存 system prompt,把报出来的数字抬高了 3–4×,还把"谁更便宜"也颠倒了。你得按真正要部署的形态、用公开 list price 重新算。dev 工具打印的那个数,不是那个数。

清单

the checklist we wrote ourselves

  1. 01除了你要测的那一个变量,其余全冻住。
  2. 02import 真实生产 prompt——绝不另抄一份干净版。
  3. 03候选匿名;跨模型族评分,别只用自家的。
  4. 04Replicate。单独跑得好那一次,什么都证明不了。
  5. 05给判官完整证据,不是图省事的摘要。
  6. 06按真实部署形态量成本,不是 dev CLI。

Bench note · honest edges

单案例、流水线里的一步、小 n,深度是关键词探针数出来的,不是人读的。方向性的,下不了定论。我们也把这套方法用在了自己的数据上,这才是我们能指着这些窟窿说话的原因。