跳到主内容

智能体工具调用失败怎么办:重试、降级与止损的四层设计

100%
智能体工具调用失败怎么办:重试、降级与止损的四层设计

智能体工具调用失败怎么办:一句话结论

容错设计的核心是先给错误分类,再决定谁修:瞬时错误系统自动重试、模型能自己修复的错误喂回模型、需要人拍板的暂停问人——三类错误用同一套「无脑重试」处理,是生产事故的头号来源。

为什么原型跑得欢,上线就翻车

写 happy path 通常是最简单的部分,让智能体在生产环境活下来的错误处理样板代码(重试、超时、降级)往往比业务逻辑还长。真实世界的失败类型远比演示多:网络抖动、限流 429 、工具超时、参数错误、下游服务 5xx 。 LangChain 官方容错文档按「谁负责修」给错误分了类,这个分类值得直接抄:

错误类型谁修策略
瞬时错误(网络超时、限流)系统自动指数退避重试
模型可修复(工具报错、解析失败)LLM转成 error ToolMessage 喂回模型
用户可修(信息缺失、指令不清)人用 interrupt() 暂停提问
模型服务商整体宕机系统自动降级到备用模型
失控循环(重复调用)系统自动设置每轮调用上限
未知错误开发者让它抛出来,别吞

第一层:重试要带退避和抖动

瞬时错误的标配是指数退避 + 随机抖动(防止所有请求同一时刻重试造成惊群)。 LangChain 的 ToolRetryMiddleware 一行配上:

from langchain.agents.middleware import ToolRetryMiddleware

ToolRetryMiddleware(
    max_retries=3,
    backoff_factor=2.0,
    initial_delay=1.0,
    max_delay=60.0,      # 封顶退避增长
    jitter=True,         # ±25% 随机抖动
    retry_on=(TimeoutError, ConnectionError),  # 只重试瞬时类
)

关键细节:retry_on 默认重试所有异常——这通常是错的。 ValueError 、 TypeError 这类基本是程序 bug,重试一百次也不会好;LangGraph 的 RetryPolicy 默认只重试 ConnectionError 、 5xx 等瞬时类,这个默认值更合理。

第二层:把错误喂回模型

重试耗尽后还有一条路:把错误转成结构化消息交还模型,让它改参数再试。这一层要注意信息披露——返回给模型的错误文案自己写(指明异常类型和修复方向),别把原始异常直接透传,里面可能带内部细节:

def on_error(exc, request):
    if isinstance(exc, ValueError):
        return f"工具 {request.tool_call['name']} 失败:参数错误,请修正后重试。"
    return None  # 其他异常照常上抛

第三层:降级与止损

  • 模型降级:主服务商全挂时切备用模型(ModelFallbackMiddleware),保证业务不停摆。
  • 调用上限:不设上限的智能体陷入循环时,几分钟能烧掉一大笔 API 费用。模型调用和工具调用分别设每轮上限(如 50 / 200)。
  • 超时:墙钟超时之外,更实用的是「空闲超时」——只要节点还在产出进度就续命,真正挂死的调用才会被掐断。

降级不是失败兜底的终点,护栏设计要和它配套,参考 智能体护栏的四道防线。

第四层:让未知错误浮出水面

最反直觉的一条:处理不了的错误不要接。 ToolErrorMiddleware 只对你显式返回内容的异常生效,其余照常上抛终止运行——这不是缺陷而是设计,吞掉未知错误的代价是排查时两眼一抹黑。配合上线后的追踪与评估闭环(见 智能体可观测性),错误才能变成改进输入。

判断智能体该重试还是该终止,取决于任务价值与失败成本。选型框架(智能体 vs 工作流、自动化 vs 人审)见智能体与工作流的选型四问。

常见问题

重试次数设多少合适?
瞬时错误 2-3 次足够——指数退避下 3 次重试横跨约 7 秒,多数抖动能恢复。超过 3 次还在失败的,大概率不是瞬时问题,继续重试只是拖延止损。

错误喂回模型会不会让它死循环改参数?
会,这正是要设调用上限的原因。喂回的错误消息要写明「修正方向」(参数格式、取值范围),并配合每轮工具调用上限;触顶后终止并转人工,而不是无限让模型自省。

什么时候该打断问用户,什么时候该自动兜底?
缺关键信息(订单号、收件人)、高影响操作(发款、删数据)→ 暂停问人;参数小错、瞬时故障 → 自动修。原则参考 HITL 审批点设计:人在环的位置放在影响不可逆的节点。

这篇有帮助吗?
云上的幻象
云上的幻象查看主页

七彩云博客,分享 WordPress 建站实战与 AI 工具测评,覆盖服务器运维、站长工具、软件资源与电商运营干货,专注原创实用的主题插件、网站加速与安全优化教程。

906文章4评论

相关文章

评论 (0)

欢迎你,新朋友,感谢参与互动!文明发言,理性交流 · 首次评论将在审核后展示