Agent 失败之后退回哪一步:回退目标决定了工序怎么切

2026-08-25

拆工序的时候最难受的不是拆不动,是不知道该在哪里下刀。一件事从头到尾捋一遍,看上去处处都能切,切成五步也说得通,切成十五步也说得通。我给那个写公众号文章的 Agent 拆工序时就卡在这里:把”生成提纲”和”确认提纲”算一步还是两步?把”撰写正文”和”优化标题”合成一步会怎么样?光看正常路径,怎么切都对。

后来我发现,只看跑通的那条路径是问不出答案的。工序边界不是在成功的时候显形的,是在失败的时候显形的。

先问一句:这一步判失败,从哪一步重做

我现在拆工序用的是这么一个动作,读者当场就能对自己手上的流程做一遍:

把你打算切的那些步骤竖着列一列,在每一步旁边写一句话——这一步的产出被判为不合格时,要从哪一步重新开始。不是”重新做一遍这一步”这种下意识的答案,而是认真想:重做这一步真的能修好吗,还是说这一步只是把上游的问题显影出来了。

写完之后看这张表:

  • 相邻几步的回退目标是同一个,说明它们其实是一个工序,中间的切分只是形式上的,失败的时候它们同生共死;
  • 回退目标不一样的地方,就是真正的边界。因为一旦失败,这两边的处理方式完全不同,它们必须能被单独判失败、单独重做。

然后再补一个问题:这条回退线跨过人工确认节点了吗? 跨过了,说明重来的代价里包含”作废人工已经拍过板的决定”,这一步之前就得多花点力气把前提坐实,而不是等到出错再退。

这个问法的好处是它逼你去想失败。拆工序的时候人天然会顺着成功路径想,那条路径上每一步看起来都很顺滑,所以怎么切都行。一想失败,差别立刻就出来了。

还有一点得说清楚:这个动作我在纯人工的流程上也做过,但那时候它可有可无。人自己执行一条流程,判出失败之后会顺手往回摸——正文写不动,就想想是不是方向从一开始就不对;资料查不到,就想想是不是选题选偏了。这个回溯发生在脑子里,不需要落到任何文档上。把同一件事交出去之后,这一段隐含的判断就没人做了:在哪一步判的失败,就停在哪一步,我不写清楚该退到哪儿,能发生的就只有在原地把这一步再来一遍。于是回退目标从一个不必言明的常识,变成了必须显式写下来的东西。既然横竖都得写,它就顺带成了拆工序时最趁手的那把尺——我是先被逼着写回退边,才发现工序边界跟着它自己就浮出来了。

四条回退边,三条原地、一条退到底

我那条流水线的流程图上目前实际画出来的回退边有四条。它们分布得很不均匀,而这个不均匀本身就是信息。

第一条:正文不具备真人感,退回”撰写正文”。 判据在工作流卡里写得很具体——语气要分区处理,开场、过渡、解释、个人观点可以口语化,事实、风险、承诺必须严谨。判不过的时候,问题出在文字本身,素材、方向、提纲全都还成立,所以原地重写就行。

第二条:核心依据无法核验,退回”评估选题价值”。 这条后面单独说。

第三条:提纲没过删除测试,退回”生成提纲”。 删除测试是这么一句问法:删掉这段之后,读者是否会失去重要的认知或行动依据;不会,就删。一份提纲整段整段经不起这么问,说明的是这份提纲的结构没立住,重新生成一份即可,上游的方向没受影响。

第四条:标题承诺在正文里没有支撑,退回”优化标题”。 这里的口径是标题可以适度强化吸引力,但正文必须兑现承诺,而且法律风险、数字、事实、人物言论绝对不能夸大。当标题跑到正文前面去了,改的是标题不是正文——因为正文是已经过了自己那道门的。

四条里三条是原地重做,只有一条要往回退好几步。这就是我说的”分布不均匀”:如果一条链路上所有失败都是原地重做,那你把它切成几段其实无所谓,反正谁失败谁重来;真正决定切分位置的,是那条退得远的边。

为什么核验失败要退那么远

按我那条流水线的执行顺序,评估选题价值在很前面,之后依次是生成写作方向并等待选择、生成并确认提纲,再往后才是检索和核验资料、撰写正文。

也就是说,“核心依据无法核验,退回评估选题价值”这条边,一口气跨过了两个人工确认节点——方向是人选的,提纲是人拍板的,退这一下,两个已经确认过的决定同时作废。链路上另外三条边一步都不跨。

为什么非得退这么远?因为选题这个判断本身是建立在依据之上的。我那套判据里,一个选题值不值得写有三个硬门槛:有可靠依据、能解释深层机制、不是常识复述,三者缺一就换角度或者放弃。核心依据核验不过,塌掉的正好是第一个门槛。当初判”这个选题值得写”的那个前提没了,选题这个结论就不再成立。

那退到”撰写正文”行不行?不行,而且不行的理由很硬。退回撰写,等于要求写的人在没有依据的情况下把同一个结论换个说法再产出一遍。可我这套判据里还有一条明确的红线:独特性不得靠猜测、夸大或者无依据的推论来制造。所以退回撰写这条路,通向的只有两个结果——要么绕过红线硬写,要么在原地卡死。它看起来近,其实是死路。

对应的处理也不是”再查一遍”。我的口径是:只有会影响核心结论或读者决策的数字和事实才必须查证;非核心且确认不了的,直接删掉就好;核心依据确认不了的,换角度或者换观点。换角度、换观点——这两件事都发生在选题那一层,不在写作那一层。

这条边还顺带解释了一件事:为什么每个人工确认节点的输入和输出都要单独落盘。我那条流水线的成果目录里,方向和提纲各占一个独立文件,存的是”当时给了哪几个备选方向、最后选了哪个”和”确认之后的提纲”,而不是把这些留在对话记录里。平时看起来这是多余的归档动作,等到真的触发这条退到底的边,它就是唯一能让你不从零开始的东西——上一轮给过哪几个备选方向、最后选的是哪一个,都写在那儿,不用重新想一遍。

顺便说一句,这条流水线的三份文档里,讲执行的那份把步骤写成了十三步,讲判断的那份把保存成果和同步草稿合成了一步,写成十二步。我没有强行对齐它们。讲边界的、讲判断的、讲执行的,颗粒度服务于各自的用途,只要回退目标这件事在各自那份里说得通就行。

这条判据不管用的地方

第一,当所有失败都只有一种退法时,这条判据什么也告诉不了你。 我那条链路上是三条原地边加一条长边,所以边界看得清楚。如果你的流程是失败了就整个从头再跑一遍,那这张表上会填满同一个答案,切分位置得靠另外两类依据去定——需要人确认的地方,以及产出物形态发生变化的地方。回退目标只是三类切分依据之一,不是全部。

第二,没画出回退边的地方,不等于那里不会失败。 我这条链路上失败的可能性远不止四处,但另外那些失败不走回退边,走的是人工兜底:链接打不开或者要登录付费、主题和目标读者不明确、来源互相矛盾、涉及高风险领域、外部授权异常……这些是异常分支,触发的是”叫人来”,不是”退回某一步自己重做”。用回退目标去切工序时,别把这两类混在一起——兜底和闸门在我这儿是分开列的,介入条件是异常触发,检查环节是常规必经。

第三,还没跑通的那一段,这条判据只能算设计而不算经验。 我这条链路上,公众号草稿箱写入至今没有接通,交付的终点是文章和封面已经生成并保存下来。没跑通的步骤上我没有真实的失败样本,硬去画它的回退边,画出来的是我的想象。所以那一段我暂时空着。

最后一点:这条判据回答的是”在哪里切”,不回答”切完之后每一步怎么做好”。判据、提示词、检查项都是工序内部的事,跟边界画在哪儿是两个问题。

这篇的判据来自我自己带 Agent 干活的实践,样本有限。它更像一份可以拿去验证的假设,而不是一份可以照抄的规范。

延伸阅读

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。