Skip to content

第 25 章:状态机、门禁和失败回退

本章目标

自动化的可靠性不在于“成功跑过一次”,而在于下一次遇到超时、空结果、权限失效或推送失败时,系统知道当前状态、下一步能否继续、怎样告警和怎样停用。

前置条件

  • 同一任务已经手动运行多次,输入、输出和验收标准基本稳定;
  • 明确触发条件、输入来源、输出位置、owner 和停用方法;
  • 为每个状态写成功条件、失败出口、重试策略和保留产物;
  • 确认自动化不会在未经授权时删除、发布、发消息或覆盖文件。

分步教程

  1. 先手动验证。 不要把频繁改变的 Prompt、数据源或输出格式直接放进定时流程。
  2. 定义状态。 例如等待触发、读取输入、整理、检查、生成草稿、等待确认、完成和阻塞;每个状态都要有明确入口和出口。
  3. 设置门禁。 输入不完整、来源不足、质量不达标或权限不明时,进入待确认或阻塞,不继续向下游传播。
  4. 区分失败类型。 临时超时可以有限重试;认证失效、输入错误和权限问题转人工;输出为空要保留说明,不伪装成成功。
  5. 保存状态和产物。 记录批次标识、已完成步骤、来源状态、最后错误和更新时间,支持从上一个已确认阶段继续。
  6. 演练停用和恢复。 在正式开启前模拟输入缺失、部分来源失败、重复触发、输出失败和人工暂停,确认告警能告诉负责人如何处理。

一个最小状态模型

text
WaitingTrigger
  -> Preparing
  -> Processing
  -> QualityGate
  -> AwaitingHumanConfirmation
  -> Completed

任一阶段失败 -> Blocked
Blocked -> 人工处理或下一次触发

示例与验收

日报自动化可以先生成草稿,再等待人工发布。验收包括:当天输入不足时不生成虚假的完成记录;部分资料不可用时明确缺失;重复运行不会重复写入;发送失败时保留草稿和错误信息;负责人可以暂停任务。

常见问题

所有失败都重试可以吗?

不可以。只对临时性故障做有限重试;权限、认证、配置和输入错误应转人工,否则会重复扩大问题。

定时运行成功就算可靠了吗?

不算。还要演练异常状态、重复触发、部分输入失败、输出不可达和人工停用,确认每条路径都能解释和恢复。

风险和人工确认点

  • 发布、发送、修改外部系统、删除和覆盖操作必须有独立人工门禁;
  • 日志只记录排错所需信息,避免把敏感正文写入长期日志;
  • 设定 owner、告警接收人和停用方式,不能只有“任务失败请查看”;
  • 每次修改 Prompt、数据源或输出格式都先手动验证,再更新自动化配置。

关联解决方案

来源

  • SRC-UPSTREAM-CH25:上游关于自动化门槛、状态机、质量门禁、重试、幂等、日志和降级交付的资料。
  • SRC-UPSTREAM-CH24:上游关于角色边界和阶段交接的资料。

章节导航