题目
如何处理模型供应商的超时、限流和服务故障,并实现熔断与降级?
答案
为连接、单次请求和整个任务分别设置期限。遇到限流时读取服务端等待提示,结合带抖动的退避和全局并发控制,避免所有 Worker 同时重试。 重试只覆盖可恢复错误,并受总预算限制。持续失败时触发熔断,暂时停止向故障服务发送大量请求,经过试探后再恢复。 降级可以切换备用模型、减少输出、转为排队处理或返回明确的暂时不可用。备用模型需事先验证工具格式、上下文限制和任务质量,不能在故障时临时假设兼容。 ![限流、超时和宕机,分层处理](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/question/agent-development/extra-provider-resilience-17b5e5203ed27af8.png) 流式回复中途失败要明确标记未完成,不能把两家模型的片段直接拼成同一答案。已有工具操作保存为业务记录,切换模型后继续确认原操作,避免重复执行。