在大模型驱动的 Agent 系统进入生产环境后Agent 跑挂了怎么办成为最现实的工程问题。本文从系统可靠性视角深入剖析 AI Agent 在长程任务、工具调用、外部依赖三类典型故障模式下的容错设计。一、Agent 失败的三个根本原因### 1.1 工具调用失败的传播性当 Agent 调用外部 API、数据库、代码执行沙箱时单次工具失败如果未处理会污染后续所有推理步骤最终导致整个任务链路崩塌。### 1.2 上下文窗口耗尽长程任务中上下文逐渐累积关键信息被淹没。模型在有限注意力下看错或漏看关键信息产生幻觉式失败。### 1.3 状态机陷入死循环ReAct 类 Agent 在错误路径上反复尝试缺乏跳出机制和重试预算。生产环境曾观察到 Agent 连续重试 200 次仍无法脱困。## 二、四级容错架构### 2.1 L1单次工具调用级重试指数退避Exponential Backoff 抖动Jitter避免雪崩。tenacity库是 Python 生态标配。pythonfrom tenacity import retry, stop_after_attempt, wait_exponentialretry(stopstop_after_attempt(3), waitwait_exponential(min1, max10))def call_tool(tool_name, params): return tool_registry[tool_name](**params)text### 2.2 L2任务级断点续传借鉴 ETL 工程的 Checkpoint 思想每个关键步骤持久化状态SQLite/Redis失败时从最近 Checkpoint 恢复而非重头开始。### 2.3 L3Agent 级熔断与降级借鉴 Hystrix 模式当某个工具连续失败 N 次临时熔断该工具转而调用降级路径如 LLM 自身回答、人工接管。### 2.4 L4系统级人工接管当 Agent 在所有自动策略下仍无法脱困触发 Human-in-the-Loop 升级将当前状态推送至运营人员。## 三、状态可观测容错的前提没有可观测性就没有容错。生产级 Agent 必须暴露- 当前执行步骤、Token 消耗、工具调用次数- 每步推理的输入/输出快照- 失败原因分类超时/格式错/业务异常/超时/越权推荐用 OpenTelemetry LangSmith/Langfuse 双链路追踪。## 四、实战一个订单查询 Agent 的容错设计业务场景用户询问上周买的那双鞋到哪了Agent 需要1. 查询订单系统获取订单列表2. 根据用户描述匹配目标订单3. 调用物流 API 查询物流状态4. 生成自然语言回复容错设计要点- 步骤1失败 → 提示无法查询订单请稍后重试不进入步骤2- 步骤3失败 → 降级为请联系物流公司不暴露技术细节- 步骤4LLM失败 → 模板化兜底回复避免AI 助手崩溃- 整体超时 30s → 触发人工接管## 五、结语Agent 容错不是加 try-catch那么简单而是从工具层、任务层、Agent 层、系统层逐级构建的防御体系。2026 年进入 Agent 规模化落地元年容错能力将成为 Agent 平台最核心的竞争壁垒。text关键经验- 容错设计必须从第一天就嵌入而非上线后再说- 可观测性是容错的前提不可妥协- 断点续传比纯重试更可靠- 人工接管是兜底不能省略text