LLM 重试退避规划器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b26bd65e/llm-retry-backoff-planner-b26bd65e。
技能介绍
你要解决的问题
把 429、500、503 一把梭地重试,在 LLM 调用里很容易翻车:预算在第三次重试时耗尽、部分流式输出和重试后的回答被拼成同一条消息、或者限流刚好被所有实例同步触发,把 provider 打得更疼。更隐蔽的是不可重试的错误也被重试:认证失败、余额不足、输入非法,重试一百次结果都一样。
技能如何工作
- 错误分类:先把 SDK 错误和状态码映射到三类:可重试、不可重试、不确定,避免盲目重试
- 退避策略:尊重合法的
Retry-After头;否则采用带上限的指数退避 + full jitter,通过抖动错开重试时刻,避免同步风暴 - 预算约束:同时设定 attempt、elapsed-time、extra-cost 三类预算,且把排队延迟计入用户可见的 deadline
- 幂等保障:重试写操作、支付、发消息或工具调用前,必须先有
idempotency key或去重机制 - 熔断保护:当相关性失败表明 provider 宕机时触发熔断,快速失败而不是继续堆积重试
适用边界
本技能只回答规划问题,不替你实现重试循环。它针对同步请求和流式响应分别给出行为定义:流式场景下,部分输出与重试后的完整回答绝不允许拼接成同一条响应。对 auth、余额不足、策略拦截、确定性上下文溢出等错误,它会直接标记为不可重试。如果你需要多 provider 故障转移或动态路由,超出本技能范围。
使用场景
- 为调用 LLM API 的后端服务设计重试方案,需要区分 429/503 可重试与 401/余额不足不可重试,并给出退避公式、尝试次数与成本预算。
- 流式聊天接口中途断开,需要规划重试策略,确保已输出的部分回答不会和重试后的完整回答拼接成同一条消息。
- AI Agent 要重试支付、工具写入或发消息前,需要先设计幂等键或去重方案,避免重复扣款、重复提交和额外成本失控。
- 多实例同时调用 LLM 且 provider 抖动时,需要定义熔断阈值、抖动退避和 telemetry,避免所有实例同步重试放大故障。
适合人员
- 后端工程师:正在为 LLM API 客户端设计重试、退避和预算策略,需要知道哪些错误可重试、熔断条件是什么。
- AI Agent 开发者:在工具调用、支付或消息发送链路加入幂等重试,担心重复扣款、重复提交和成本失控。
- 平台 SRE 或稳定性负责人:面对多实例 LLM 调用和 provider 故障,需要避免同步重试雪崩并建立重试可观测性。
- 聊天产品工程师:处理流式输出中断与重试,需要定义部分回答不拼接、重试行为边界和用户可见 deadline。