机器学习系统设计 · 决策合同

发布不是看一个高分,而是过完四道闸门

先约定“多大提升才值得发布”,再写清不能越界的代价。拖动实验读数或修改合同门槛,你会看到业务指标与护栏怎样共同改变发布结论。

把实验结果送过四道闸门

这个例子沿用工单分流场景:我们希望紧急工单更快得到响应,但不能挤压普通队列,也不能把人工队列和在线服务推到危险区。

初始状态
预设情境

预设只替换实验读数,不修改合同门槛。门槛应在看结果之前约定。

当前发布结论

需继续实验

护栏安全,但业务提升还没有达到最低门槛。

3 / 4 道闸门通过
  1. 业务提升门

    等待计算。

    待提升
  2. 普通队列护栏

    等待计算。

    通过
  3. 人工负载护栏

    等待计算。

    通过
  4. p95 延迟护栏

    等待计算。

    通过
调整实验读数与发布合同
业务指标

紧急工单 p90 响应时间下降

越高越好。它回答“真实业务结果有没有改善”。

+6.0%

实际提升达到或超过门槛,业务闸门才通过。

护栏指标 1

普通工单 24 小时内响应率

防止模型只照顾紧急工单,反而让普通队列长期拥堵。

92.0%

读数必须落在闭区间内;下限不能高于上限。

护栏指标 2

优先人工队列占用率

过高会挤爆人工容量,过低则可能说明分流策略没有真正工作。

74.0%

可接受区间同时约束容量风险和策略有效性。

服务护栏

在线推理 p95 延迟

95% 的请求应在这个时间内返回;延迟上限是硬约束。

120 ms

实际 p95 等于上限仍算通过,超过 1 ms 也会否决发布。

判定优先级:合同无效或任一护栏越界 → 不可发布;护栏全部安全但业务提升不足 → 需继续实验;四道闸门全部通过 → 可发布。

先分清三层指标,再看结论

三层指标回答的不是同一个问题。模型指标适合指导开发,业务指标和护栏指标才共同决定线上实验是否值得继续扩量。

  1. 业务指标

    回答“真实决策有没有带来想要的结果”。本实验用紧急工单 p90 响应时间下降表示,必须达到预先约定的最小提升。

  2. 模型或代理指标

    回答“预测是否更接近标签”,例如紧急工单召回率、排序质量。它是迭代和离线筛选的尺子,不能单独替代发布结论

  3. 护栏指标

    回答“这次改善是否换来了不能接受的代价”。普通队列、人工负载和延迟任何一项越界,都会否决发布