Agent 可靠性工程:失败、重试与降级

举报
yd_271011778 发表于 2026/11/06 07:18:57 2026/11/06
【摘要】 结论:Agent 的失败是常态而非例外——模型会超时、工具会挂、返回会不合规。可靠性不是"让失败不发生",而是"失败发生时,系统仍能给出可接受的结果"。一、失败要分类,不同类不同处理失败类型例子处理策略瞬时故障网络抖动、超时指数退避重试语义失败输出不合 schema校验后重生成,限次数工具失败第三方 API 5xx重试 / 换工具 / 降级决策失败选错工具、跑偏触发重规划或人工介入不可恢复权...


结论:Agent 的失败是常态而非例外——模型会超时、工具会挂、返回会不合规。可靠性不是"让失败不发生",而是"失败发生时,系统仍能给出可接受的结果"。

一、失败要分类,不同类不同处理

失败类型 例子 处理策略
瞬时故障 网络抖动、超时 指数退避重试
语义失败 输出不合 schema 校验后重生成,限次数
工具失败 第三方 API 5xx 重试 / 换工具 / 降级
决策失败 选错工具、跑偏 触发重规划或人工介入
不可恢复 权限不足、资源不存在 快速失败,明确报错

把不可恢复的错误当瞬时错误去重试,是最常见的浪费;把瞬时错误当致命错误直接放弃,是最常见的脆弱。

二、重试的三条纪律

  • 只重试幂等操作:非幂等动作(发消息、扣款)重试会产生重复副作用,必须先做幂等键或去重。

  • 指数退避 + 抖动:固定间隔重试会制造重试风暴。

  • 有上限:重试次数、总耗时都要封顶,超限就升级处理。

三、降级路径

每一条关键链路都应提前想好"退一步怎么办":换备用模型、换备用工具、返回缓存结果、缩小任务范围、转人工。没有降级路径的强依赖,等于把系统绑在单一故障点上。

四、超时与熔断

  • 每一次外部调用都要有超时,不能无限等待。

  • 连续失败达到阈值时熔断,暂时跳过故障依赖,避免雪崩。

  • 熔断后要有半开探测,恢复后自动接回。

五、常见误区

  • 把所有错误都重试;非幂等操作无脑重试;无退避导致重试风暴;无超时导致挂死;只保成功率不管副作用。

六、检查单

  • [ ] 失败有分类,策略与类型匹配

  • [ ] 仅幂等操作可重试,否则有幂等键

  • [ ] 指数退避 + 抖动 + 上限

  • [ ] 关键链路有降级路径

  • [ ] 外部调用全部有超时

  • [ ] 有熔断与半开恢复

  • [ ] 失败升级机制清晰(重试→降级→人工)

  • [ ] 失败信号不被静默吞掉

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。