上一篇讲线怎么通。这一篇讲线通了以后,指令该怎么写。

我拿一件小事做的实验:让另一台电脑上的 AI 帮我整理它那台机器的桌面——上面堆了几个来历不明的文件夹和文件,留着占地方,删了又怕删错。

结果这一件小事,我发了三封指令才办完。

三封指令,一件小活

步 我发什么 它回什么
① 只读盘点 「列出桌面上非快捷项的清单,查一下工作区/知识库有没有同一份,回清单。禁止删除、禁止移动、禁止重命名,拿不准的归到待定里」 4 个非快捷项,每一项都做了逐字节校验值比对,自己分了类(1 个"没有正式归档、建议归档",3 个"已有备份、建议删"),并明确写"四件均未动"
② 一次性授权 点名清单 +「仅限本次、仅限这四件、不构成对文件操作的长期开放」+「删之前复核备份的校验值」 ①归档进它本机的知识库(副本校验值一致),②③④删除(删前逐份复核);另留了一个待裁项
③ 收尾授权 只补一句:①的桌面原件授权删(上一封没点名) 已删(删前校验值逐位一致,42375 字节);报剩余状态:桌面只剩 1 个非快捷项(实体文件 0 个),快捷方式 18 个

全程大约五分钟。

说句公道话:它比多数人靠谱

这份回执里有几个细节值得单独说:

  • 它自己加做了校验值比对——我只要求"回清单",它顺手把每份文件都跟归档副本对了字节。
  • 它自己给了处置建议——不是我要求的,它主动分了"建议归档/建议删"两类。
  • 它明确报告"四件均未动"——一句话就让我确认第一封指令真的只是读,没有碰任何东西。

第一封写"只读",它就一个字节都不动。这一点比想象中重要:"只读第一封"这个习惯,是所有批量文件操作里最便宜的安全带。

我的毛病:授权只写了"要做什么"

问题出在第二封。

我给的清单是「②③④删掉、①归档」。看着挺清楚,其实漏了一个东西:①归档之后,桌面上那份原件怎么办?

它严格按我的范围执行——归档做完,桌面原件原样留着——然后回我一行:

留待裁:①桌面原件未删(本次只点名②③④),去留请定。

它做得完全正确。不自行扩大授权范围,正是我要求的那种"稳"。代价是:我又多发了一轮,多烧一次它的"思考",而这一轮是完全可避免的。

所以我改了写法。现在起草授权,每一个东西的下场都要写明,四选一,不许含糊:

下场 写法
归档后删 「归档完成后删除原件」
归档后留 「归档后原件保留不动」
直接删 「删除,不保留」
不动 「本次不处理」

一句话:你把边界写清楚,它才敢动手;你把每一件的下场写清楚,你才不用再回一轮。

还有一件事:授权一定要声明"就这一次"

我每一封授权都带上一句「仅限本次、仅限这几件、不构成长期开放」。

这句不是客套。它在更早的时候真派上用场:那次它因为"我的指令和之前定过的规矩冲突",主动停下来等我裁决。

一个不敢动的执行方,比一个乱动的执行方安全得多。而它敢动的前提,是边界清清楚楚。

一个"自检全绿、真发就崩"的教训

这一步跟授权无关,但同样是我在这条线上付出的学费。

第三封指令要发出去之前,我的发送脚本先跑了一次预演模式——把所有检查跑一遍,看报文长度、编码选择、格式,全绿。

然后真发,崩了。报错是"变量未赋值":脚本里"明文发送"那条分支少了一行赋值语句。

为什么一直没发现?两个原因叠在一起:

  1. 预演模式在真正发送之前就返回了,压根不经过发送分支,那个坑根本没机会露头;
  2. 之前那次号称"实测通过"的验证,走的是超长内容自动转编码的那条路——而"普通长度的明文路径"从来没被覆盖过。

所以现在我的验收规矩是:

任何新接入的发送脚本,验收必须真发一条"普通长度"的消息(不是超长自动转编码的那种),并以对方的回执为准。 预演只能证明"算得没错",不能证明"发得出去"。

可以照抄的四条

  1. 第一封永远只要清单,并把"禁止删除/移动/重命名"写进正文——它会照做,还会自己补上校验和分类建议;
  2. 每封授权都声明边界:"仅限本次、仅限这几件、不构成长期开放";
  3. 授权点名到每一件,写清每一个东西的下场,别把例外项留给对方猜;
  4. 验收看回执正文,不看"已受理"三个字——这次就是靠回执正文里的"实体文件 0 个",我才确认了终点状态。

下一篇讲这条线上最容易被忽略的一环:回执。我一度以为"对方回了收到"就算流程走完,结果发现回执不会自己往前走——它需要一张默认动作表。