核心功能与用法
tool-call-retry 是一款专为 Agent 系统设计的工具调用可靠性增强技能。它通过封装任意工具函数,提供指数退避重试、结果校验、错误自动修复等能力,无需修改原有工具代码即可显著提升调用稳定性。
核心用法:将不稳定的外部 API 或工具函数通过 skills.toolCallRetry() 包装,配置最大重试次数(默认 3 次)、初始延迟(默认 1s)、可选的结果校验函数 validatorFn 和错误处理函数 errorHandlerFn。高级场景支持幂等性键 idempotencyKey 防止重复执行副作用。
显著优点:
- 高成功率提升:官方宣称可将工具调用成功率提升 90%+
- 零侵入设计:一行封装即可获得重试能力,性能开销 <1ms
- 灵活可扩展:支持自定义校验逻辑和错误修复策略,如 LLM 辅助修复参数
- 生产级特性:内置幂等性保证、指数退避算法避免雪崩
潜在局限:
- 依赖外部实现的质量,若
errorHandlerFn或validatorFn设计不当,可能引发无限重试或掩盖真实错误 - 幂等性键需调用方保证唯一性,否则可能误拦截合法重复调用
- 未提供内置持久化,进程重启后重试状态丢失
适合人群:开发 LLM Agent、工作流编排系统的开发者,尤其适用于集成不稳定第三方 API、需要高可靠执行链路的场景。
常规风险:重试风暴可能导致下游服务负载加剧;幂等性键冲突可能产生业务逻辑异常;错误修复逻辑若依赖 LLM,可能引入非确定性行为。建议配合熔断、限流策略使用。