方法论专栏
AI 明天就可能用不了,活不能跟着停
把干活的手设计成可以换、换了活不重来的五个机件。
用 AI 干活的人都会撞上同一天:常用的那只手忽然不能用了——配额用完、服务中断、涨价、账号出问题,理由不重要,结果只有一个:活停在半路。上一页讲的是换了 AI 之后整套工作流为什么会崩;这一页讲它的反面:怎么把工作流设计成手可以换、换了活不用重来。我们自己的一条业务线,在一天之内把「换手、切回、再换手」跑了一个来回,规矩一条没放宽,活一件没停。这一页把那套机制拆成五个机件,每个机件各解决一个问题,末尾如实写它撞过什么、哪些还没验过。
这套机制只在一家公司、两只手、一条业务线上跑过;机制立规当天就被用上了,但也只被用过这么一回合。
一、替换不是应急预案,是设计输入
系统只需要回答一个问题:手换了,活要不要重来
大多数人把「换 AI」当成意外,等它发生了再想办法。但配额耗尽、停服、涨价、封禁,这些事不是会不会来,是哪天来。任何一只手随时会没,这不是风险清单里的一项,是开工那天就该放进设计的输入。
所以这一页的系统只回答一个问题:手换了,活要不要重来? 要重来,说明你的工作流长在了那只手上;不用重来,说明它长在手外面。
它和上一页互为反面。那页讲:换平台的时候别一比一照搬旧摊子,先想清楚要保留的做法,再在新平台的规矩和约束下重新长一遍——搬得走文件,搬不走原理。这页讲:如果原理从一开始就没长在某只手上,换手的时候连「重新长」都省了。下面五个机件,就是让原理长在手外面的五个办法。
二、大脑和双手分开,是能换手的前提
边界写在仓里,不写在某个产品的使用习惯里
头一个机件不是什么新东西,本站讲挽具的那页已经讲过:判断、规划、出指令是大脑的事;改文件、跑命令、真正动手是双手的事。两层分开,各有边界——大脑不直接乱写仓库,双手不自作业务判断。
放到「换手」这件事上,这条分层的价值是另一面的:手只是执行体。 手要守的边界,写在仓库里那份规矩文件里,不写在某个产品的使用习惯里。所以换手的时候,边界一字不用动——新来的手开工先读的,是同一份规矩、同一条留痕、同一张单。
反过来说,如果你的规矩是「用某某工具的时候要注意什么」,那它就是长在那只手上的,手一换,规矩也跟着没了。
三、首选和替补写死在册,切换只要一句话
一句话触发、一条留痕、每份回执标是谁做的
其次的机件:规矩文件里写死一个序列——哪只手是首选,哪只手是替补;触发切换的条件也写死:首选配额耗尽或者不可用。
切换本身只要三样东西:拍板人一句话触发;大脑在留痕里记一条,写清替补手自哪一天、哪张单起接手;从这一条起,每份回执首行标明是哪只手做的。 三样凑齐,任何时候翻旧账都说得清哪只手改的哪一处。
读者要拿到的判断是:切换的成本必须低到一句话,否则真到那天没人会切——大家会先试着等一等、绕一绕,活就停在那里。而切换的证据必须留到每一份回执上,否则事后没人分得清替补期的活是谁干的。
四、单内不换手
切换以一张单为单位,不以一次对话为单位
再一个机件:手可以换,但换有边界——一张单只能有一只手的指纹。 切换发生在两张单之间,不发生在一张单的中途;切回的条件同样写死:首选恢复,并且手上这张单已经收口。切回也留痕一条。
为什么要这么硬?因为它承的是更早的一条规矩:两个模型不同时写仓库。一张单两只手写过,回执就说不清谁改的——你查出一处错,不知道该找哪只手的习惯去改。
读者要拿到的判断是:可替换的代价,是「换」这个动作本身要有边界。 没有边界的可替换,只是把混乱从「换不了」挪到了「换了以后说不清」。
五、替补期边界不放宽
能做不等于可做
再往下一个机件管的是替补期。替补手往往跑在更宽的环境里——有网、能删文件、终端直接可用——比首选手的沙箱松得多。规矩文件对此只有一句:规矩文件里的每一条,对替补手逐条同样生效。能做不等于可做——写仓库、碰敏感物、连生产环境,照旧等拍板人授权。
替补手自己那份说明的头一条,也写得同样硬:规矩文件是你顶头的那道边界;这份说明里任何一条和它冲突,以更严的那条为准。
还有一条容易被漏掉:一只手的环境实况不能照搬给另一只手。 首选手的沙箱拒过什么动作、读不了哪类文件,那是首选手的实况;替补手的环境边界要另外实测、另外记,不从首选手那里抄。
读者要拿到的判断是:规矩是给「手」这个位置定的,不是给某个产品定的。 环境越宽的手,越要按窄规矩走——因为它能做的事更多,越界的机会也更多。
六、换了手,那道便宜的安全网断了
三条补偿,补的是跨厂商互查
本站讲挽具的那页里有一条:让出题的和答题的尽量是两个不同厂商的模型——一方的盲区,往往正好在另一方视野里。一个模型自己既做又检查,等于自己校对自己的错字。这是整套工作流里成本很低、又很管用的一道安全网。
替补期恰恰会把这道网断掉:替补手和大脑常常是同一家厂商的模型,互查失效。规矩文件为此写了三条补偿:
- 分层不变:手只执行,贴实跑的输出,不自评判据;大脑只读核验,不写仓库。
- 碰代码、碰数据库、碰生产的活,仍然等首选手回来;替补期只接文档、治理、只读核验、脚本试跑这几类。
- 跨厂商复核挪到别处或事后补:或者送另一厂商的模型抽检,或者等首选恢复后对替补期的产出补一轮复核,结果记留痕。
这三条不是写在纸上的。实录两笔:切回之后,首选手对替补期那张单补跑了一轮跨厂商复核,订出六组必须改的地方;替补期里,替补手有一次把没跑过的判据贴进了回执,自己报出来改正,由此立了一条规矩——每条判据只贴当轮的回显。
读者要拿到的判断是:安全网断了不可怕,可怕的是没人知道它断了。把「断了以后靠什么」写在规矩里,替补期才不是裸奔。
七、实录:机制立规当天就用上了
一份从没被触发过的替补方案,不算方案
这套机件不是先设计好再等着用的,它是被逼出来的,而且立规当天就被用上了。按留痕的顺序:
一、首选手的配额在一天之内用完了,手上的单被拖住。拍板人没有等,直接拍板立规,事后再报备——上面五个机件就是那一天写进规矩文件的。
二、一句话切换。替补手接的头一张单是文档类的,分四个小轮出齐,大脑每一轮只读核验、不写仓库。
三、首选恢复,切回。切回后首选手先做的两件事之一,就是对替补期那张单补跑一轮跨厂商复核。
四、当晚首选配额再次耗尽,再切一次。切回条件不变,留痕照样一条。
每一次切换,留痕一条;每一份回执,首行标执行器。一天下来,光是关于「手」的留痕就有六条。
教训也在同一天:切换那天,大脑在沙箱里切分支切到一半,留下了一把锁,要人到终端去收拾。由此立了一条规矩——大脑做对齐只拉取、不切分支。替补方案头一次被触发时暴露出来的问题,比方案本身值钱。
读者要拿到的判断是:一份从没被触发过的替补方案,不算方案。 这和本站讲「账号发下去了,人还在跑道外」那页是同一个根:装了不等于在用,只有真跑过一次,你才知道它缺哪一块。
八、边界如实
已实跑:切换、切回、再切换各至少一次;替补期只接过文档、治理、只读核验类的单;三条补偿里的「分层不变」和「事后补一轮跨厂商复核」各实跑过一次。
未实跑:替补手接代码类、碰生产类的活——规矩文件里明写等首选,我们没有让它做过,这里也不写「也能」。
未验证:三只手以上的序列,没有跑过;大脑那一侧能不能换、怎么换,不在这一页。
记名一笔:留痕里末了一条关于手的记录,是那天晚上的再次切换;之后的留痕显示首选手已经回来干活,但「切回」那一条没有再写。机制里「切回也留痕一条」这半句,在跑到再一个回合的时候漏了。写在这里,不是替它圆,是让读者知道:机制在册和机制在用之间,差的往往就是这半句。
这套机制只在一家公司、两只手、一条业务线上跑过。它能不能迁到别的团队、别的手上,我们没有另一次证据。