清单从哪里来
——规则不是蒸出来的,是长出来的
《一张有答案的考卷》把律所里堆积的历史批注立成了金标准,用来考审查者。但那堆批注还有另一个用途,比考卷常见得多——市面上的合同审查产品,十有八九在做同一件事:把资深律师的批注蒸馏成审查规则。真题成堆,答案现成,把答案编成规则似乎顺理成章。这条路走反了。
专家系统的墓志铭
工程界走过这条路,而且立了碑。
上世纪八十年代的专家系统正是这个思路的完整实验:把专家的判断采访出来,编码成“如果……那么……”的规则,攒成规则库,机器照章执行。明星项目一度风光——DEC 公司配置计算机的 XCON 系统攒到上万条规则,头几年确实省了大钱。然后维护开始失控:规则之间互相打架,新规则的副作用无人能预测,每改一处要回头检查几百处。更深的坑在上游,行内称为知识获取瓶颈:专家说不出自己的规则。你问一位老工程师“你怎么判断的”,他给出的答案永远比他实际做的判断少——因为判断是情境里的事,规则是脱了情境的话。专家系统的规则库,本质上是把一种带情境的能力压缩成不带情境的条文,而压缩掉的部分正是价值所在。
二〇一九年,强化学习先驱萨顿把七十年 AI 史压缩成一页短文《苦涩的教训》,结论只有一条:依赖通用算力的方法,最终总是大幅胜过依赖人类编码知识的方法。 国际象棋如此,围棋如此,语音识别、计算机视觉全都如此。往系统里手工灌注人类知识,短期见效,长期封顶——因为编码进去的知识不会随算力增长,而通用能力会。之所以“苦涩”,是因为每一代研究者都想抄人类知识的近道,每一代都重新败一次。
蒸馏出来的琐碎
把律师批注蒸馏成审查规则,就是在大模型时代重写专家系统——而且两个败因原样继承。
第一个是知识获取瓶颈的变体。一条批注是情境中的判断:那位律师,在那笔交易里,掂量过双方关系、谈判筹码和签约的紧迫程度之后,才在那个条款上落了笔。蒸馏成规则,情境被剥掉,每一次情境化的“此处要改”都升格成普适的“凡此皆标”。几千条这样的窄规则跑在一份合同上,产出的就是满篇皆红的审查报告——《一张有答案的考卷》说过,那等于没有审查,它把发现的成本原样转嫁给读报告的人。琐碎不是蒸馏做得不够精,是蒸馏这个动作本身的产物:判断脱了情境,剩下的只能是琐碎。
第二个败因更直接:多余。大模型本身已经装着比任何律所规则库大几个数量级的法律知识,“无上限连带责任要警惕”这类规则,它不需要谁教。把批注蒸馏成规则,是在给一台已经会判断的机器重新编写它已经会的部分——还编得更差。这条路线是为“机器不会判断”的时代设计的补丁;机器会判断之后,补丁只剩维护成本。
顺带还有第三处硬伤,前一篇的读者会立刻认出来:拿批注蒸出规则,再拿同一批批注考这套规则,分数是恒真的——规则当然抓得住自己的出处。在自己出处上考试的规则,是一条永远不会红的测试。 出规则的材料和考规则的材料必须分家,这是工程里训练集与测试集的铁律;而只要分了家,蒸馏路线的成色就会当场现形。
薄规则层
那正面形态是什么?清单不该是库存,该是现做。
审查一份合同时,由模型自己判断这份合同该审什么:读懂交易结构,读它能读到的领域知识,现场为这一份合同生成一张审查清单——这笔交易特有的坑,而不是所有合同共用的几千条。知识不再预先压缩进规则,而是在使用的瞬间由能力现场调用。这正是苦涩教训的正面用法:把宝押在通用能力上。人类知识只在两处留下,而这两处都经得起追问。
第一类,偏好。风险口味偏紧还是偏松、审查为促成签约服务还是为免责服务、意见写给法务还是写给老板——这些不是知识,是立场。模型不该自己猜,因为它们不是“对不对”的问题,是“你是谁”的问题。《断点》说过机器无法自产的几种输入,其中授权与评价在审查产品里的沉淀形态,就是这几条偏好规则。
第二类,确定性硬闸。引文勾稽、法条时效核验、要件覆盖——《弹劾的自动化》第一档里那些机械断言。它们留在规则层,不是因为模型做不了,恰恰是因为这类事不允许依赖模型的临场发挥:红灯必须是确定性的,确定性的东西就该写死。
如此,规则层薄到一页纸,而且每一条都讲得出存在理由——要么编码一个立场,要么固化一道闸门。知识本身,一条都不进。
越薄越要考
这个形态有一个结构性后果,必须直视:规则层越薄,评价层越承重。
蒸馏路线好歹能拿“规则库两千条、覆盖五百类风险”当质量的表面证据——虽然是假证据,毕竟是证据。现场生成的清单连表面证据都没有:每份合同的清单都不一样,没有条数可数,没有覆盖率可标。它对外唯一能出示的质量凭据,就是考卷上的分数。没有那张考卷,“靠模型自己判断”和“靠信仰”在外人听来是同一句话。
所以这条路线不是绕开了《一张有答案的考卷》,是把考卷从“两用之一”推成了唯一的地基。规则库时代,评价是锦上添花;现做时代,评价是全部担保。
红灯里长出来的规则
规则层薄,但不是封死的。它留一条受控的生长通道——方向和蒸馏正好相反:不是批注→规则,是红灯→规则。
考卷跑下来,如果模型在某类缺陷上反复漏检——比方说,连着几版都抓不住“付款节点与交付义务错位”——这一类才升格为一条显式规则,写进规则层。这是《弹劾的自动化》里回归测试的逻辑原样搬来:规则不是照着教材预写的,是从失败里长出来的,每条规则背后挂着一次真实的漏检记录。想删一条规则?举证责任在动手的人:先说清当初那次漏检为什么不会再发生。
这样长出来的规则层天然不琐碎——考不倒的地方,永远不立规则。 而且规则条数第一次成了一个诚实的指标:它不度量产品的知识存量,它度量模型能力的余数——还有多少类问题,是能力考不过、需要规则搀扶的。条数随模型换代而下降,是这个体系健康的直接读数;蒸馏路线的规则条数只会单调上涨,涨进 XCON 的结局里去。
尾声
清单从哪里来?不从批注的库存里蒸出来。它从两处来:从现场来——能力加知识,为每一份合同现做一张;从失败来——考卷考出的漏洞,一条条升格成规则。批注那堆真金白银的经验并没有被浪费,它去了它该去的位置:立成金标准,守在出口,考每一版清单的成色。
专家的过去,编成规则是一条死路,立成考卷是一道活闸。规则不是蒸出来的,是长出来的——只长在能力考不过的地方。