正在刊行长文 · Essay
2026-08-23所有内容
随机比特 · Random Bits

总体通过率还是 91%,关键用户已经全坏了

2026-08-23AI Engineering / Systemsrbits.uk
总体通过率还是 91%,关键用户已经全坏了

我先构造了一组确定性最小实验。1000 条回归样本中,关键切片只有 20 条。基线版本总体通过 910 条,其中关键切片通过 16/20,普通样本通过 894/980;候选版本总体仍通过 910 条,但关键切片只剩 4/20,普通样本则升到 906/980。关键切片少通过的 12 条,恰好被普通样本多通过的 12 条抵消。

于是两版总体通过率都是 91.0%,可关键切片已经从 80.0% 跌到 20.0%。若流水线只有“总体不低于 90%”这一条规则,候选版本会显示 passed。数据来源仅限本地构造脚本;它不对应生产事故,也不能作为厂商 benchmark。脚本每次运行都会得到同一结果。

基线与候选总体通过率同为百分之九十一,关键切片却从百分之八十跌至百分之二十,普通样本的小幅提升正好抵消关键切片损失。

总分保持不动,不等于每一类用户都被保护。

平均值没有撒谎,发布对象却错了

总体通过率按样本数量加权。980 条普通样本稍有改善,当然可以在算术上抵消 20 条关键样本的断崖式退化;平均值忠实回答了“全部样本合起来通过多少”,却没有回答“代价最高的失败是否仍在承诺范围内”。

这两个问题不能混用。闲聊回答不够自然,用户也许重问一次;多币种退款、管理员权限或不可逆工具调用一旦出错,补救成本可能高几个数量级。流量占比描述的是出现频率,不是失败价格。允许普通样本为关键切片补分,等于用多数人的低风险进步,为少数人的高风险失败买单。

因此,总分适合描述版本的大致方向,不适合单独签发上线许可。平均值没有撒谎,错误发生在发布规则把流量权重误当成风险权重。

发布决策必须跟着失败代价走,不能跟着流量权重走。

发布门应跟着失败代价走

一套三道门已经足够。第一道是总体底线,防止系统普遍退化;第二道是关键切片绝对门,保证高风险任务至少维持可接受水平;第三道是相对退化门,即使候选仍高于绝对值,只要相对基线跌幅超过容忍范围,也要阻断发布。

三道门全部满足,结果才是 passed;任一道失败,结果就是 blocked。在进入判断前还要核对关键切片的样本量。样本不足不意味着风险不存在,只表示无法作出可靠结论,此时应返回 insufficient_evidence,补充定向样本或转人工复核,而不是把缺少证据涂成绿灯。

候选版本依次通过总体底线、关键切片绝对门和相对退化门,最终进入通过、阻断或证据不足三种发布状态。

发布门需要三种答案:通过、阻断,以及尚无足够证据。

本次实验把关键切片绝对门设为 70%,相对退化最多 10 个百分点,最低样本量设为 20。候选版本在绝对门处就被阻断。这里的数值只是实验参数,不能原样复制进生产;真正需要复用的是决策结构。

切片应成为风险合同

关键切片应按失败代价定义,而不是按用户多少定义。影响范围、可逆性和发现延迟,通常比流量更接近真实风险。团队可以先挑一个最不允许失守的任务,把人群边界、基线、样本规则和阈值随评测版本保存;定义发生变化,就建立新的可比基线。

切片也不应无限增加。它的目的在于把业务承诺变成发布条件;让仪表盘长满格子没有意义。每次事故可以补充同一失败机制的相邻样本,但不能只把那一道错题塞回测试集,假装系统已经学会了整类问题。

这组构造实验最终只证明一件事:91% 可以完全正确,却不足以决定能否发布。可靠的回归门不问“多数样本能否把总分补回来”,而问“失败代价最高的用户,是否仍然处在我们承诺的边界内”。证据不够就继续取证,关键切片失守就阻断;普通样本的进步,不能替关键用户的失败买单。

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。