运行时 · 符号 AI
模型可以自信却错误。符号不会。
Perslis 如何将神经推理与由规则、事实和证明构成的符号层配对——让一个看似合理却错误的答案永远无法交付。
语言模型是概率性的:它们生成看起来最可能的答案,这个答案通常是对的,偶尔却会自信地出错。直接信任这样的答案,正是糟糕代码与错误决策得以交付的根源。Perslis 在模型与结果之间放置了一个符号层——任何决策都必须满足的硬性规则、已编码的事实和可检验的证明。模型提出方案;符号层来定夺。当二者不一致时,Perslis 就会停下。正是这一点,让运行时能够做出你可以在多年时间里都依赖的决策,而不只是当下看起来不错的输出。
没人会去设计的那种失效模式
每一支交付 AI 输出的团队最终都会撞上它:模型以十足的自信陈述某个错误的事实,人类草草一看,它便进入了生产环境。模型并没有说谎——它根本没有真伪的概念,只有可能性。流畅不等于正确,再好的提示词也无法把一个概率变成一个证明。
解决之道不是更聪明的模型,而是一个不靠猜测的第二系统——一个只有在某个论断真正成立时才会说"是"的系统。
图 1——提出与定夺。神经模型负责生成;符号层则是决策必须通过、方能成为结果的那道关卡。
规则与事实——什么必须为真
Perslis 携带一个符号核心,编码了必须成立的东西:不变量、约束、契约,以及它对你系统所确立的事实。这些不是提示词或偏好——它们是可检验的逻辑。"行数必须一致。""这个函数的所有调用方都必须通过关卡。""这次编辑不得破坏那份契约。"只要存在这样一条规则,没有任何模型输出可以凌驾于它之上。
有据可依的裁决——是证据,而非意见
当 Perslis 判定某件事已完成时,那个决策会附带一份有据可依的裁决:一个由证据与证明支撑、而非模型一句断言得出的结论。裁决绑定于实际被检验过的东西——运行过的测试、成立的不变量、被搜寻却未找到的矛盾。如果证据不在,裁决就不是"大概没问题";而是未获证明,而运行时对这两者的处理方式截然不同。
神经 + 符号——各司其所长
这并非对语言模型的否定——而是一次分工。神经推理在开放式的部分无可匹敌:理解杂乱的意图、读懂陌生的代码、提出一种方案。符号逻辑则在那些必须正确的部分无可匹敌:检验某个具体论断是否符合具体规则。Perslis 让二者各显所长,并让它们彼此制约。模型的创造力被符号的严谨所约束。
Captain——符号权威
符号层在 Perslis 中有一个名字:Captain。它掌管规则集与已确立的事实,是就某个动作可否继续而发出有据可依裁决的权威。模型可以提出任何东西;Captain 决定真正交付什么。它是护栏所依托的良知——身体中那个能够说不、并且当真如此、其依据可供你查验的部分。
这正是符号 AI 为一个运营系统的繁荣所打造护栏的方式:不是含糊其辞的"安全",而是决策在被允许触碰任何真实之物之前必须满足的、具体而可检验的约束。自主之所以安全,恰恰因为 Captain 端坐于意图与行动之间。
同样的准则,用于已死的二进制
符号推理不只是一道关卡——它也是 Perslis 理解事物的方式。重建一个遗留程序本身就是一次符号行为:一个 32 位 Windows 二进制文件是一个 PE32 文件,Perslis 解析它的头部、重建导入树与调用图,并把每一个被导入的 API 解析成一个符号模型,描述该程序做了什么——在信任任何一条指令运行之前。以符号的方式确立什么为真,再据此行动,无论对象是一次被提议的代码改动,还是一个无人记录过的二进制,用的都是同一块肌肉。
为什么验证优先才是全部要点
运营软件必须在数月乃至数年间、在无人预料到的种种变化中始终可靠。一个假定自己第一个答案就是对的运行时给不了这个——它只能给出速度。Perslis 假定第一个答案只是一个假设,直到符号层另有裁定。正是这一次翻转,把"惊艳的演示"变成了"你真能拿来运营业务的系统"。