用途:fortify 用于让工作流具备容错能力,适用于缺少错误处理、生产环境持续失败,或需要重试逻辑、降级策略与熔断器的场景。其前提是外部调用(模型 API、工具、数据库、第三方服务)终将失败,因此需优雅处理失败。
前置准备:必须先调用 /agent-workflow,其中包含工作流原则、反模式与 Context Gathering Protocol;若尚无工作流上下文,必须先运行 /teach-maestro。同时参考 agent-workflow 技能中的 guardrails-safety 参考,了解纵深防御模式与错误边界设计。
主要能力(五层加固):
- 输入校验:处理前校验所有输入,对无效输入返回清晰错误信息,为所有输入字段设置大小限制。
- 带退避的重试:针对瞬时失败(网络错误、限流、超时),示例策略为 max_retries: 3、initial_delay: 1s、backoff_multiplier: 2、max_delay: 30s,可重试错误包括 429、500、502、503、504、TIMEOUT、CONNECTION_ERROR,不可重试错误包括 400、401、403、404。
- 降级响应:重试耗尽后,可使用缓存的上次响应、改用更简单或更便宜的模型、返回优雅降级响应,或升级至人工审核。
- 熔断器:服务持续失败时启用,示例为 failure_threshold: 5 次连续失败,状态 CLOSED → OPEN(达到阈值后)→ HALF_OPEN(冷却后),cooldown: 60 秒,half_open_max_requests: 1。
- 超时控制:每次外部调用都需设置超时,模型 API 调用 30-120 秒(视任务而定),工具执行 10-60 秒(视工具而定),数据库查询 5-15 秒,第三方 API 10-30 秒。
加固审计:对每个组件核查是否具备输入校验、瞬时失败重试逻辑、重试失败后的降级、已设超时、带上下文的错误日志,以及用户收到有意义的错误而非堆栈跟踪。
后续建议:加固后运行 /evaluate,在真实失败场景下验证错误处理是否有效。
禁止事项:不重试不可重试错误(认证失败、校验错误);不无退避地重试;不静默吞掉错误(应记录并处理);不设置无限超时;不跳过降级(重试耗尽且无降级会导致用户看到错误)。
限制:资料未提供该技能的安装方式、收费、支持平台或具体实现细节。