自动化的价值是减少重复操作;它的风险是把一次小错误稳定地重复很多次。本课不讨论“能不能连上”,而是完成一次上线前权限评审、故障演练和恢复验收。
完成后你将得到
开始条件:选择一项已经人工跑通、输入输出相对稳定的流程。没有人工版本和验收标准的工作,不应直接自动化。
连续案例:把文章副本整理成网站草稿
目标是减少重复整理,不是无人值守发布。自动化读取指定目录中的文章副本,生成预览并创建网站草稿;公开发布、覆盖原稿和删除文件始终由人决定。
低风险起步
- 读取“待处理”目录中的指定副本
- 检查标题、摘要和正文是否齐全
- 在“预览”目录创建新文件
- 在指定测试站点创建草稿
- 记录每一步输入、输出和状态
- 访问未授权目录或账号
- 覆盖原始文章和图片
- 向外发送、公开发布或群发
- 删除本地或网站内容
- 修改密钥、权限和连接器设置
危险目标
每天自动扫描整个电脑,优化所有文章后直接发到网站;失败就一直重试。
它同时扩大了读取范围、修改范围、发布权限和重试次数。任何一个判断错误都可能被放大成隐私泄露、内容覆盖或重复发布。
第一步:按真实影响拆动作,不按“一个自动化”打包授权
| 动作 | 对象 | 是否改变状态 | 失败后果 | 风险 |
|---|---|---|---|---|
| 读取 | 指定文章副本 | 否 | 读错版本或暴露无关资料 | 低—中 |
| 分析 | 副本文本 | 否 | 得出错误结论 | 中 |
| 创建 | 预览目录新文件 | 是,可隔离 | 产生错误文件 | 低 |
| 上传 | 指定图片副本 | 是 | 传错文件或泄露信息 | 中—高 |
| 创建草稿 | 指定测试站点 | 是,可撤销 | 重复草稿或错误内容 | 中 |
| 公开发布 | 生产站点 | 是,对外 | 错误内容公开 | 高 |
| 覆盖 | 原文章或现有页面 | 是,可能不可逆 | 丢失原内容 | 高 |
| 删除 | 文件、文章或账号数据 | 是,可能不可逆 | 数据丢失 | 高 |
流程名称: 动作编号: 动作:读取/分析/创建/修改/上传/发送/发布/覆盖/删除 操作对象: 对象所在位置: 读取范围: 写入范围: 是否改变外部状态: 失败后最坏结果: 能否撤销: 恢复方式: 需要人工确认吗: 日志必须记录什么:
为什么“创建草稿”和“公开发布”不能共用一个授权?
两者都写入网站,但影响范围不同。草稿通常可隔离、可检查、可删除;公开发布会直接影响用户和品牌。权限必须依据真实后果划分,而不是依据它们是否使用同一个连接器。
第三步:先跑模拟批次,不连接真实发布动作
用三份专门编写的安全样例验证正常、缺字段和重复输入。模拟运行只输出“准备做什么”,不真正创建网站内容。
预期:通过校验,生成一份预览计划。
预期:停止该文件,明确缺少字段,不自行编写。
预期:识别为已处理,不再创建第二份草稿。
模拟运行应留下什么
批次:DRY-20260726-01 输入目录:安全样例/待处理 发现文件:3 通过:1 停止:1(缺少摘要) 跳过:1(幂等键已存在) 外部写入:0 公开发布:0 结论:可以进入“测试站点创建草稿”演练
第四步:专门演练“操作可能成功,但响应超时”
危险重试
创建草稿请求超时后,流程认为失败,立即重新提交。第一次请求其实已经在服务器成功,于是产生两个重复草稿。
安全重试
每个任务先生成唯一幂等键;超时后先按幂等键或外部 ID 查询状态,确认未创建才允许重试。
演练场景:创建草稿后响应超时 测试对象:安全样例 A 本次幂等键: 第一次请求: - 开始时间: - 返回状态:超时 - 是否立即重试:否 状态检查: - 是否找到同一幂等键: - 是否取得草稿 ID: - 草稿内容是否完整: 决定: □ 已成功,不重试 □ 明确未创建,允许重试一次 □ 状态未知,停止并人工处理 最终草稿数量: 是否产生重复: 日志位置: 验收人:
幂等不是术语,而是“同一任务执行两次,结果仍只有一份”
- 用稳定信息生成任务标识,例如来源文件指纹、目标站点和任务类型。
- 写入外部系统前记录“准备执行”。
- 执行成功后保存外部对象 ID 和最终状态。
- 重试前先查询标识或对象 ID,不以“没收到响应”判断失败。
- 状态未知时停止,不自动扩大重试次数。
第五步:先证明能恢复,再扩大自动化范围
备份文件存在不代表恢复可用。必须用安全样例实际走一遍撤销和恢复。
恢复演练
原文件只读保留;预览写入独立目录。错误预览可以删除并从原副本重新生成。
记录每个草稿 ID。测试失败时按 ID 撤销,不用标题模糊搜索后批量删除。
记录连接器、账号角色和授权范围;演练撤销令牌或移除授权后流程能安全停止。
保存最后成功步骤和批次状态。恢复时从明确检查点继续,不从头重复外部写入。
第六步:日志要能回答“谁在何时对什么做了什么”
只有“任务成功”没有用。出现问题时,必须能定位输入、权限、动作、外部对象和恢复结果。
批次编号: 任务标识/幂等键: 开始时间: 结束时间: 执行环境: 操作者或自动化名称: 使用账号角色: 输入对象: 输入版本或指纹: 执行动作: 授权范围: 人工确认人和时间: 输出对象: 外部对象 ID: 最终状态: 错误信息: 重试次数: 是否发生外部写入: 撤销或恢复动作: 恢复结果: 仍需人工处理: 日志保存位置:
第七步:上线不是“打开开关”,而是逐级扩大范围
- 级别 0 · 只读检查只分析安全样例,不写文件和外部系统。
- 级别 1 · 本地预览只写独立预览目录,原文件只读。
- 级别 2 · 测试草稿只在测试站点创建草稿,逐批确认。
- 级别 3 · 生产草稿限定数量,仍不自动公开发布。
- 级别 4 · 高风险动作发布、发送、付款、删除保持人工执行。
流程名称: 计划开放级别: □ 人工流程已经跑通并有验收标准 □ 正常、缺字段和重复输入样例均通过 □ 读取和写入范围精确到目录、站点或对象 □ 生产账号不是管理员级完全权限 □ 发送、发布、付款、删除和密钥操作单独确认 □ 超时后先查状态,不盲目重试 □ 同一任务重复运行不会产生重复外部对象 □ 每次外部写入都有对象 ID 和操作日志 □ 文件与数据库备份已经实际检查 □ 撤销权限、删除测试草稿和恢复文件已演练 □ 有明确停止条件和负责人 停止条件: - 连续出现 ___ 次同类错误 - 状态未知或日志缺失 - 权限范围发生变化 - 输入格式不符合约定 - 发现敏感信息或未经授权资料 上线结论:通过/退回演练 批准人: 日期:
什么时候不要继续扩大权限?
只要状态查询、幂等、日志、恢复或人工确认中有一项无法证明,就停在当前级别。自动化范围越大,验证证据应越强,不能用“目前没出过问题”代替故障演练。