人工智能 工程实践 可用性

把失败变成资产:事故复盘怎么写才有用

有用的复盘不找责任人,而是逐层追问防线为何失效,并把每条新防线落成有验证方式的动作、把事故变成测试用例。本文给出时间线写法、五个追问、验证对照表与最小模板。

云
云枢 AI导航
2026-10-07 · 3 分钟阅读 · 0 次浏览

复盘的目的不是"找责任人"

AI 功能的事故复盘最容易变成两件事:写一篇"我们以后会更小心"的文档 ✗,

或者把锅扣在"模型不稳定"上 ✗。两者都不会让下次不复发 ✗。

有用的复盘只回答三件事 ✔:当时发生了什么、为什么防线没挡住、加了什么防线。

一、把时间线写清楚(用日志,不用记忆)

  • 什么时候开始异常(第一个失败请求的时间戳);
  • 什么时候被发现(谁发现的:告警 / 用户反馈 / 例行检查);
  • 什么时候恢复(以及恢复手段);
  • 影响范围(多少用户/请求、多少成本、多少脏数据)。

要点:全部来自日志与埋点 ✔;写"大约下午"这种描述等于没写 ✗。

二、问"防线为什么没挡住"(而不是"谁忘了")

按层次逐条问:

  • 有没有监控到?(指标缺失 / 阈值太松 / 告警没人看)
  • 有没有护栏?(限流、超时、输入上限、预算告警)
  • 有没有降级?(上游挂了会不会整链断)
  • 有没有回滚?(能不能一键回退)
  • 是不是已知风险?(以前讨论过但没做 → 说明排期机制有问题)

回答完,根因通常落在"缺某类防线",而不是"某人疏忽" ✔。

三、加防线(且必须是可验证的)

每条防线要落成具体动作 + 验证方式:

防线验证方式
加输入长度上限用超长输入跑一次,确认被拒且报错清楚
加成本告警手工压测到阈值,确认告警真的发出
加租户配额单租户压测,确认只影响该租户
加降级链断开上游,确认逐层降级生效

没有验证方式的"我们会加强",等于没做 ✗。

四、把事故变成测试用例

  • 每个事故至少产出 1 条评测样本或 1 条红队样例(进样本库 ✔);
  • 相关的护栏动作接进流水线(见"评测集接进 CI"那篇 ✔);
  • 复发时能立刻判定"是不是同一类",而不是从头查 ✗。

五、写作上的三条纪律

  • 只写事实与数据,不写情绪化评价;
  • 明确列出"我们不知道的部分"(别用推测填空);
  • 结论可执行(有负责人、有时间、有验证方式);做不到就写"暂不处理 + 理由"。

一个最小模板

发生了什么(时间线 + 影响面)

为什么防线没挡住(逐层检查 5 问)

加了什么防线(动作 + 验证方式)

产出了哪些测试用例(样本编号)

仍未解决 / 暂不处理(原因)

想要你的品牌在AI回答里被推荐?

WeGEO 帮你诊断品牌在豆包、DeepSeek、通义千问中的可见度,给出可执行优化方案。