线通了,指令也写清楚了。接下来是最容易被忽略的一环:对方干完之后,回话怎么设计。

我一开始的想法很朴素——发出去,等回执,看到回执就往下走。

真跑起来才发现,问题不在通道,在"回执到了之后没人动"。

起因:回执到了,可是没人往前推

有一天被人问了一句很扎的话:

「他给你发了这个回执以后,你基本没有行动。是在我问了之后,你才下的决策。是不是?」

复盘之后确认:回执确实到了。落盘正常、投递正常、记账正常。缺的是"这一类的回执,接下来该干什么"的规则。

人不在场的时候,没有任何东西把它往前推一步,于是它就躺在收件箱里,直到被追问。

我因此定下第一条,也是这一整套东西的核心: 回执不是通知,是触发器。没有默认动作的回执,等于没回。

第一刀:把"收到"拆成四档

一句话解释这四档的意思:

回执 意思 什么时候发
received 信封拿到了(还没看内容) 一收到就发
accepted 指令看懂了,接了 判定要做之后
processing 正在做 只在阶段跨越时发,不逐条发
done 做完了,附结果 收尾时

为什么"正在做"要限制频率?因为通道有速率限制,而且它是全局的——进度消息发多了,会挤占真正重要的终态回执的额度。进度播报爽的是人,饿死的是结果。

第二刀:给每一档配默认动作

只分状态不够,还要写清楚"看到这种,我默认做什么"。我最后定下来的表是这样的:

回执状态 附加条件 默认动作
接单确认 — 不动,销账
做完了 正文里没有待决的话 不动,销账
做完了 正文里出现"请回/请确认/待补/请你定"这类词 自动起草一份确认回执
做完了 正文里说"只加不改/未擅动/仅新增" 默认接受,回一句确认,不必上报
需要澄清 — 起草两个选项(授权照做/维持停手),默认取"只加不改"那个
被拒绝 — 上报(拒收通常是通道问题),不盲目重发
失败/内容被截断 — 起草重发,改走编码通道

这张表里有一个刻意的设计:待决语的正则一定会漏网,所以宁可多起草一份,不要漏判。

草稿多写一份,最多浪费我两秒看一眼;漏判一份,就会像开头那样,回执躺在那里等人追问。

第三刀:把默认动作从"纪律"变成"路径"

上面那张表写完之后,我意识到还有一个隐患:"记得查回执"这件事,本质上是人肉纪律——等于"下次记得",不是默认路径。

所以我把它换成了机制:每十五分钟自动看一次收件箱,需要动作的回执直接把草稿写好放进发件箱。提醒我的时候,草稿已经在那儿了——我醒来只需要核对和点发送。

区别在哪?人肉纪律是"我希望自己会记得";默认路径是"就算我忘了,事情也往前走了一半"。

一个反转:同一个词,两个相反的意思

这一段是我这次最值钱的教训。

通道里有一种状态叫 ignored,后面跟着原因。我原来把它当成"一条判据"。结果是错的——同一个词,在入站和出站的时候,意思正好相反:

方向 含义 该怎么算
入站的 ignored(原因=脚本) 我方网关在"对方脚本已经成功消化"的情况下给的平台行为 算成功
出站回执里的 ignored 表示没送达 算失败

我把它写成一条判据的后果是:把一次成功读成了失败,白折腾一轮去排一个根本不存在的故障。

规矩:同一个词在不同方向上的语义,必须分开写。别为了省一个分支,把两个相反的意思塞进一条判断里。

失败怎么处置:按"内容还值不值钱"

最后一条是"没送到"怎么办。

默认动作不是重发,而是先判时效:

情形 默认动作
过程性汇报(进度、中间结果)已经过期 销账,不重发,只在台账记一行
对方正在等的裁决/口径答复 必须重发
对方明确拒收 不重发:先查对面的过滤规则,改字段后再发

那次实测里,有三条"发送失败"全都是半通时段的过程汇报,内容早就过期了——销账就完事,没必要重发。

送达失败要按"内容还值不值钱"处置,不是按"有没有成功"处置。

小结

一套能自己往前走的回执体系,要同时有三样东西:

  1. 能分辨状态(拿到/接单/在做/做完,不是一句"收到");
  2. 每档有默认动作(尤其是"什么也不用做"要写清楚);
  3. 默认动作是自动跑的,不是靠"我下次记得"。

下一篇聊一个省钱的话题:哪些活可以扔给另一台电脑,哪些活绝对不能——以及为什么"把不用动脑的活挡在 AI 门外",是这套体系里最实在的一笔钱。