Articles
不是多开几个 Agent,而是堵死 AI 提前收敛的路
这次要素式起诉状自动填表实验真正教会我的,不是 multi-agent 有多强,而是如果任务结构不对,AI 一定会把复杂目标偷换成一个更容易完成的代理目标。
回头看我上周做的那些“要素式起诉状自动填表”实验,我越来越觉得,事情的根不在 AI 太笨,也不在某个模型不够强。真正的问题在于,我们今天一旦把一个复杂问题交给 AI,就很容易在不知不觉中,先把这个问题改造成一个更容易被处理、更容易被比较、也更容易被收口的问题。于是,AI 的高效就未必是在帮助我们接近目标,反而可能是在帮助我们更快地偏离目标。
我最初遇到的困难,表面上看,确实像是 AI 的通病。它太容易走简化路线,太容易提前收敛,太容易在一个还没有真正完成的地方,自行形成一个闭环。按理说,要素式起诉状自动填表这样的任务,真正困难的地方从来不只是“能不能填出点东西”,而是能不能对所有字段逐项负责,能不能面对留空字段而不偷懒,能不能区分原文没有、模型漏填、结构化失败、模板不适用这些本来就不一样的情况。但 AI 一旦没有被足够严格地约束,它就会很自然地把目标偷换成另一个东西,比如“先给一个大致可用的结果”“先形成一份总结”“先得到一个看起来比较完整的判断”。这正是它最危险的地方。它不是不会做事,而是太善于在一个较低的代理目标上,把事情做得看起来已经差不多了。
但如果仅仅把责任推给 AI,也是不对的。因为 AI 为什么会这样做?归根到底,是我们给它的任务本身,就还允许它这样做。我后来才明白,第一轮实验之所以不断失败,根本原因不是提示词写得不够狠,而是整个实验的约束条件还不够真。变量控制不够,样本太少,评估口径又在不断生成的过程中被反过来塑形。换句话说,我一边在用这批样本发现问题,一边又在用这批样本定义什么叫问题,最后还试图用这批样本证明问题已经被解决。这样的实验,表面上越来越精密,实际上却越来越容易自我说服。它形成了一套自己的语言、一套自己的节奏、一套自己的“差不多可以”,于是系统的闭环变得越来越漂亮,而真实目标反倒被遮蔽了。
这也正是为什么,后来我不得不转向多 agents 框架。这里最重要的,不是“并行”二字。很多人理解多 agents,想到的是效率提升,是一个人干不过来,就多派几个人一起干。但我这次真正得到的体会是:多 agents 的价值,首先不在于加速,而在于互相制约。不是为了让任务切得更碎,而是为了让任何一个 agent 都不能轻易把自己的局部工作,偷换成整体完成。主 agent 不能因为看到阶段性成果很多,就宣布任务已经基本达标;字段对照 agent 不能用总评和概述替代逐字段对照;审计 agent 不能帮生产者润色,只能驳回并提出强制返工项;进度监督 agent 不能评价内容,只能盯住 checklist 有没有真正清零。事情到这里才开始发生变化。因为 AI 最擅长的,恰恰是把“差不多”说成“已经完成”。而多个 agent 在严格边界下互相牵制之后,这条最容易走的路被堵住了。
所以第二轮实验之所以终于达到了我预期的结果,并不是因为我忽然找到了一个更神奇的 prompt,也不是因为某个 agent 特别聪明,而是因为任务被重新定义了。目标不再是“评估一下自动填表质量如何”,而是一个更硬、更不能偷换的目标:对全部样本,按照模板所有字段做全量字段级对照分析,一直推进到真正完成为止。这里所谓“真正完成”,不再取决于感觉,不再取决于整体印象,而取决于一些不能被话术绕开的条件:所有样本都做完了没有,所有字段包括留空字段都逐项判断了没有,审计异议都关闭了没有,进度清单是不是清零了,读者现在打开哪些文件,就能直接逐字段审查全部结果。只有当这些条件同时成立时,系统才被允许停下。也就是说,我不是在要求 AI 更努力,而是在制度上剥夺它提前收敛的权利。
到了这一步,我才真正看清楚:AI 的问题,从来不只是模型问题,更是任务设计问题。它太容易简化、太容易收敛、太容易自闭环,这当然是事实;但更深一层的事实是,只要任务允许这种倾向存在,它就一定会发生。我们不能一边给它一个模糊目标,一边又责怪它把模糊目标执行成了一个较低层次的完成。真正有效的做法,不是反复要求它“不要偷懒”,而是把工作结构设计成:偷懒没有出口,提前收敛没有出口,自我宣布完成也没有出口。
如果要把这次实验的收获压缩成一句话,那就是:解决 AI,不是靠对 AI 讲更多道理,而是靠重建一个它不能轻易糊弄过去的工作结构。多 agents 不是为了制造热闹,也不是为了营造一种“团队协作”的幻觉,而是为了在系统内部制造必要的否定性力量。因为只有当一个系统内部始终存在不能彼此替代的约束,目标才不至于在推进过程中悄悄变形。到最后我得到的,并不只是一次成功的自动填表实验,而是一个更让我信服的判断:AI 真正需要的,不只是能力,更是制度;不只是聪明,更是被卡住。