同事,不是分身

——多代理设计的第一变量不是谁指挥谁,而是谁不该知道什么

工程界谈多代理,词汇表是现成的:主代理、子代理,编排者、工人,派发、回收。这套词带着一个隐喻——子代理是主代理伸出去的手,多开几个,无非是多几只手同时干活。这个隐喻对了一半:并行确实省时间。错的那一半恰恰是最值钱的那一半。

律所里没有人把派活叫“分身”。合伙人把一份意见交给另一位律师复核,要的正是他不是自己:他没有起草时的那串念头,没有对客户的预设,没有已经写下的结论在脑子里压着。复核者的价值来自差异,而不是来自服从。把这件事搬到机器上,问题就变成:两个模型实例之间,差异从哪里来?

无知是配置出来的

同一个模型开两个实例,天然没有差异——同样的参数,同样的倾向,同样的盲区。差异只能靠设计制造,而最便宜、最可靠的制造方法是控制谁看到什么

我们做成果复核时用三个角色。第一个只读原始材料,从头建一份基线:材料记载了什么事实、什么规则、什么版本、哪里互相矛盾、哪里根本没说。它看不到待复核的那份成果——不是嘱咐它“别看”,是它能读的目录里压根没有那份文件。第二个角色看得到成果、材料和基线,把成果拆成一条条原子主张,逐条去材料里找证据,给出六种状态之一:支持、部分支持、无依据、与原文矛盾、无法核实、依据失效。第三个角色看得到前面全部产物,任务只有一个方向:对判了“支持”的结论反转举证,再去翻成果没引过的材料,找它该写而没写的东西。

三个角色,三种知情状态:不知道结论、知道结论、知道一切。这不是级别,是分工——而且是先于工具、先于提示词的分工。读过结论的实例无法真正遗忘结论,“独立地建立基线”对它来说只能是纪律性的近似;只有从未见过结论的实例,做出来的基线才是真的独立。《机器的程序法》说独立性是结构性质,不是责任心问题;落到多代理上,结构就是目录:隔离靠文件系统,不靠叮嘱

权限跟着职责走

三个角色拿到的工具起初完全相同:只读材料,没有别的。后来给其中两个开了法规数据库的查询权——核主张的那个,只准用来核成果自己引用的法条:条号对不对、原文一不一致、是不是现行有效;找反例的那个,只准用来找反向的东西:成果漏引的例外条款、更新的修订、相反的裁判。建基线的那个始终没有这个权限。

不给它,不是因为它级别低,是因为它的任务是“材料说了什么”,而不是“法律是什么”。一旦它能查法规,基线里就会混进模型自己检索来的规范,隔离就从“不知道结论”退化成“不知道结论但带着自己的观点”。这里的“不给”是一种保护——保护它的无知,因为它的无知正是它对整个流程的贡献。

同一个数据库,在两个角色手里方向相反:一个向内核,一个向外找。权限的差异不体现在有没有,体现在准许用来做什么。这和律所的分工一样:会签合同的财务和法务用的是同一份文件,看的是不同的维度。

谁也不接受谁的自述

三个角色之间没有对话,只有交接:基线交给核对者,台账交给反方,反方清单交给终判。每样交接物形状固定,每种形状配一套机械校验——主张必须逐字出自成果原文,证据必须逐字出自所指的那份材料,判“无依据”之前必须留下真实的检索痕迹,反方的每条质疑必须四件齐全:质疑什么、依据在哪、为什么影响结论、怎么修。缺一项,退回重做;几轮不收敛,宁可空着,也不收一份核不上的产物。

这就是《没有法官的程序》里那半张协作图纸的实物:会签、底稿、函证。而其中最要紧的一条是——校验器不相信任何人的自述。它不问模型“你核对了吗”,它拿模型抄下来的引文去原文里逐字比对。合理信赖的边界在这里被机械化了:下游可以信赖上游的产物,因为上游的产物已经被校验器过过一遍;信赖的不是同事的人品,是同事交上来的东西经得起查。

有件小事把这条原则又推深了一层。查一条公司法条文,数据库返回的结果里,除了公司法本条,还有某地律师协会一份操作指引——它把那条法律逐字抄了进去。引文与原文逐字相符,这本来是校验的黄金标准,可在这里,符合的是一份转抄件。于是校验器多了一条规则:引法规不仅要核文本,还要核标题,两者必须落在数据库返回的同一个条目里。文本匹配证明的是“这句话存在”,不是“这句话出自那里”。同事之间的信任,说到底是“你说的我能查”,不是“你说的我信”——而“能查”本身也得一遍遍修,直到查的是出处,不只是字面。

最后一句话归谁

三个角色之上确实还有一个位置:核对关键引用、逐条复核反方清单、删掉站不住的质疑、补上漏掉的,然后写复核报告。习惯上这个位置叫主代理。但它的“最后一句话”不是因为它在上面,而是因为报告要以它的名义出去。《断点》里四种输入的最后一种是责任:对外署名的那一刻,前面所有工序在法律上归并到一个名下。谁承担这个归并,谁就拥有终判权——权威来自署名,不来自位置

这也解释了为什么“主”这个字里几乎没有正确的含义。终判者不比核对者更聪明,也不比反方更严格;它只是那个签字的。而且它的结论同样会被前面的角色弹劾——反方清单里挑出的错版引用,很可能就是它自己起草时犯的。多代理最有价值的时刻,恰恰是同事之间意见不一致的时刻:核对者判“支持”、反方说“不成立”,两份文件并列摆在终判者面前,这不是流程出了故障,这是流程在产出。一个只会点头的分身,多开几个也还是一个脑子。

多代理不是一个大脑带着几只手,是一间没有法官在场的办公室。它靠三样东西运转:谁不知道什么,谁必须查什么,谁最后签字