“以后再加评估”的陷阱:测量债务如何产生复利效应
每个在没有评估(evals)的情况下发布 AI 功能的团队都会对自己讲同样的故事:我们会以后再添加衡量标准,等到找到产品与市场契合点(PMF)之后,等到提示词(prompt)稳定之后,等到下一次发布之后。六个月后,提示词已经被四位工程师和两名产品经理修改过,其行为支撑着三个客户集成,团队发现“以后添加评估”意味着要从从未为此目的结构化过的生产日志中重建意图。本应开发新功能的季度变成了考古季度。
这不是规划错误。而是一个复利错误。为了更快发布而跳过评估的团队,正是那个将花费十二周时间从不完整的追踪(traces)中重建评估基础设施、为二月份所谓的“正确”含义争论不休、并悄悄移除没人能证明依然有效的功能的团队。追赶的成本超过了内置的成本——不是一点点,而是随着每一次未经回归检查就发布的提示词修改而倍增。
从“快速行动”到“盲目运营”的漂移
这种转变在任何一周内都是无形的。第一周,提示词是一段话;编写它的工程师记得每一个决定。第六周,一名 PM 从客户电话中粘贴了三个例子;理由是“这在演示中感觉更好”。第十二周,第二名工程师增加了一个“处理边缘情况 X”的子句,因为一个支持工单提到了它。第二十周,没人知道删除任何一行是否会导致回归,所以没人敢删除。
领先指标是社交性的,而非技术性的。当 PM 开始在 Slack 线程中协商提示词修改——“我们能不能加一句话告诉它不要那么啰嗦?”——团队就已经跨越了门槛。提示词现在是一个没有规格说明、没有版本管理纪律、也没有测试的共享表面。每一次更改都是一场赌博,而庄家正在通过客户投诉来兑现风险。
第二个指标:基于三个客户工单的紧急修复回滚。团队无法区分“影响许多用户的真实回归”和“来自单个集成的响亮投诉”,因此他们根据最响亮的信号进行回滚。在这种情况下这是合理的——因为没有评估,客户工单就是唯一的衡量标准——但这意味着提示词的行为正被最近投诉的人所左右。产品方向变成了样本偏差的函数。
第三个指标是一句话:“如果有回归我们会知道的,因为用户会告诉我们。”这句话应该触发警报。这意味着团队已将质量信号外包给客户,而客户既不系统也不廉价。每一次回归都意味着一个支持工单、一次信任受损,以及工程师一个下午的触发因素追踪。检测每个 bug 的成本比评估套件的运行成本高出几个数量级。
延迟衡量的复利成 本
软件技术债务是线性累积的。评估债务则是复利增长。原因是,每一次未经回归检查的提示词修改都会创建一个新的未知行为承诺——无论团队是否有意,某些用户现在都在依赖这种行为。六个月的修改产生了一个充满了隐式契约的表面,没人记录过,也没人能验证。
最近的行业调查显示,技术债务修复可能消耗高达 29% 的 AI 实施预算,而在推迟基础衡量和治理的情况下,项目面临 15% 到 22% 的进度延误。这些数字实际上低估了 AI 的特殊情况,因为传统技术债务的成本是固定的:重构一个混乱的模块需要多长时间就是多长时间。而评估债务的成本是无限的,因为“以后添加评估”的行为要求你首先决定那些你从未定义过的情况下的正确输出是什么——而做出这些决定的人已经离开了,改变了主意,或者从一开始就从未达成共识。
当生产日志没有为了评估而结构化时,考古问题最为严重。团队发现他们的追踪捕获了最终输出,但没有捕获中间的工具调用(tool calls);或者捕获了提示词模板,但没有捕获填充后的上下文;或者捕获了回复,但因为 PII 脱敏处理太激进,丢失了用户的实际问题。重建评估数据集需要先重建日志流水线,而日志流水线需要没人想追溯做出的产品决策。
与此同时,提示词继续累积修改。团队现在正在同时重构两件事——提示词和提示词的衡量——同时还试图发布触发重构的任何功能。这就是为什么“下个季度再做”变成了“下半年再做”,最终变成了一个拥有三个月授权的专门突击小组。
