文件系统门只能查"做了没"。我加了一层,查"懂了没"

11 阅读4分钟

机械门告诉你 agent 是否执行了规则。神经门问你:规则真的改变了模型的"想法"——还是只改变了措辞?


机械门的盲区

前两篇讲了 Prose Barrier 和机械门。简单说:用文件时间戳、正则、exit code 来验证 agent 的输出——绕过它的自然语言,只查文件系统事实。

这套方案有效。违规率从 55.9% 降到了 0.7%。

但它有一个盲区。

机械门检查的是输出:文件存不存在、时间戳对不对、正则匹不匹配。它不关心 agent 在生成这些输出时内部发生了什么

一个 agent 可以完美通过所有机械门检查——同时完全没理解规则的意思。它只是学会了"要生成能被正则匹配到的文本"。格式对了。内容对了。但规则有没有真的改变它的推理路径?机械门不知道。


换个思路:不听它说什么,看它在想什么

AI agent 不像人类——它的"思考过程"是可以被测量的。

当你给 agent 一个约束(比如"每次改完代码要更新文档"),这个约束会在 token 生成过程中留下痕迹。具体来说:

在决策令牌(decision token)附近,约束条件会改变 logprob 分布。

什么意思?举个例子。agent 改完了一段代码,接下来它要决定:继续写下一段,还是去更新文档?

在"收工"vs"更新文档"这个分叉点,logprob 会告诉你 agent 的"倾向"。如果约束真的穿透了——你会在对应 token 的概率分布上看到系统性偏移。

这就是神经门做的事:不是在输出端检查"文档更新了没"(那是机械门的活),而是在内部检查"约束有没有改变模型的概率分布"。


实测数据

我跑了 40 次对照实验。

实验设计:同一个约束,两种格式——三段论格式(IF-THEN-THEREFORE)vs 命令式格式(MUST DO)。测量决策令牌处的 logprob 差异。

结果:三段论格式在决策令牌处产生了显著不同于命令式的概率分布。d = +0.578,贝叶斯因子 = 282,399。

翻译成人话:格式改变了模型内部处理约束的方式。 不是微小的差异。是"几乎肯定是真的"级别的统计证据。


为什么这很重要

机械门告诉我们:"约束被执行了。" 神经门告诉我们:"约束被理解了。"

两者加在一起,你才真正知道你的规则系统在做什么。

一个 agent 可以 100% 通过所有机械门,同时完全没内化任何约束——它只是学会了对正则表达式的条件反射。格式工程(prose vs code)之所以有显著效应(d=0.605),正是因为格式影响的是理解深度,不是输出表面


三层架构

把这前两篇和这篇放在一起,就是完整的验证三层:

问题方法状态
L1 机械门"信息到了吗?"文件系统检查 + 正则 + exit code✅ 已部署
L2 神经门"信息穿透了吗?"决策令牌 logprob 差异检测🔬 实验验证中
L3 因果编码"格式决定走哪条路?"格式 × 推理深度的因果效应📊 数据收集中

L1 是底线——没有机械验证,agent 的自我报告不可信。 L2 是深度——告诉你约束是"被执行了"还是"被理解了"。 L3 是优化——在不同场景下,选择最有效的规则格式。


诚实的局限

神经门还在实验阶段。40 次实验、单个模型(DeepSeek V4 Pro)、单人操作。logprob 测量对 prompt 措辞敏感——换一个约束、换一个模型,效应大小可能会变。

我发这篇文章不是因为它已经"成熟了"。是因为我觉得这是个对的方向,如果你也在做 agent 验证,值得一起探索。


👋 林宇浩 — FAFU 空间信息大三。实验数据 + 代码: github.com/YuhaoLin200…

📖 上一篇:我让 AI 跑了 150 个任务来证明它会守规矩。结论是:会——但有个前提。 — 机械门实验数据