Skip to content

Agent 事故复盘模板:把一次线上失败变成可复用资产 ​

这篇文章解决什么问题 ​

Agent 系统一旦上线,就一定会遇到失败:答错、检索漏召回、工具超时、越权拦截、成本飙升、Prompt Injection、用户投诉。真正拉开差距的不是“永不失败”,而是每次失败后能不能复盘、修复、回归和沉淀。

Agent 事故复盘模板的目标是把一次线上事故转化为工程资产:失败样本、错误分类、评测用例、Runbook、发布门禁和产品改进。

Agent 事故和普通后端事故的区别 ​

普通后端事故通常可以从日志、指标和异常堆栈定位。Agent 事故更复杂,因为失败可能来自模型、Prompt、RAG、工具、状态机、权限、上下文、用户意图和产品交互。

事故来源示例
Prompt新版本 Prompt 导致回答格式不稳定
Model模型切换后工具调用参数变差
RAG检索没有召回关键文档,或引用不支持答案
Tool外部 API 超时、schema 变更、权限不足
State长任务状态丢失、重复执行副作用
SafetyPrompt Injection 诱导模型调用危险工具
Product用户不知道需要审批,误以为任务卡死
Ops队列积压、成本异常、限流配置不合理

因此 Agent 复盘必须覆盖文本质量和工程链路两部分。

复盘文档结构 ​

建议每次事故都按固定模板记录:

  1. 事故摘要
  2. 影响范围
  3. 时间线
  4. 用户视角表现
  5. Trace 与证据
  6. 根因分析
  7. 错误分类
  8. 处置动作
  9. 修复方案
  10. 回归样本
  11. 发布门禁更新
  12. 后续负责人和截止时间

不要只写“已修复”。复盘的价值在于让同类问题以后更早被发现。

事故摘要模板 ​

字段示例
incident_idAGENT-INC-2026-001
发现时间2026-06-06 20:15
发现来源用户反馈、报警、人工巡检、评测回归
影响功能RAG 问答、数据分析 Agent、MCP 工具调用
严重等级P0 / P1 / P2 / P3
当前状态mitigated、fixed、monitoring
负责人owner

严重等级建议和用户影响绑定:

等级判断标准
P0数据泄漏、越权执行、危险副作用、核心服务不可用
P1大范围错误回答、任务大量失败、成本异常飙升
P2局部功能异常、部分用户受影响、有替代路径
P3文案、体验、低风险质量问题

时间线怎么写 ​

时间线要记录“用户发生了什么”和“系统做了什么”。

时间事件证据
20:15用户反馈答案引用错误feedback_id
20:18值班人查看 run tracerun_id
20:25发现检索 top_k 中没有关键文档retrieval_trace
20:40临时回滚 Prompt 版本deploy_id
21:10新增回归样本并验证通过eval_run_id
21:30恢复灰度流量release_id

时间线不要只写结论,要能让后来者复盘定位路径。

Trace 与证据清单 ​

Agent 事故复盘一定要收集证据。没有证据的复盘很容易变成猜测。

证据用途
user_input判断用户意图和输入边界
final_answer判断输出问题
prompt_version判断是否由 Prompt 变更引入
model_config判断模型版本、温度、工具模式
retrieved_chunks判断检索召回和证据质量
tool_calls判断工具选择、参数、错误
state_transitions判断任务状态是否正确推进
approvals判断高风险动作是否经过审批
cost_latency判断成本和性能异常
logs_alerts判断基础设施问题

注意:复盘材料要遵守数据治理要求,敏感信息需要脱敏,跨租户数据不能复制到公共文档。

根因分析框架 ​

推荐用“现象 → 直接原因 → 系统原因 → 预防机制缺失”四层分析。

示例:

层级内容
现象用户问合同条款,Agent 给出错误引用
直接原因RAG 召回的 chunk 不包含关键条款
系统原因文档入库时表格解析失败,关键条款没有被正确 chunk
机制缺失入库质量检查没有覆盖表格解析,评测集没有合同表格样本

不要把根因停留在“模型幻觉”。如果回答错了,要继续追问证据链、检索链、Prompt、上下文和评测覆盖。

错误分类表 ​

分类典型表现后续动作
input_error用户输入不完整、歧义大增加澄清问题
context_error上下文缺失、过长、排序差优化 context packing
retrieval_error漏召回、错召回、权限过滤错误修复入库、召回、rerank
model_error推理错误、格式不稳Prompt、模型路由、评测
tool_error工具超时、参数错、schema 变更工具契约测试
state_error状态跳转错误、重复执行状态机和幂等修复
policy_error越权、审批缺失、策略误拦截权限和策略修复
ux_error用户误解状态或结果前端提示和交互改进
ops_error队列、部署、配置、监控问题Runbook 和报警修复

分类的目的不是贴标签,而是决定修复路径。

修复动作怎么沉淀 ​

一次合格复盘至少产出四类资产:

资产示例
代码修复修复 chunk 解析、工具 schema、状态转移
评测样本把失败输入加入 regression set
监控报警新增引用准确率、工具错误率、队列积压报警
文档 Runbook更新排查步骤、回滚策略、审批规则

如果事故只改了 Prompt,没有新增评测和门禁,下次很可能复发。

回归样本模板 ​

字段内容
case_idregression_contract_table_001
source_incidentAGENT-INC-2026-001
input脱敏后的用户问题
expected_behavior应引用合同表格第 N 条,证据不足时拒答
required_evidencedocument_id、chunk_id
scoringcitation、factuality、no-answer behavior
risk_levelP1
owner评测负责人

失败样本进入评测集后,要标注来源和风险等级,避免未来被误删。

复盘会议问题清单 ​

可以按下面问题开复盘会:

  1. 用户最先感知到的问题是什么?
  2. 系统有没有报警?如果没有,为什么?
  3. Trace 是否足够还原执行过程?
  4. 问题来自输入、检索、模型、工具、状态、权限还是体验?
  5. 是否有临时止血动作?止血是否安全?
  6. 是否需要回滚 Prompt、模型、RAG 索引或工具版本?
  7. 哪个评测集应该覆盖这个问题?
  8. 哪个发布门禁应该阻止类似问题上线?
  9. 是否需要更新用户提示、审批规则或运营台?
  10. 谁负责修复,什么时候完成,如何验证?

面试表达模板 ​

可以这样讲:

我会把 Agent 事故复盘做成工程闭环。事故发生后先收集 run trace、prompt_version、model_config、retrieved_chunks、tool_calls 和状态转移,再按 input、context、retrieval、model、tool、state、policy、ux、ops 分类定位根因。修复不只改代码,还要把失败样本加入 regression set,更新 release gate 和 runbook,确保同类问题下次能被自动评测或报警发现。

常见误区 ​

误区一:把所有问题都归因给模型 ​

模型可能是表现层,根因可能是检索、上下文、工具、权限或产品设计。

误区二:复盘只写给管理者看 ​

复盘文档应该能指导工程修复、评测补样本、运维加报警和产品改交互。

误区三:没有脱敏就复制线上数据 ​

Agent Trace 往往包含用户输入、文档片段、工具参数和内部策略,复盘时必须遵守数据治理要求。