Skip to content

06 · 出错、重试与兜底 ​

闸拦下来之后要做什么?三个选项:重试、降级、停下来。选错的代价很实在——不该重试的重试,是把错误重复一遍还多花一次钱;该停的不停,是让错误流到下游。

先分清两类错误 ​

这是整章的基础。

偶发错误系统错误
长什么样这次格式跑偏了、这次少了一列每次都在这儿错
原因输出的随机性提示词有洞、材料本身有问题
对策重试有用重试没用,得改
怎么区分同样输入再跑两次三次都错,就是系统错误

判断方法就一句:同样的输入再跑两次。

两次都对 → 偶发,加个重试就行。 两次还错 → 系统错误,别浪费钱重试了,回去改那一步的提示词。

这个动作十秒钟,能省掉你在错误方向上折腾半天。

对策一:重试(只对偶发错误) ​

重试的三条规矩:

一、限次数。 一到两次。三次还不行就是系统错误,再试也是白花钱。

二、重试时要说清上次错在哪。 原样重跑一遍,它很可能犯同样的错。加一句:

text
上一次的输出不符合要求:【具体哪里不符合,比如"第 3 行缺少截止时间列"】。
请重新输出,特别注意这一点。

三、记下来。 同一步经常要重试,那就不是偶发了——重试次数是一个信号,说明该回去改提示词了。

别把重试当成质量方案

"跑三次取最好的一次"听着聪明,实际上是用钱掩盖问题:成本三倍,而且你得有个人去挑哪次最好——那这个流水线就没自动起来。

重试是给偶发抖动兜底的,不是提升质量的手段。质量靠改那一步。

对策二:降级(保住主流程) ​

有些步骤失败了,整条线不必停。给它一条退路:

情况降级方案
某条待办抽不出责任人填「待确认」,继续走
某个分类判断不了归到"其他",标记待人工
某段材料解析失败跳过这段,在产出里注明"第 X 段未能处理"
强模型超时换便宜模型跑,产出上标注"降级处理"

降级的铁律:必须留痕。

text
❌ 悄悄填个默认值,产出看起来一切正常
✅ 填「待确认」,并在产出末尾列出所有降级处理的条目

没留痕的降级比失败更危险——失败你至少知道出事了,悄悄降级你什么都不知道。

对策三:停下来(该停就得停) ​

这几种情况,别兜底,直接停:

  • 输入本身有问题:材料是空的、格式完全不对、明显不是这条流水线该处理的东西。
  • 一步的产出结构完全不对:期望一张表,给了一段散文。这说明这步整个跑歪了,往下走没有意义。
  • 要往外发东西了:见 07 章。
  • 降级次数超过阈值:一份材料里有二十条待办,十五条都是「待确认」——那不是材料的问题,是上一步坏了。

停下来的时候要给人看得懂的信息:

text
❌ 流水线失败。
✅ 第 ② 步(抽待办)失败:期望表格,得到一段文字。
   已保留第 ① 步的产出:【路径 / 内容】
   建议:检查第 ① 步的纪要是不是本身就没有待办。

三样东西:错在哪一步、上一步的产出还在、下一步该怎么办。

最贵的一种失败:静默错误 ​

前面讲的都是"能被发现"的错误。真正吃亏的是这一类:

每一步看起来都成功了,产出格式完美,但内容是错的。

典型的三种:

一、漏了。 纪要漏了一条待办。产出是一张完美的表,只是少一行。

二、编了。 某条待办的责任人是编出来的。产出是一张完美的表,只是有一行是假的。

三、串了。 分组时把 A 的事项分到了 B 名下。产出是完美的两条消息,只是内容对调了。

这三种,结构检查一个都抓不到。所以:

对付静默错误,只有三招,按性价比排序:

  1. 中间产物带上原文依据(04 章)——让"编了"和"串了"能被抽查出来。
  2. 加一个独立的核对步骤(05 章的闸三)——专治"漏了",因为漏了是唯一没法从产出本身看出来的。
  3. 人工卡在出口(07 章)——最后一道,也是唯一一道能兜住全部的。

三招都不用,你的流水线迟早会安静地发错一条消息。

别忘了成本闸 ​

自动化最容易失控的地方是它不知道自己在花钱。两个简单的护栏:

一、单次运行的上限。 一次跑最多几步、最多多少 Token。超了就停。

二、失败之后不要自动重跑整条线。 一条五步的线,从第一步重跑,前四步的钱白花了。从失败那一步重跑——这就是 04 章要求"每步产出都存一份"的实际用处。

一张对照表 ​

出了什么事怎么办
格式偏了,重跑就好重试 1~2 次,带上"上次错在哪"
每次都在这儿错别重试,回去改这一步
某条信息缺失降级填「待确认」+ 留痕 + 继续
某一步产出结构完全不对停,报告错在哪一步
输入本身就不对停,别浪费后面的钱
降级太多(超过阈值)停,说明上游坏了
要往外发了停,交给人

下一步 ​

07 · 人在环上 —— 最后那道闸,怎么设才不流于形式。

一份讲通用概念的入门手册 · 不绑定任何一家模型或工具 · 例子可直接照抄