Agent 自省与错误恢复模式:当 Agent 出错时如何自行诊断和修复

Agent 自我修正能力从简单重试进化为多阶段自省流程:错误检测→根因分析→修复方案→验证确认。Claude Code 和 Codex CLI 分别实现了不同的自省与恢复机制,显著提升了 Agent 任务成功率。

Self-ReflectionError RecoveryRobustnessResilience

Agent 出错后的自恢复能力是评价其鲁棒性的核心指标。早期 Agent 在工具调用失败时只会简单重试,往往在同一个错误上反复失败。当前主流 Agent 实现了多阶段自省恢复流程。第一阶段:错误检测(Error Detection)——Agent 不仅捕获工具调用的异常返回,还通过分析返回内容推断潜在问题(如数据不完整、格式错误、逻辑矛盾)。第二阶段:根因分析(Root Cause Analysis)——Agent 根据错误类型和上下文分析失败原因。是工具参数错误?工具本身故障?还是模型推理偏差?第三阶段:修复方案(Fix Plan)——Agent 基于根因分析生成修复方案,可能包括修正参数、切换替代工具、拆分任务或向用户请求澄清。第四阶段:验证确认(Verification)——Agent 执行修复后验证结果是否符合预期,如果仍然失败则进入新一轮自省循环。

在《从零起步 Agent Harness》课程中,自省恢复模式被作为「Agent 鲁棒性工程」的核心设计模式。课程教学习者如何在自己的 Agent 系统中实现自省循环:通过 MCP 的 tool result schema 获取结构化错误信息;在 Agent 的 system prompt 中植入「Failure Analysis」指令,要求 Agent 在每次失败后输出分析报告;设置最大自省循环次数(建议 2-3 次),防止无限循环。关键是:自省恢复不是全能的——当 Agent 连续两次以同样的方式失败时,应当上报而不是继续重试。好的自省循环设计应当在提升成功率(+30-50%)和控制成本(增加 1-2 轮调用)之间取得平衡。