怎么把一个流程做成自动化任务
我给烧烤店做那个小程序的时候,最烦的不是写代码,是每次改完都要手动导一次配置、传一次文件、再发一条消息告诉对方。这个流程我手动跑了十几遍,直到有一天我实在受不了了。怎么把一个流程做成自动化任务,我的做法是:先原样跑一遍并记下来,再把它切成能独立判断成败的小段。
前提:怎么把一个流程做成自动化任务,先看它稳不稳
自动化不是用来救一个不稳定的流程的。
如果这个流程每次做法都不太一样,那它还不具备自动化的条件。
判断标准:你能不能连着做三遍,每遍步骤完全一样。
做不到就别急着自动化,先把步骤固定下来。
第一步到第三步:记录、标判断点、定输入输出
第一步:把手工流程完整录一遍。 从触发条件开始记,一直记到结束。每条都写三样东西:做什么、用什么、做完之后怎么知道成功了。这一步别偷懒,你现在偷的懒,会在后面以「它到底跑完没有」的形式还给你。
第二步:标出哪些步骤要人判断。 把整条流程走一遍,挨个标:这一步需要我拍板吗?需要拍板的步骤,要么提前把规则写死,要么就在那里留一个停下来的点。需要判断的地方不要让它猜,猜错的代价通常比停下来问你大。
第三步:把每一步定成输入和输出。 给每一步写清楚:它需要什么、它产出什么、产出放在哪。这一步最大的好处是出错时你能定位到是哪一段。没有这一步,流程一长你就只能整体重跑,浪费时间还容易覆盖掉正确结果。
第四步:先半自动跑,别一上来就全自动
半自动的意思是:它做前面几步,关键那一步停下来等你确认。
我现在的流程基本都是从这个状态起步的,跑顺几次之后才把中间的人工点去掉。
半自动跑一周没问题,再考虑全自动。 顺序反了,你就得在半夜起来收拾。
而且半自动阶段还能帮你发现一件事:你以为不需要判断的步骤,实际每次都需要你看一眼。
这种步骤如果直接自动化,出错的时候你连从哪查起都不知道。
第五步:加记录和失败信号
最后一步是让这个流程能被观察。
每个任务都要留一条执行记录,成功失败都写,出问题的时候你要能一眼看到断在哪。
没有记录的自动化流程,出问题时你面对的是一团黑箱。
容易卡住的地方
卡点一:流程里有一步依赖你手动操作。 比如需要你点一下网页上的按钮,这种先想办法绕开,别硬自动。
卡点二:多个任务改同一个文件。 给每个任务分配自己的输出位置,别共享。
卡点三:跳过半自动阶段。 这是最常见的一种,也是最容易翻车的一种。
我改造成的那个流程长什么样,值不值
回到开头那个烧烤店小程序的流程,它现在是这么跑的。
我改完代码之后手动触发一次,它自动做完三件事:把该传的文件传到指定位置、生成一份变更说明、把这次改了什么记进流水。
最后一步「告诉对方」我没自动化,还是我自己发消息。
为什么留这一步?因为跟人说话这件事,我不放心交给它。
这条经验可以推广:流程里凡是直接对外的动作,先留着人工那一下。
至于值不值,我的标准很简单:这个流程我一个月还会做几次。
做得越频繁,自动化越划算;一个月才做一次的,维护它的成本比手动做还高。
改造完我还会观察一段时间:它有没有按我预期跑,有没有出现我没预料到的情况。
跑顺了再往下加步骤,一次只改一处。
怎么把一个流程做成自动化任务,我现在的答案已经很固定:先手动跑顺,再拆步骤,留人工点,最后加记录。 跳过任何一步,后面都会以返工的形式还回来。
常见问题
Q:怎么把一个流程做成自动化任务?
A:先把手工流程完整记一遍,标出需要人判断的步骤,把每一步定成明确的输入输出,然后先跑半自动,稳定后再去掉人工确认点。
Q:什么样的流程不适合自动化?
A:每次做法都不一样的流程不适合。如果这个流程连续做三遍步骤都有出入,说明还没稳定,应该先把步骤固定下来。
Q:自动化任务跑起来以后还要盯着吗?
A:不需要时刻盯着,但必须有执行记录和失败提示。至少保证出问题时你能从记录里看出断在哪一步,而不是第二天才发现它没跑。
相关阅读
本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。
完整代码、踩坑清单与最新进展,都在公众号。
📱 关注公众号「西米分享」