Workshop

livenerf 实战:用 30 天冻结面板检测模型发布后有没有被偷偷削弱

DOC
N°472
DATE
Oct 1, 2026
READ
6 min read
TAGS
模型评测, livenerf, Inspect-AI, Claude-Code, 统计检验

「新模型发布两周后好像变笨了」大概是 AI 社区最经久不衰的阴谋论。每一次大版本发布后,总会有人贴出聊天截图说质量下滑,厂商则回应什么都没改。双方都没有证据:用户没有发布当天的基线,厂商没有公开路由细节。9 月 29 日登上 Hacker News 首页的开源项目 livenerf,就是冲着这个死局来的——它在 Claude Opus 5.5 发布当天开始记录基线,用一套预注册的统计流程,回答一个曾被认为无法回答的问题:模型发布之后,到底有没有被悄悄换掉或者削弱?

问题为什么难:你永远回不到发布那天

检测模型降级(社区黑话叫 nerf)在方法学上有个根本障碍:要判断「变差」,你需要一个「发布时」的参照点。等社区意识到异常时,模型可能已经运行了几周,当时的快照再也无法复现——厂商可能已经换了量化方案、换了路由策略,甚至换了同名不同权的模型。livenerf 的核心洞察是:与其事后争论,不如在发布当天就把钟表锁死。

项目作者选中的时机非常精准。Claude Opus 5.5 于 9 月 22 日发布,livenerf 在 9 月 24 日 22 点 10 分 UTC 跑了第一轮基线,距发布约两天半。它给这个项目贴的标签很能说明气质:append-only(只增不删)、deterministic-as-possible(尽可能确定性)、boring(无聊)。评测框架用的是英国 AI 安全研究所的 Inspect AI,统计方法直接照搬 Anthropic 自己的论文《Adding Error Bars to Evals》,保证没有自造的统计口径可以抬杠。

第一步:从 2336 道题里筛出 78 道「边界题」

整套方法的第一块基石是面板(panel)设计。检测漂移不需要海量题库,需要的是对模型变化敏感的题目。livenerf 的做法分三层筛选:

先取 GPQA Diamond、MMLU-Pro、竞赛数学和 AIME 2025 到 2026 的题共 2336 道,每道题用 Opus 5.5 采样 4 次。结果非常符合预期:首试通过率约 93%,而且 97% 的题目要么四次全对、要么四次全错。恒对的题检测不出退化——模型再差也能做对;恒错的题同样没用。真正携带信号的是那 78 道「sometimes right」的题:模型有时做对、有时做错,通过率的任何系统性移动都会体现在这批题上。

第二层修正更见功力。按「有时对」标准筛题会引入选择偏差:这批题看起来接近五五开,实际难度并非如此。livenerf 用新鲜样本复测,发现这批题的真实通过率是 62.0% 而非筛选时的 54.7%,于是功效计算全部改用新鲜率,而不是被筛选过程污染的表面值。

第三层是题目质量审计。报告发现 78 道题里有 8 道答案键疑似错误、30 道表述歧义。这在大模型只有「有时能做对」的题目里是正常比例——恰恰是强模型勉强够得着的题最容易出争议。livenerf 的处理方式不是偷偷删题,而是预注册一个敏感性分析:正式结论同时报告含争议题与剔除争议题两个版本。

第二步:把不可控的推理服务冻进可控的 harness

第二块基石是 harness 冻结。通过订阅服务调用模型,采样温度、思考预算这些参数都不暴露给用户,服务端随时可能变化。livenerf 的策略是:既然无法控制模型本身,就把其他一切控制到死。

具体做法是每天用 headless 模式的 Claude Code(claude -p 命令行)跑完整面板,90 个样本一轮,命令行版本钉死在 2.1.280,整套 harness 的哈希值固定为 461391b6fce64167,每一天的运行都验证哈希一致才计入。原始日志永久保留,评测脚本只增不改。到 9 月 30 日,项目已完成 7 天采集,无一漏跑,其中第 5 天有一次预算守卫被覆盖,也被如实记入偏差日志而不是掩盖。

这里有个容易被忽略的脏细节:订阅入口的安全分类器有时会拦截生物类或部分数学类请求,有时甚至改用 Opus 5 回答。livenerf 的处理是把被分类器碰过的样本直接剔除并计数,保证面板只测量目标模型本身。这种对数据洁净度的偏执,正是家用级评测和专业评测的分水岭。

用 Inspect AI 组织任务的方式大致如下:

from inspect_ai import task, eval
from inspect_ai.dataset import json_dataset
from inspect_ai.scorer import choice
from inspect_ai.model import get_model

@task
def livenerf_panel():
    return json_dataset("panel/frozen_78.jsonl"), choice()

# 每天 22:10 UTC 定时执行,harness hash 必须与基线一致
# eval(livenerf_panel, model="claude-code/opus-5-5", limit=90)

第三步:校准——先用已知的降级验证仪器灵不灵

一块温度计在测量未知之前,得先在冰水里试过。livenerf 做了预注册的阳性对照实验:人为把 effort 从 high 降到 medium 和 low,看仪器能不能检出这个已知降级。结果给出了整篇项目里最有工程价值的结论:

effort 降到 low 时,输出 token 减少 62%,准确率下降 8.3 加减 4.5 个百分点;降到 medium 时,token 减少 26%,准确率只降 4.2 加减 3.9 个百分点。两组实验里 token 的相对变化都远比准确率显著。换句话说,厂商如果通过压缩思考预算来悄悄降级,输出 token 量是最先报警的仪表,准确率反而是迟钝的。这也是为什么 livenerf 同时追踪两条曲线——单看准确率,很可能在噪声里错过真实变化。

校准同时揭示了仪器的检测下限:每天跑一轮全面板,一个 10 天窗口能检出约 7.5 个百分点的准确率变化。这个灵敏度够用吗?项目自己的负面对照给出了残酷答案:把 Opus 5 塞进 Opus 5.5 的位置,测得差异为负 3.8 加减 6.3 个百分点,在 99% 置信水平下无法区分。也就是说,如果厂商只是做了同家族内的小幅模型替换,这套仪器会漏报。作者把这个局限原原本本写进了 README,而不是藏在脚注里——这种诚实在评测项目里比高灵敏度更稀缺。

你可以怎么搭一个自己的 livenerf

这套方法完全可复用,给任何关心某个订阅模型稳定性的团队或个人。核心流程五步:

第一,发布当天(越早越好)冻结题面板。不必是 2336 道题的规模,300 到 500 道题、每题采样 4 次,筛出时对时错的边界题,50 到 100 道就够支撑初步功效计算。题源用 GPQA、MMLU-Pro 这类公开且不易被训练数据污染的基准。

第二,写一份预注册文档。把面板构成、统计口径、判定阈值、敏感性分析方案全部在开始采集之前锁定。预注册的意义在于防止事后挪动球门——这也是 livenerf 与一般「我测了三天觉得变笨了」帖子的本质区别。

第三,固定 harness。命令行版本、评测框架版本、运行时刻全部钉死,每天运行前校验配置哈希。日志只增不改,任何人为干预都要写进偏差记录。

第四,同时记录准确率和输出 token 两条曲线。token 曲线是更早报警的那一个,尤其对思考型模型。

第五,攒够窗口再下结论。10 天基线起步,之后按窗口对比,报告置信区间而不是单日涨跌。单日波动毫无意义,这一点对 90 样本的小面板尤其成立。

结语:把玄学变成仪表盘

livenerf 目前的进度是 30 天计划跑完 7 天,第一行正式结果要到第 20 天之后,首次可下结论的日期在 10 月 24 日前后。无论最终结论是「Opus 5.5 稳如磐石」还是「确实出现了可检出的漂移」,这个项目的方法论价值都已经兑现:它证明了个人开发者也能用一套冻结面板、一条订阅通道和一份预注册文档,把模型稳定性的争论从 vibes 拉回到统计检验的地面。当模型厂商的发布节奏快到两周一个版本,这种「发布日基线」的基础设施,或许会成为每个严肃 AI 团队的标配。

Frequently asked questions

livenerf 能证明模型真的被削弱了吗?
不能直接证明,它只提供统计证据。按预注册协议,前 10 天是基线窗口,之后两个 10 天窗口与之对比,最早要到第 20 天才出第一行结果,首次可下结论的时间在 10 月 24 日左右。它的价值在于把「感觉变笨了」变成可检验的假设。
为什么用输出 token 数而不是只看准确率?
校准实验显示 effort 从 high 降到 low 时,输出 token 减少 62%,准确率只下降 8.3 个百分点;降到 medium 时 token 减少 26%,准确率只降 4.2 个百分点。token 是更灵敏的降级信号,准确率反而容易淹没在抽样噪声里。
为什么不用 API 而走 Claude Code 订阅?
传闻中路由降级恰恰发生在订阅服务端,API 的模型行为与订阅入口可能不同。用 headless 模式的 claude 命令行跑批量评测,最接近真实用户路径。代价是采样参数不可控,只能靠冻结其他一切变量来逼近确定性。
78 道题的 panels 是怎么选出来的?
先对 2336 道 GPQA Diamond、MMLU-Pro、竞赛数学和 AIME 题目每题采样 4 次做筛选,Opus 5.5 首试通过率约 93%,其中 97% 的题目恒对或恒错,剩下 78 道时对时错的题才是有统计功效的信号源,构成正式面板。
这个方法的致命局限是什么?
作者自己验证过:把 Opus 5 换进 Opus 5.5 的位置,在 99% 置信水平下无法区分,差异为负 3.8 加减 6.3 个百分点。也就是说同家族、能力相近的模型替换逃得过这套仪器,只有更大的降级才可检出。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.