☰
Agent卡壳了怎么办?Agentic Design Patterns异常处理与恢复模式实战
2026/10/11 20:10:42 网站建设 项目流程
  • 文档
  • 教程
  • AI Agent
  • 人工智能

【免费下载链接】Agentic-Design-Patterns

Agentic Design Patterns

项目地址:https://gitcode.com/gh_mirrors/agen/Agentic-Design-Patterns
点击查看免费下载

AI Agent 干到一半突然卡壳——工具调用失败、API 返回 500、输出前言不搭后语,你该怎么办?开源书籍 Agentic Design Patterns 给出了系统性答案:异常处理与恢复(Exception Handling and Recovery)模式。它教你的 Agent 像人一样应对意外:先检测错误,再从容处置,最后恢复稳定运行,甚至优雅降级、求助人类,而不是一崩了之。

🔍 Agent 为什么会卡壳?三大故障源头

看上面这张图:Agent 解决问题的过程是"领任务 → 扫环境 → 思考 → 行动 → 变强"。问题出在**"行动"**这一步——Agent 一旦开始调用工具,外部世界的不确定性就进来了:

故障源头典型表现
🛠️ 工具调用失败工具入参错误、依赖的外部服务挂了
🌐 API / 网络异常404、500 错误码、超时、响应慢得反常
📄 数据不合法工具返回畸形输出、乱码、格式完全对不上

工具是 Agent 的双手,也是它最脆弱的环节。工具调用失败是异常的头号来源,更多细节见 Chapter 5: Tool Use(Function Calling)-1bE4iMljhppqGY1p48gQWtZvk6MfRuJRCiba1yRykGNE.md):

🧰 异常处理与恢复模式:一套"检测—处置—恢复"三层防线

Chapter 12: Exception Handling and Recovery 把这个模式拆解为三个阶段,核心思想是:主动预防 + 被动响应双管齐下。

第一步:错误检测——在问题爆发前抓住它

错误检测是防线的第一道闸门,信号包括:

  • 工具输出无效或格式畸形;
  • API 返回 404 / 500 等错误码;
  • 服务响应时间异常变长(超时也是错误的一种);
  • 输出胡言乱语、偏离预期格式。

更高级的做法是主动监控:由其他 Agent 或专门的监控系统持续观测 Agent 的指标,发现异常立即拉响警报,把"事后救火"变成"事前预警":

第二步:错误处理——五种标准应对手段

错误一旦被抓到,就进入处置环节。书中给出的"五件套"可以直接抄作业:

手段什么时候用效果
📝 日志记录(Logging)任何错误记下错误细节,方便事后调试与复盘
🔁 重试(Retries)瞬时错误(网络抖动、超时)稍微调整参数再来一次,常常直接解决
🚿 兜底切换(Fallbacks)主路径不可用换备用工具或备用方案,保住基本功能
📉 优雅降级(Graceful Degradation)无法立即完全恢复保留部分功能,至少先提供一点价值
🚨 通知(Notification)需要人类介入时及时告警给操作员或其他 Agent

第三步:恢复——把 Agent 拉回稳定状态

恢复阶段的目标是"止血 + 根因治理",四招组合:

  1. 状态回滚(State Rollback):撤销出错前后的变更或事务,退回干净状态;
  2. 根因诊断(Diagnosis):查清楚错误到底怎么来的,防止复发;
  3. 自我修正(Self-correction):调整计划、逻辑或参数,换一种打法重试——这一步常与 Chapter 4: Reflection(反思) 配合使用:第一次尝试失败抛出异常后,反思流程分析失败原因,用改进的提示词再战一次;
  4. 升级上报(Escalation):问题太严重或太复杂?交给更高级别的系统,或干脆请人类出面,参见 Chapter 13: Human in the Loop。

在多 Agent 架构中,"升级"天然有去处:子 Agent 搞不定时,请求会上升给 Supervisor Agent 统筹决策:

🎯 场景体检:这六类 Agent 最需要异常处理

场景卡壳现场正确的恢复姿势
💬 客服聊天机器人客户数据库临时宕机检测到 API 错误 → 告知用户稍后再试,或转人工
💹 自动金融交易"资金不足"、"市场已收盘"记录日志,绝不对无效交易反复重试,必要时调整策略
🏠 智能家居网络问题导致灯开不了重试一次,仍失败就通知用户手动处理
📄 文档批处理遇到损坏文件跳过坏文件、记录日志,继续处理其余文件,最后汇总报告
🕷️ 网页爬虫验证码、404 / 503、页面改版暂停、换代理,或精确报告失败的 URL
🦾 机器人制造机械臂抓件对位失败传感器反馈 → 重新校准 → 重试,持续失败则告警换件

⚡ 落地套路:一条"主力—备胎—作答"三层链

书中用 Google ADK 给了一个可直接借鉴的最小架构(Chapter 12 实战代码),思路很干净,不需要看代码也能抄:

  1. 主力 Agent(primary_handler):专心用第一工具(精确位置查询)干活;
  2. 备胎 Agent(fallback_handler):检查状态标记"主力是否失败",失败了就退一步,用粗粒度工具(按城市查)兜底;
  3. 作答 Agent(response_agent):只负责把最终结果讲给用户听;拿不到结果就坦诚致歉,而不是硬编。

三者用 SequentialAgent 按固定顺序串联,任何一环失败,链路都能"软着陆"。

✅ 要点速查清单

  • 异常处理与恢复是构建可靠 Agent 的必备模式,不是可选项;
  • 三大阶段缺一不可:检测 → 处置 → 恢复;
  • 检测靠"验证工具输出 + 检查错误码 + 超时 + 监控告警";
  • 处置靠"日志、重试、兜底、降级、通知"五件套;
  • 恢复靠"回滚、诊断、自我修正、升级上报"四步走;
  • 经验法则:只要 Agent 部署在动态真实环境,就要上这个模式。

📖 延伸阅读

  • Chapter 12: Exception Handling and Recovery(本章原文出处)
  • Chapter 4: Reflection(与异常恢复配合的反思模式)
  • Chapter 13: Human in the Loop(升级上报的人类介入模式)
  • Chapter 5: Tool Use(工具调用异常的第一现场)-1bE4iMljhppqGY1p48gQWtZvk6MfRuJRCiba1yRykGNE.md)
  • 文档
  • 教程
  • AI Agent
  • 人工智能

【免费下载链接】Agentic-Design-Patterns

Agentic Design Patterns

项目地址:https://gitcode.com/gh_mirrors/agen/Agentic-Design-Patterns
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询