一步错,后面全废:一条内容流水线上的四道检查

多个 AI 串成流水线,最贵的错误是早期一个不起眼的偏差被后面每一步放大。我们在教材内容提取上设了四道检查,其中最关键的一道刻意不许自动放行——以及为什么「让模型自己比对一遍」会失效。

把多个 AI 串成流水线,最贵的错误不是某一步崩掉——崩了你会立刻知道。最贵的是早期一个不起眼的偏差,被后面每一步安静地放大

我们做的事情是:把教材内容变成结构化的知识底座,下游全都是有 AI 参与的环节——讲解从它扩写、导师拿它防幻觉、动手练习照着它长。所以底座里混进一句编造,会被放大成讲给学生的话,而且再也查不出它是哪来的

这篇讲我们为此设的四道检查,以及其中最关键的一道为什么刻意不许自动放行。

先说旧做法为什么被换掉

早先的做法很自然:先把教材转成纯文本,再让模型从文本里抽取知识点。

问题是这条路上没有任何东西约束「这句话出自哪一页」。结果是:**摘录确实是教材原文,但常常取自本册的别处。**这个比例我们量过,接近一半。

更糟的是第二句:**串源了也发现不了。**产物里没有任何字段能被追问「你这句是哪来的」。

所以新做法的第一原则不是「更准」,是可追责

看着教材版面写,每一句都要能落回它自己声明的那一页。找不到依据的宁可不写。

这条原则的价值不在于产出和教材一模一样,在于任何一句话都能指着一页说「在这儿」。有了这个,后面的检查才有东西可查。

四道检查

门 0:先抽样,再决定要不要逐条审

这道只在验收侧做,而且必须放在最前面。

理由是一个实测出来的事实:**质量是按批次聚集的,不是均匀分布的。**同一个承接方、同一批交付,一册的返修率是八成,另外几册合起来才两成——差一个数量级。

所以验收从抽样开始:每册先抽五张图核一遍,算命中率。命中率高的册,怎么处置由调度方决定(整册退回、逐条审、还是自己修);命中率低的直接进逐条审。

抽样的价值在于。有一轮我们是全量看完才知道返修集中在哪两册。如果先抽样,第一册抽五张大概会命中四张——那一册怎么办,在看完五张的时候就有依据了,不必看满三十多张。

这条可以搬走:验收一批 AI 产出之前,先花很小的成本判断「这批的缺陷是集中的还是散的」。集中的话,逐条审是浪费;散的话,抽样过了也不能放心。

门 1:结构与接地(全自动,必须全绿)

一条命令跑完,核这些:格式是不是合法、字段齐不齐、页码范围对不对、原文逐字回验、术语在不在那一页上、图号在不在那一页上、有没有生成器的自白,外加每张图的渲染和几何自检。

「原文逐字回验」是这道门的核心。产物声称某句话是教材原文并标注了页码,检查就真的去那一页找这句话。找不到,不算完成。

这一道全自动、必须全绿、没有例外。它挡掉的是形式上的问题。

门 2:图示保真(人工,刻意不给自动门)

这是四道里唯一的人工检查,也是我们讨论最多的一道。

人要逐张核四件事:框和节点的个数与文字、连线的起止、箭头方向和它上面的标注、以及最重要的一条——这张图想说明的那句话,图上真的画出来了吗

受理有个前置条件:交付必须附一张「原页与重绘并排」的对照图,不提交不受理。这个要求几乎零成本,却能挡掉一整类错误——连线把文字划掉、浅色文字不可读、符号压在一起,看一眼对照图就发现了

另外有一条硬规矩:原图不足以裁定的时候,必须回看教材正文和图注,用教材对这张图的解释来辅助判断。仍然不能确定就保持待核或者判需改,不得猜测后填「通过」。判断依据要登记:是「原图足以确定」还是「已查教材内容」;后一种还得写清是哪一页哪一段支撑了哪个判断,不能只写一句「看过教材」。

结论单独存,文档重跑不覆盖。而且记录里要写下当时实际对照的那两个文件的哈希——**原图重裁、图重提、或者手工改过,哈希一变,旧结论立即失效,必须重新验收。**这条防的是「审过一次就永远算审过」。

门 3:入库前再比一次字段增减

不加应用参数空跑一遍,看这次入库会增删改哪些字段。

这道门的作用是防「意料之外的顺带改动」。它经常什么也不发现,发现一次就值回票价。

那道人工检查为什么不能自动化

最想省的就是这一道——它是唯一花人时间的。我们认真考虑过让一个模型去读原图和重绘图,自动判「通过」。

不行。模型判模型,过了不说明对,那是给自己发免检。

但这里有个更微妙的坑,我们真栽进去过,而且它不是「不认真」,是结构性的。

有一批交付,全部图都标了「通过」,配着几百条逐图注释。抽查十一张,八张有问题。把注释和图对着看:

交付时写的比对结论 图上实际画的
「各方向撞击的箭头与教材表达一致」 所有箭头齐刷刷指向中心
「沿曲线切线方向的速度」 速度从圆心发出
「刻度盘和底座完整」 根本没有刻度盘

注释全对,画的全错。

注释准确描述了原图该有什么——说明作者的理解是对的。只有一个解释:它没有把两张图并排看过,而是凭同一个「理解」同时生成了两样东西:图,和「已逐图对照」的结论。两个产物出自同一个源,当然自洽

这件事教给我们一条比它本身重要得多的原则:

比对之所以能抓到错,是因为它引入了外部信息——原页的像素。不看那张图、只凭理解写结论,结论必然和自己的产物一致:自洽,但零信息。

反过来说,真看了就会推翻预期。返修的时候,我自己把一张图的箭头数错成十二条、把另一张看成有八条交叉线,回去查源码才纠正。「看」会推翻你的预期,这正是它的价值。

所以这道检查的形式必须是:拿到外部证据,并且留下「我确实拿到了」的物证——那张并排对照图、那两个哈希、那几条教材出处。自由文本写一句「已核对」不构成验收。

给流水线设计者的三条

一、检查自己重新推导,不采信上一步的保证。 「我已经检查过了」是最容易烂掉的一类保证。

二、检查不调用 AI。 用 AI 验 AI,得到的是两个模型一起自信地错。能用确定性代码判的,一律用代码。

三、明确写出哪些地方没有设检查。 写明白比假装覆盖全了强。我们在文档里专门列了「没有设门的地方」——语言是否通顺、难度标注准不准、情境合不合理只覆盖了一部分。读的人知道哪里薄,才知道哪里要自己多看一眼。

最后一条,也是最反直觉的一条:**允许某一步说「我不敢自动放行」。**流水线的价值不是全自动,是把人的注意力集中到机器判不了的那几处。四道检查里三道自动、一道人工,这个配比是想清楚之后的结果,不是还没来得及自动化。