logo
29

Debugging & Incident Playbook

⏱️ 35分钟

Debugging 与 Incident Playbook

LLM system 出问题时,最怕的不是 error 本身,而是团队不知道该先看哪里。因为 AI incident 往往不是单点故障,它可能同时牵涉 model、retrieval、prompt、tool、provider、queue,甚至只是某次配置变更把坏行为悄悄放大了。没有 playbook,排障会很像摸黑撞墙。

所以这页的重点不是“出事再看日志”,而是 AI engineer 该怎么把 debugging 和 incident response 做成一套能复用的生产流程。

AI Incident Response Flow


先说结论:先分型,再排障

AI incident 最容易犯的错,是一上来就盯模型输出。
更有效的顺序通常是:

  1. 先判断是哪类事故
  2. 再缩小到哪一层
  3. 最后才做 prompt / model 级定位

如果不先分型,排障会被大量噪音拖住。


AI Incident 常见的 5 类类型

类型常见表现
provider / infra401、403、429、5xx、timeout
quality drift突然更会乱答、乱引、乱格式
retrieval failure找不到 source、citation 空了
tool failuretool timeout、schema 不对、执行失败
cost / latency spiketoken 激增、fallback 过多、P95 爆掉

先把事故归到这类里面,后面定位速度会快很多。


第一轮 Triage 该看什么

更实用的 triage 顺序:

问题你先看什么
有没有刚发过配置 / prompt / model 变更deploy / config timeline
错误是不是集中在某 provider / regionprovider dashboard / route log
是全量都坏,还是某一类请求坏request segment / tenant / feature flag
是 deterministic error,还是质量漂移logs + samples + metrics

AI incident 最怕一上来只盯单个 bad sample。先看面,再看点。


一个更像生产系统的排障分层

你要排什么
request layer哪类用户、哪个 feature、哪个 tenant 出问题
routing layer走了哪个 provider / model / fallback
context layerprompt、history、retrieval chunk 有没有异常
execution layertool、queue、worker、timeout、retry 是否异常
outcome layer质量、cost、latency、schema 是否失控

这样分层后,incident 讨论会比“模型是不是变笨了”更有效。


常见事故怎么快速处理

事故更快的动作
401 / 403先查 key、permission、env 是否变更
429降并发、开 backoff、检查流量 spike
5xx / timeout看 provider health,必要时切 fallback
schema fail先加 repair path 或切回旧 prompt
hallucination surge先收温度、收 scope、加强 source guard

Incident response 里,“先把伤口止住”通常比“立刻找全根因”更重要。


Trace 和 Log,最少要记到什么程度

没有 trace ID 的 AI debugging,后面几乎都会很痛。

建议每个 request 至少关联:

  • trace_id
  • model / provider
  • prompt or config version
  • retry count
  • retrieval source IDs
  • tool call summary
  • latency
  • token usage

不是让你把敏感内容全记下来,而是让你能把一次坏请求在系统里串起来。


Quality Incident 和 Infra Incident 不一样

这是很多 team 会混淆的一点。

Infra incidentQuality incident
明显报错、超时、失败看起来成功,但内容明显变差
更容易用系统指标发现往往要靠 sample review 才发现
通常先看 provider / worker通常先看 prompt / retrieval / policy

如果你把 quality incident 当成普通 5xx 事故来处理,往往会漏掉真正的问题。


Runbook 不该只是文档存档

一个能用的 runbook,至少要写清:

  1. 症状
  2. 快速诊断入口
  3. 临时止损动作
  4. 根因排查路径
  5. 回滚方法
  6. 责任人和升级路径

没有这些,runbook 很容易变成“事后复盘材料”,而不是现场工具。


Postmortem 最有价值的部分

AI incident 的 postmortem 不该只写“问题已修复”。
更该补的是:

  • 哪个监控本来应该更早报警
  • 哪个 bad case 应该进入 eval set
  • 哪个 rollback 开关不够快
  • 哪条 guardrail 本来可以提前挡住

真正好的 postmortem,是把 incident 转成未来的系统能力。


Practice

拿你现在一个线上 AI feature,先补这 4 样:

  1. 一页 incident 分类表
  2. 一页 triage 顺序
  3. 最常见 3 类故障的 runbook
  4. 一组必须进 trace 的字段

这些东西补齐后,出事时团队会稳定很多。

📚 相关资源