摘要
传统服务的 SLO 通常围绕可用性与延迟,用在 AI 服务上会漏掉最重要的一环:质量。一个响应快、从不报错但答案越来越差的系统,在传统监控下表现完美。本文拆解 AI 服务应当定义的四类 SLO、为什么尾延迟比平均延迟更重要、影子流量如何用最低成本验证变更,以及灰度扩量的通过标准。2026 奇点智能技术大会(11 月 20-21 日 · 北京万达文华酒店)将讨论 AI 工程实践与可靠性。
一、传统 SLO 缺了什么
一个典型的传统 SLO 是"可用性 99.9%、P99 延迟 < 500ms"。套在 AI 服务上会出现三种漏检:
漏检一:质量下降。提示词改错一个词,系统照常返回 200,延迟正常,但答案质量明显下降。传统指标完全看不到这件事。
漏检二:静默降级。模型不可用导致自动降级到小模型,系统仍返回 200。从可用性看没问题,从质量看是事故。
漏检三:内容异常。输出格式漂移、重复生成、长度异常——这些都不会触发传统告警,却会让下游解析失败。
传统 SLO:能不能用(可用性、延迟) AI 需要补:用得好不好(质量、格式、内容异常)二、四类 SLO
建议为 AI 服务定义四类指标,每类给出具体目标。
| 类别 | 指标示例 | 为什么需要 | 数据难度 |
|---|---|---|---|
| 可用性 | 成功响应比例 | 基础 | 低 |
| 延迟 | P50/P95/P99 首字与总耗时 | 体验 | 低 |
| 质量 | 抽检通过率、任务完成率 | 核心价值 | 中到高 |
| 成本 | 单位请求成本、缓存命中率 | 可持续 | 中 |
第三类是最难也最重要的。常见的替代做法有:
- 用下游行为反推:用户是否重试、是否修改、是否放弃
- 用小模型或规则做自动打分,人工定期校准
- 固定评测集跑分(离线)+ 线上抽检(在线)
三种可以组合,但必须至少有一种——完全没有质量指标的系统,等于在盲飞。
三、为什么尾延迟更重要
平均延迟具有欺骗性。三个理由:
其一,长尾请求往往是复杂请求。它们处理时间长是正常的,但正是这些请求的用户体验最差,也最可能流失。
其二,平均值会被大量简单请求拉低。一个 200ms 的简单请求可以掩盖十个 3 秒的复杂请求。
其三,尾延迟决定容量规划。为了压住 P99,往往需要预留额外容量,这部分成本是真实的。
建议同时监控: · 首字延迟(TTFT):影响"是否卡住"的感知 · 总耗时:影响整体体验 · 分位数:P50 / P95 / P99 三档 · 按请求类型分桶后的分位数最后一项最关键也最常被省略:长短请求混在一起算分位数,结论基本不可用。
四、影子流量:最低成本的验证方式
模型或提示词变更前,先让新版本接收真实流量但不返回结果,只用于对比。这就是影子流量。
它解决什么问题?离线评测集与真实分布总有差异,而直接灰度有风险。影子流量提供了介于两者之间的选项:真实流量、零用户影响。
需要注意四点:
- 成本翻倍:影子请求同样消耗算力,需要评估预算
- 不要影响生产:影子链路的失败与延迟不能影响主链路
- 对比要按请求配对:同一请求的新旧输出对比,才有意义
- 要有明确的对比指标:相似度、格式合法性、关键字段命中率
defshadow_compare(request,prod_model,shadow_model):"""影子对比示意:生产结果照常返回,影子结果只记录差异。"""out=prod_model(request)# 主链路,正常返回try:alt=shadow_model(request)# 影子链路,异常不影响主链路record(diff_metrics(out,alt),request.meta)exceptExceptionase:record_error(e)returnout注意try/except的位置:影子链路的任何异常都不能传导到主链路。这是影子流量最重要的实现约束。
五、灰度扩量的通过标准
从 1% 到 100% 的每一步,都应有明确的通过/回滚标准。建议:
- 1% 阶段:观察错误率与质量信号,运行至少一天
- 10% 阶段:对比分位数延迟与成本,确认无显著劣化
- 50% 阶段:观察长尾与高峰时段表现
- 100%:保留快速回滚能力至少一个发布周期
每个阶段的通过标准应当预先写下来,包括"什么数字算异常"。临时判断容易被乐观情绪影响,事前约定则不会被绕过。
六、告警该看什么
三类告警最有价值:
其一,质量信号突变。抽检通过率、用户重试率、负面反馈率的突然变化。这是最能反映真实问题的信号。
其二,输出特征漂移。平均输出长度、格式失败率、拒答率的显著变化。这些指标成本低且敏感。
其三,成本异常。单位请求成本突然上升,通常是提示词变长、缓存失效或重试增多。
告警优先级建议: 质量突变 > 输出特征漂移 > 延迟 > 成本 > 可用性 ↑ 可用性问题最容易发现,也最晚才影响用户信任七、质量类 SLO 的落地方法
质量指标最难,但也最值得投入。三种落地方式由易到难。
方式一:代理指标。用可自动计算的信号近似质量,例如格式合法率、拒答率、输出长度分布、用户是否重试。优点是可全量计算,缺点是只是近似。
方式二:抽样人工评估。每天抽取固定数量的真实请求,人工判定是否可接受。优点是真实,缺点是滞后且成本高。
方式三:模型辅助评分 + 人工校准。用评分模型对全量请求打分,定期用人工评估结果校准评分模型。这是目前性价比最高的折中方案。
组合建议:代理指标做实时监控 + 抽样人工做周度校准 ↑ 两者缺一,质量监控都会失真需要注意的关键点是:代理指标必须与人工评估做过相关性验证。一个与用户感受无关的代理指标,只会带来虚假的安全感。
八、读者问答
问:SLO 定多少合适?
先测量现状,再定一个略高于现状的目标。凭空设定 99.9% 之类的数字没有意义,也无法指导改进。
问:影子流量要跑多久?
至少覆盖一个完整业务周期(通常一周),并且包含一次高峰时段。只跑两天的影子流量会漏掉周期性模式。
问:灰度期间出问题算事故吗?
应该按小范围事故对待并复盘。灰度本来就是用来发现问题的,发现问题正是它起作用的证据。
问:SLO 达不到怎么办?
先判断是目标过高还是系统有问题。如果是后者,需要明确改进项与期限;如果是前者,调整目标并说明依据。不要为了让数字好看而修改定义。
九、SLO 与成本的取舍
SLO 定得越高,成本越高。这个取舍必须显式做出,而不是默认"越高越好"。
延迟与成本的关系最典型:为了压住 P99,需要预留更多容量或降低批处理大小,两者都推高单位成本。
质量与成本的关系同样存在:用更强的模型、更多的检索候选、更多的自我校验轮次,质量提升但成本上升。
合理的做法是按业务分级:
| 业务类型 | 延迟目标 | 质量目标 | 成本容忍 |
|---|---|---|---|
| 实时对话 | 严格 | 中 | 中 |
| 离线批处理 | 宽松 | 高 | 低 |
| 高风险决策 | 中 | 严格 | 高 |
| 内部工具 | 中 | 中 | 低 |
关键是把这张表写下来并让各方认可。没有共识时,工程团队会在"为什么这么慢"和"为什么这么贵"之间来回受挤压。
十、读者问答
问:影子流量的结果如何判断?
看三类差异:输出相似度、格式合法性、以及关键指标(如是否正确引用)。相似度高不代表没问题,格式与关键指标同样重要。
问:影子流量会不会影响生产数据?
设计得当不会。影子链路只读取请求副本,不写入任何生产状态。这是影子流量的底线约束。
问:SLO 需要对外承诺吗?
视商业模式而定。对外承诺的 SLO 需要更严格的容量规划与更保守的变更节奏。内部目标与对外承诺应当区分管理。
问:如何避免 SLO 流于形式?
把 SLO 与变更决策绑定:违反 SLO 时暂停功能发布,优先修复。不与决策绑定的指标,最终都会变成装饰。
十一、最后几个问题
问:影子流量与 A/B 测试的区别?
影子流量不影响用户,只做对比;A/B 测试会真实分流并影响部分用户。前者用于验证,后者用于决策。
问:AI 服务需要容量演练吗?
需要。模型服务的容量特性与传统服务不同(显存、批处理、排队),常规压测方法未必适用。
问:如何设定质量类告警的阈值?
基于历史波动范围设定,而不是按理想值。阈值过敏感会导致告警疲劳,最终被忽略。
问:SLO 应该多久评审一次?
建议每季度评审一次,或在业务形态发生重大变化时追加评审。
十二、衔接大会专题
问:SLO 是否应该包含成本目标?
建议包含。成本失控是 AI 服务最常见的长期问题,把它写进 SLO 能让成本成为一等约束,而不是事后被动削减的对象。
问:影子流量能否用于长期对比?
可以。长期保持小比例影子流量,能持续监控新老版本的相对表现,及时发现能力漂移。
问:质量指标波动大怎么办?
先确认波动来自真实变化还是采样噪声。样本量不足时,指标波动往往只是噪声,需要提高样本量或延长观察窗口。
问:影子流量的成本如何控制?
按比例采样(如 10% 流量进影子),既能获得统计意义上的对比结果,又能把成本控制在可接受范围。
问:SLO 与 KPI 的区别?
SLO 是系统对外承诺的可度量目标,KPI 是团队内部的考核指标。把两者混用会导致指标被人为调整。
11 月 20-21 日,北京万达文华酒店,2026 奇点智能技术大会将讨论 AI 工程实践、可靠性与成本治理;C++ 及系统软件技术大会则从监控、剖析与并发控制角度给出方法论。
带着"我的 AI 服务有没有一个质量类 SLO"这个问题的答案去参会,会立刻知道自己处在什么阶段。
大会信息
2026 奇点智能技术大会 + C++ 及系统软件技术大会
时间:2026 年 11 月 20-21 日
地点:中国·北京万达文华酒店
大会报名:点击报名,领取大会PPT资料
立即报名,锁定 Lukasz Kaiser Keynote 与 70+ 场演讲完整资料!