千问办公千问办公小绿书
自动化与可靠性

可靠自动化设计

用状态机、门禁、幂等、重试和降级控制自动化风险。

第三方粉丝组织制作 · 非官方网站编辑:千问办公小绿书第三方粉丝编辑组

数据源就绪检查

每次运行先检查权限、格式、日期和最少可用来源。定时触发不代表数据已经准备好。

情况处理
临时超时等待后有限重试,仍失败则标记缺失
认证失效不重试,转人工重新授权
输入为空按业务规则进入 Warning 或 Blocked
字段变化停止写入并告警,避免错列覆盖
数据超出规模分批或转人工确认资源上限

扩量前的门禁

批量或并行不会修复不稳定流程,只会更快放大错误。开始扩量前必须同时满足:

  • 小样已经用脱敏或合成材料覆盖标准、边界、失败和安全限制;
  • 输入契约、证据字段和输出结构在本轮冻结;
  • 输入、证据和输出使用明确的契约版本;
  • 每个输入有稳定唯一编号,可以判断完成、失败和重复;
  • 单项结果可以独立验收,失败项可以单独重试;
  • 已设置单批规模、并发、成本、速率和总停止条件;
  • 外部写入仍位于人工确认之后。

任一条件不满足时,返回建立可复用工作流继续小样验证,不进入批处理。

分离历史存量与未来增量

历史回填解决“已有一批数据怎样安全完成”,持续增量解决“以后只处理变化”。两者可以共享同一输入和证据契约,但不能共享含义模糊的进度状态。

维度历史存量回填持续增量处理
输入范围冻结的完整清单水位之后新增、修改或迟到的数据
批次标识回填任务 + 分片编号时间窗或变更版本
进度每项 Pending、Running、Pass、Failed上次安全水位和本轮候选变更
重跑只重跑失败或未完成项重新计算受变更影响的项
删除按回填清单解释缺失先标记源删除,人工确认下游影响
结束全部完成或失败队列已交接持续运行,没有一次性“全部完成”

两个流程的输出应遵守同一版本契约,才能合并到同一个索引、报告或知识库。契约升级时先暂停增量,完成兼容或迁移,再推进新水位。

历史回填:按清单分片

并行分片只复制已验证的处理契约。每个执行单元返回相同字段、来源定位、状态和错误,不允许自行改变总结方式。汇总阶段只合并通过校验的结果,失败项进入独立队列,不重跑全部输入。

持续增量:只处理变化

增量任务先读取轻量索引,使用稳定标识、修改版本或内容指纹找出候选变化,再按需要读取正文。水位只在本批输入和输出都完成后推进。

需要显式处理四类变化:

  • 新增:创建新记录并加入索引;
  • 修改:保留旧版本关系,重新计算受影响结果;
  • 迟到:落在旧时间窗但本轮才出现,使用独立补录标识;
  • 删除:先标记来源状态,不自动级联删除已发布或已审核产物。

水位不能只看任务启动时间

如果任务在处理中失败,而水位已经提前推进,下次运行会永久漏掉未完成输入。应在成功提交输出后推进安全水位,并为迟到数据保留回看窗口。

幂等与重复执行

每次运行生成唯一批次 ID,例如 weekly-report-sales-2026-W29。读取、生成和写入分别记录状态;重试时跳过已完成的写入,不重复发送消息或追加同一周报。

重试策略

  • 只重试临时性错误,例如超时或明确的服务繁忙;
  • 认证、权限、输入格式和业务规则错误不自动重试;
  • 使用有限次数和递增等待,禁止无限循环;
  • 重试耗尽后保留已生成产物并发送可行动告警。

断点续跑

记录批次、触发时间、已完成步骤、来源状态、输出位置、最后错误和更新时间。恢复时从失败步骤继续,不重复抓取和生成已经确认的产物。

降级交付

部分数据源失败时,可以交付简化结果,但必须在标题或顶部标注覆盖范围与缺失项。无法达到最低质量时,只交付失败说明和已有产物,不伪装成完整结果。

两阶段外部操作

发送消息、覆盖数据、提交表单和其他不可逆操作应放在第二阶段。

编排 Skill 可以决定走小样、回填还是增量路径,但不能绕过状态、质量和人工门禁。具体能力拆分参见技能与可复用经验

上线前演练

  • 全部来源正常;
  • 一个来源超时;
  • 所有来源为空;
  • 认证失效;
  • 推送目标不可达;
  • 手动与定时重复触发;
  • 输出超过规模或成本上限。

只有每种情况都有明确结果和恢复路径,才适合长期运行。

案例怎样使用这些规则