Agent 容错设计:供应商 503 不该决定你是否重复调用工具
Future_AGI · reddit · 2026-09-17
一篇关于 agent 基础设施容错的实践文章:当供应商在 agent 调用 createinvoice 后返回 503,你无法判断是请求被拒、调用已到达服务、还是发票在超时前已创建。单一供应商会让故障停掉整条流水线,盲目重试则可能生成重复发票。
文章给出四层方案:
- 供应商故障转移:在同一请求接口后挂热备供应商,主供应商返回 429/5xx/超时时自动切换,调用方无感知。
- 模型回退链:如 gpt-4o → Claude Sonnet → Gemini,但每个模型必须通过同一工作流契约(tool calling、输出 schema、上下文上限、安全设置、延迟与成本上限)才能入链。
- 熔断器:错误率超阈值后停止发流量,冷却期后先小流量探测再恢复,防止一个抖动端点拖垮全部请求。
- 重试必须幂等:外部调用超时后状态视为未知;先持久化操作 ID,重试或切换供应商时复用同一幂等键,否则首次请求和重试都可能完成,客户被双重扣费。
核心主张:供应商选择、熔断状态、重试策略应统一为路由层关注点,agent 不该在任务中途思考供应商故障;回退属于基础设施层,且要用真实工具调用测试整条链,纯文本健康检查不能证明回退可用。
「编程与Agent」频道最新
- Unsloth 发布桌面版:本地训练运行 500+ 模型,省 70% 显存 — danielhanchen · 2026-09-17
- 经济学家反驳「AI 代码要人工读」:2.5 万行代码根本没人读得完 — paulnovosad · 2026-09-17
- pen.dev 发布:可导入任意网页的 agentic 设计画布,支持多模型与 MCP — yakuzeg · 2026-09-17
- WebMCP 玩出新花样:和 ChatGPT 联手做 Overcooked 式餐厅游戏 — prd_008 · 2026-09-17
- GitHub 密钥告警别只删提交:git 历史仍会泄露凭据 — eyishazyer · 2026-09-17
- 别用过期永久的 GitHub token:大多数人遗忘着五六个授权应用 — eyishazyer · 2026-09-17