在线评测与离线评测:彼此抓的是对方看不见的那一半。
离线评测在发布前的固定可重复集合上抓回归;在线评测抓你伪造不出来的用户行为。任何一边单干都是半截测量,且两者各有典型的"骗你方式"。本文讲两种评测各自擅长什么、各自会在哪里悄悄误导你、两者之间的桥梁(影子模式、回放、dark launch),以及如何把预算在两边之间分配。
离线:确定、可重复,以及一个关于用户的谎言。
离线评测在受控环境里、用固定的任务数据集跑你的智能体,跑在任何真实用户看到这次改动之前。它的强项很真:你可以用同一套集合跑任何候选(升模型、改提示、换工具)并读出 delta;你可以拿它卡 CI;你可以对每个任务采样 k 次把方差压下去;你可以产出一个发布工程师足够信任、敢去翻开关的数字。
离线评测会跟你撒的谎是有目录可查的。选择偏差:集合里的任务是有人想到去写的那些,不是你真实用户产生的分布。分布漂移:集合是上个季度用户的快照,而产品改动从那以后已经移走了请求的中位数。污染:你信任的某个公开基准已经渗进预训练;前沿模型可能背下了答案表。评测集腐烂——分布漂移在你这一侧的逆:任务引用的 API 改了、网页改版了、工单关闭了。why-agent-eval-is-hard 把门槛立起来;离线评测大体能跨过去——除了那些依赖真实用户分布的部分。
在线:真实用户、真实分布,以及一个关于他们想要什么的谎言。
在线评测观察活的系统:真实用户、真实提示、真实结果,要么由自动谓词打分(用户接受了建议、任务关闭、客服工单没有再开),要么按样本送人工复审。它的强项是离线那些谎言的反面:分布是真的;新奇的用户行为会冒出来;只在长尾提示上才出现的那种 bug 自然地浮上来。
在线评测对你撒的谎更微妙、也更难抓。霍桑效应:知道自己被观察的用户,行为会不一样。新奇效应:新特性会有一波数周内消退的好奇心红利;早期在线胜场往往只是第一周的兴趣,不是持久价值。"凑合用"与"成功"的区别:用户接受了智能体的建议,不代表建议好,只代表好到他懒得回怼。幸存者偏差:最讨厌这个智能体的用户已经走了,他们不在你的在线数据里。最危险的是,在线评测无法告诉你尚未上线的回归——你只能给摆在用户面前的东西打分。
最干净的在线指标,是用户没法用"我不理它"就糊弄掉的那种:底下的任务真的完成了吗、工单关掉后没再被开、用户在同一会话里没再问同一个问题。"点赞"和"没再试一次"是弱信号;"智能体本该产出的结果真的发生了"才是真的。
两者都要,因为单独哪一边都覆盖不了失败面。
离线在事情上线之前抓住回归;在线抓住离线本来就无从知道要测的东西。两者一起构成那对"闸门加监控",让你真的能动起来:
- 离线卡晋升——离线没绿,rollout-and-versioning 里那个新发布三元组不允许越过影子模式去铺开。
- 在线在晋升之后盯行为——对实时信号做异常检测,一旦某项指标在真实用户身上回归就升级到翻开关(或按急停)。
- 反馈环闭合——把生产轨迹里冒出来的新故障形态收回去做成明天的离线任务;这就是 eval-driven-agent-development 里的"生产到评估的飞轮"。
因"反正能在线抓到"而跳过离线的团队,是通过每一份客户工单来认识每一次回归的团队。因"离线套件通过"而跳过在线的团队,是发了一次 CI 里 +3、实际使用里 −15 的改动,并在一周之后才知道。
桥梁:影子模式、回放、dark launch。
这两种模式没有标签让你以为的那么远。三种模式坐在它们之间的桥上,杠杆通常都比单纯哪一头更高:
- 影子模式(shadow)——候选在真实流量上与线上系统并行运行,只有线上系统的输出抵达用户。你离线对比两者,在真实分布上、用户零风险。模型快照升级的最佳第一道闸门。
- 回放(replay)——把捕获的生产轨迹拿出来重跑在候选上,当作离线任务。分布是真的,代价是一次性的;你可以给每次回放打上它最初的发布三元组,方便定位行为漂移。
- Dark launch——新行为对一小片内部流量完全上线,对结果打分但不据此动作。用来在你赌上一次真实发布之前,验证一份评分量表或一名评判者。
这三种都给你"在线分布、离线风险"——评估面里真正干活的那一段。
成本的不对称——以及如何分配预算。
两种模式烧的东西不一样。离线烧的是把任务集写出来并维护下去的工程师工时、每次评估运行的机器时间,以及评分的代价(评判者或人)。在线烧的是真实用户身上的真实 token——每一次"被打分"的请求和普通请求一样贵——再加上评分流水线的运维代价,以及任何在分数赶上来之前已经落地的错动作所赔付的信任代价。
站得住脚的预算分配:每次 push 一个短平快的离线闸门(便宜、面窄、能抓到明显回归);每晚或每个发布候选跑一次完整离线套件(更广、对晋升起决定作用);持续在生产的一小片采样上做在线打分(按代价定 1–10%);对在线异常报出来的任何群体做完整人工复审(人在回路)。要避免的错误是为"什么都在线、永远在线"埋单——多数回归用离线加采样的组合就能以一个数量级少的代价被抓到,省下来的钱正好买真正能抓出那些微妙问题的人工复审。