自动化一个重复任务:先写输入、步骤与停止条件
用三条虚构事项设计一次可核对的自动化:先约定输入,再生成预览,最后执行已授权写入。明确空批次、错误字段、重复运行和结果不明时的停止规则,并给出运行卡模板。
执行信息
- 测试环境
- 通用任务设计;Node.js 本地预览验证;未接入真实调度或外部系统
- 输入
- 请查看正文中的输入说明
- 产出
- 请查看正文中的产出说明
- 实测结果
- 请以作者提供的实测记录为准
AgentField 编辑整理|通用任务设计指南。任务和数据均为虚构示例;只验证本地预览逻辑,不代表已经接入定时执行、对外发送或真实业务。
第一次做自动化,可以先选“把固定格式的记录整理成待审摘要”。它有明确输入,也容易逐条核对。先把单次任务做稳,再考虑触发时间;不要把“每天运行”当成任务已经定义清楚。
一、先约定这一批数据是什么
示例任务:把三条虚构事项按状态整理成摘要。输入只允许 id、title、status 三项;id 不重复,title 非空,status 只能是 todo、done、blocked。批次标识由日期和来源版本组成,例如 demo-20260918-v1,同一个标识不能代表两份不同输入。
[
{"id":"demo-01","title":"核对首页文案","status":"todo"},
{"id":"demo-02","title":"补全使用说明","status":"done"},
{"id":"demo-03","title":"整理演示素材","status":"blocked"}
]
这里没有客户数据,也不需要账号密码。实际输入先写清来源、允许读取的范围和必要字段,不把整份工作资料交给流程“自行挑选”。
二、把整理和写入分成两个阶段
- 读取与校验:检查字段、状态和重复 id。空批次记为“无输入,跳过”,不要生成看似完成的空日报;格式不合约定则停止,并指出哪条记录需要修正。
- 生成预览:按状态分组,保留事项 id,给出数量。本例预期为 todo 1、done 1、blocked 1,总计 3;三组事项合并后应恰好对应原输入。
- 核对差异:同一批次再次运行且输入未变,记为“已准备,跳过重复生成”;输入变了却沿用旧批次标识,则停止覆盖,标记为待复核。
- 执行已授权写入:如果后续要发消息、覆盖文件或更新系统,先展示目标、将变动的内容和授权范围,再执行。预览通过不等于外部动作完成;写入后还要核对真实结果。
本文的本地演示只覆盖前三步。使用 Node.js 断言检查示例分组、错误输入、空批次和重复运行处理;断言用于核对预期条件,并不证明远端系统会正确执行。Node.js 断言文档
三、把“什么时候停”写进任务
- 缺字段、重复 id、未知状态:停止本批,保留错误位置,不猜值、不静默丢弃。
- 输入为空:明确跳过,不当作产出成功。
- 输入改变而批次标识未变:等待确认新版本,不覆盖旧记录。
- 目标、授权范围或将写入内容不清楚:停在预览,补齐再执行。
- 外部请求超时、结果不明:先核查目标系统是否已有结果;没有查明前不盲目重发,也不把状态记成成功。
这些是任务规则,需要落实到具体实现。今天的演示没有测试网络超时、并发执行或跨进程恢复,不能据此承诺重复发送已被彻底避免。
四、用一张运行卡交接
任务:从哪份输入生成什么预览
批次:日期、来源版本、输入范围
规则:必填字段、允许值、重复项处理
预期:数量与明细如何对应输入
停止:哪些错误直接停,哪些结果需人工核对
写入:目标、授权范围、执行前差异、执行后凭据
状态:未开始 / 预览就绪 / 待核对 / 已验证完成