SuperAPI AI 工具集

fortify

部署与运维

查看项目

更新于 10-15 21:06

技能介绍

用途:fortify 用于让工作流具备容错能力,适用于缺少错误处理、生产环境持续失败,或需要重试逻辑、降级策略与熔断器的场景。其前提是外部调用(模型 API、工具、数据库、第三方服务)终将失败,因此需优雅处理失败。

前置准备:必须先调用 /agent-workflow,其中包含工作流原则、反模式与 Context Gathering Protocol;若尚无工作流上下文,必须先运行 /teach-maestro。同时参考 agent-workflow 技能中的 guardrails-safety 参考,了解纵深防御模式与错误边界设计。

主要能力(五层加固):

  1. 输入校验:处理前校验所有输入,对无效输入返回清晰错误信息,为所有输入字段设置大小限制。
  2. 带退避的重试:针对瞬时失败(网络错误、限流、超时),示例策略为 max_retries: 3、initial_delay: 1s、backoff_multiplier: 2、max_delay: 30s,可重试错误包括 429、500、502、503、504、TIMEOUT、CONNECTION_ERROR,不可重试错误包括 400、401、403、404。
  3. 降级响应:重试耗尽后,可使用缓存的上次响应、改用更简单或更便宜的模型、返回优雅降级响应,或升级至人工审核。
  4. 熔断器:服务持续失败时启用,示例为 failure_threshold: 5 次连续失败,状态 CLOSED → OPEN(达到阈值后)→ HALF_OPEN(冷却后),cooldown: 60 秒,half_open_max_requests: 1。
  5. 超时控制:每次外部调用都需设置超时,模型 API 调用 30-120 秒(视任务而定),工具执行 10-60 秒(视工具而定),数据库查询 5-15 秒,第三方 API 10-30 秒。

加固审计:对每个组件核查是否具备输入校验、瞬时失败重试逻辑、重试失败后的降级、已设超时、带上下文的错误日志,以及用户收到有意义的错误而非堆栈跟踪。

后续建议:加固后运行 /evaluate,在真实失败场景下验证错误处理是否有效。

禁止事项:不重试不可重试错误(认证失败、校验错误);不无退避地重试;不静默吞掉错误(应记录并处理);不设置无限超时;不跳过降级(重试耗尽且无降级会导致用户看到错误)。

限制:资料未提供该技能的安装方式、收费、支持平台或具体实现细节。