WorkSwarm 接手多步骤办公任务前,先把可自动完成的一段圈出来

文章导读
把一件跨步骤的办公任务交给 WorkSwarm,通常不是整段交出去,而是先切出一段「输入齐、判定确定、失败能停下」的步骤让它跑完,取数和对外发送这两头留给人。判断的入口只有一个:这一步需要的输入,在任务开始时是否已经躺在工作区里。已经在,才有自动化前提;要靠邮件、共享盘或他人动作先产生的,先不划进自动段。
📋 目录
  1. 壹 挑一个真实的多步骤任务并写出完整步骤串
  2. 贰 逐个标注每步的输入是否已经存在于工作区
  3. 叁 把需要外部拍板的步骤单独拎出来
  4. 肆 只在测试任务上跑可自动的那一段
  5. 伍 把停机后留下的中间结果接到下一步手工操作上
A A

把一件跨步骤的办公任务交给 WorkSwarm,通常不是整段交出去,而是先切出一段「输入齐、判定确定、失败能停下」的步骤让它跑完,取数和对外发送这两头留给人。判断的入口只有一个:这一步需要的输入,在任务开始时是否已经躺在工作区里。已经在,才有自动化前提;要靠邮件、共享盘或他人动作先产生的,先不划进自动段。

把任务先写成步骤串,再逐条核对输入是否已在工作区,能自动的一段通常落在中间转换环节:校验、对齐、汇总、出图、按模板套正文。建议在测试工作区里只跑这一小段,看日志停在第几步、留下哪些中间文件,再数一遍人工接手要补的内容。边界是:涉及审批、外发、改写共享盘原件的步骤,即使技术上能跑也不并入自动段;输入缺失时不要用占位文件硬凑,否则停机点会从缺输入的位置后移到结果校验的位置,收拾成本更高。

挑一个真实的多步骤任务并写出完整步骤串

选一个有明确交付物的任务,例如「把三个渠道导出的订单明细合成 6 月渠道月报,主管看过之后发给三家对接人」。口头需求要落成可切分的步骤表,每个步骤只做一件事,同时写清输入来自哪里、产出是什么文件或什么结论。步骤表先写在文档里,字段固定成:步骤号、动作、输入来源、产出物。

  1. 收齐三份渠道导出文件。输入:邮箱附件或共享盘目录;产出:work/inbox/channel_a.csv、channel_b.csv、channel_c.csv 以及 manifest.txt(记录文件名、字节数、落地时间)。
  2. 校验列名与行数。输入:上一步三份 csv;产出:work/out/validate.log,逐文件记录缺失列名、表头行、空主键行号。
  3. 字段对齐并合并。输入:三份 csv 加 work/conf/channel_map.csv(渠道名到标准渠道编码的映射);产出:work/out/merged.csv。
  4. 按渠道与品类汇总。输入:merged.csv;产出:work/out/summary.csv。
  5. 生成汇总图。输入:summary.csv;产出:work/out/charts/bar_channel.png。
  6. 套模板写月报正文。输入:summary.csv、图表、上月月报模板;产出:work/out/draft_month_report.docx。
  7. 主管审批。输入:草稿与汇总表;产出:审批意见或放行标记。
  8. 发邮件给三家对接人。输入:草稿、图表、收件人清单;产出:发送记录。

写步骤串时把「读取」和写「写入」分开写,后面判断输入时就不会混。步骤数通常控制在 8 步以内,超过这个量一般说明有两件任务被并到了一起,建议拆开。

逐个标注每步的输入是否已经存在于工作区

逐条问一句:这步运行前,需要的输入是不是已经在工作区里,路径能不能被列出来。先列完整输入来源,再给每步归类。

  • 三份渠道导出文件:来自邮箱或共享盘,不在工作区,需要先落地。
  • channel_map.csv:渠道名映射表,通常由运营维护,需确认是否已经放进 work/conf/。
  • 上月月报模板:需确认是否已有可用的 docx 或 md 模板。
  • 收件人清单:需确认,且属于外发相关信息。
  • 步骤 2 至步骤 5 的输入:全部来自前一步产出,落在工作区内。

归类时用下面这张三栏表,归类依据写具体,不写「看情况」。

可自动需确认需人工
步骤 2 校验、步骤 4 汇总、步骤 5 出图:输入全部来自上一步工作区产出步骤 3 合并:取决于 channel_map.csv 是否齐全;步骤 6 写正文:取决于模板是否已在工作区步骤 1 收文件:输入来自邮箱或共享盘;步骤 7 审批;步骤 8 发送

判断单个步骤能不能自动化,可以只认三条可验证标准:一是输入可达,运行前用一次目录列举或一次读取就能确认文件存在,路径能被日志打印出来,缺失即判不可自动;二是判定可写成确定性规则,例如列名匹配、主键非空、行数大于零,同一份输入重复跑结论一致,需要「看着办」的判不可自动;三是失败可停且不触外,这一步只往工作区写新文件,不改原文件、不发邮件、不提交审批、不写共享盘。三条都满足才划进自动段。下面这段骨架用来把结论落成配置,字段名按你实际使用的编排方式替换。

task: channel_monthly_report
workspace: ./work
steps:
  - id: collect
    run: manual
  - id: validate
    run: auto
    in: [work/inbox]
    out: work/out/validate.log
  - id: merge
    run: auto
    in: [work/inbox, work/conf/channel_map.csv]
    out: work/out/merged.csv
  - id: draft
    run: confirm
  - id: approve
    run: confirm
  - id: send
    run: manual

跑之前用一条命令核对输入,缺什么当场就能看到:

WorkSwarm 接手多步骤办公任务前,先把可自动完成的一段圈出来
ls -l work/inbox work/conf
test -f work/conf/channel_map.csv && echo "input ok"

把需要外部拍板的步骤单独拎出来

需要人拍板的步骤不要混在自动段里,单列成确认点,每个确认点写三件事:谁确认、依据什么确认、确认之后流程往哪走。

  • 映射表新增条目:确认人是维护映射表的运营同事,依据是 validate.log 里列出的未匹配渠道名,确认后把新条目写进 channel_map.csv,再重跑合并及之后的步骤。
  • 月报草稿内容:确认人是主管,依据是 draft_month_report.docx 与 summary.csv,确认后进入发送准备,未确认则流程停在草稿,不生成外发内容。
  • 外发动作:确认人是业务负责人,依据是收件人清单、邮件正文与附件,确认后才触发发送,这一步默认不进自动段。

确认点写清之后,自动段的边界也就固定了:确认点之前的转换步骤可以跑,确认点本身要人介入。

只在测试任务上跑可自动的那一段

验证切分是否成立,不要一上来就跑正式目录。新建一个测试工作区,放几份小体量的样例 csv、一份映射表和一份模板,把归类为「可自动」的步骤挂上去跑,其余步骤保持关闭。跑完按日志核对三件事:停在第几步、停下时留下了哪些中间结果、有没有改动输入文件。

grep -nE "step=|stop_at_step|error" work/out/run.log
ls -lt work/out work/out/charts

需要记录下来的中间结果,通常是 validate.log 里的列名与空值清单、merged.csv 的行数、summary.csv 的汇总结构、charts 目录下的图片文件,以及日志里明确的 stop_at_step。如果停机发生在校验步骤,说明输入本身没备齐,先回到第二节补输入来源,而不是去改自动段的规则。为了确认判定规则稳定,可以用同一份样例再跑一次,对比两次产出是否一致;也可以用 diff 对比输入文件跑前跑后的差异,确认自动段没有回写原文件。

把停机后留下的中间结果接到下一步手工操作上

停机位置确定后,量一遍交接成本:数一数人工接手时要复制或补写的具体内容有多少条。

  • 日志里未匹配的渠道名,需要补写进 channel_map.csv 的映射条目,再重跑合并之后的步骤。
  • summary.csv 中的汇总数字,需要复制进月报正文对应表格位置。
  • 草稿里模板无法生成的部分,需要补写:数据口径说明、异常波动的解释、下月计划。
  • 图表标题、单位、渠道名的显示名称,需要人工校正。
  • 收件人清单、抄送范围、邮件问候语与落款,需要人工填写。
  • 如果停机发生在生成草稿之前,还需要把中间结果文件路径手动登记进人工操作清单,避免下一个接手的人重新找。

这些条目数就是这段自动化的实际交接成本:需要复制的字段越多、需要重跑的步骤越靠前,说明自动段圈得不成形,可以缩小范围,只保留校验、汇总、出图这类输入全部来自工作区的步骤。反过来,如果接手时只需补少数几条映射和一个正文段落,切分基本成立,再考虑把这段固化下来。所有判断都以日志和工作区文件为准,环境不同、映射表和模板的维护方式不同,结论需要结合实际情况再确认一遍。