OpenClaw 工作流一旦接入真实业务,异常时最怕的不是失败一次,而是失败后继续重试、继续写入、继续通知,把小问题放大成连锁事故。熔断与暂停机制的目的很简单:先把风险停住,再决定是重试、回滚、人工处理,还是恢复服务。
它和 异常告警、SLA 分级、事件重放 要一起设计。告警负责发现问题,熔断负责控制扩散,重放负责复盘和修复。
先定义触发阈值
熔断不能靠人看到群消息再手动判断。常见阈值包括某个工具连续失败、同类任务超时比例升高、外部接口返回异常、输出校验连续不通过、人工驳回率突然升高、费用在短时间内异常增加。
阈值要按任务类型分层。低风险后台任务可以宽一些,写入客户系统、发送对外消息、修改权限的任务要更严格。
暂停范围要精确
暂停不是把整个平台关掉。更好的做法是按工作流、节点、工具、客户分组或风险等级暂停。比如只暂停某个 CRM 写入节点,保留知识库问答;只暂停高风险对外发送,保留内部草稿生成。
这一步需要依赖 事件总线 和任务状态。如果系统不知道每个任务卡在哪,就很难做到精确暂停。
重试前要先做判断
很多故障不适合立刻重试。权限不足、规则冲突、数据缺失,重试一百次也不会成功;外部接口偶发超时,才适合指数退避重试。OpenClaw 应该把失败原因分类,再决定是否重试。
涉及写入动作时,还要检查幂等键和历史结果,避免重复创建、重复扣费、重复发消息。前面写过 重试与幂等,这里就是它的生产化延伸。
恢复要有条件和记录
熔断后的恢复不能只靠一句“看起来好了”。可以设置恢复条件:外部接口连续成功、人工确认规则已修复、队列积压下降、测试任务通过、关键负责人批准。恢复后还要保留复盘记录,说明触发原因、影响范围、处理动作和后续改进。
这样下一次出现类似异常时,团队不用重新发明处理流程。熔断记录本身也是运行知识库的一部分。
总结
OpenClaw 熔断与暂停机制的核心,是在异常扩散前先控制风险。定义阈值,精确暂停,分类重试,设置恢复条件,再把处理过程写入复盘。自动化不是永远不停,而是知道什么时候必须停下来。