他32岁,在德国写npm包。我21岁,在中国找实习。我们在同一个月份,从完全不同的起点,造出了架构上完全相同的东西。这不是协同合作。这是AI界的"平行发明"------两个天各一方的工程师,面对同一个数学约束,得出了同一个工程答案。
📖 事情是这样的
我在DEV.to上发了5篇技术文章,讲我如何给AI agent装"规则门"------用文件系统检查、退出码、正则表达式来确保agent真的在遵守规则,而不是只在聊天框里说"好的我懂了"然后什么都不做。
然后一个叫René Zander的德国开发者在评论区甩了个链接:skillgate ,一个npm包(@reneza/skillgate),做的是完全一样的事情。
我点进去看了。然后我愣住了。
🤝 两个人,同一个约束,同一个答案
先看架构对比:
| 设计维度 | René的skillgate | 我的paper-validator |
|---|---|---|
| 核心理念 | "模型请求,框架拥有边界" | "生成和验证共享同一个分布P(token|context;θ),所以自我验证不可靠" |
| 检查方式 | 文件系统纯函数 | 文件系统+正则表达式+退出码 |
| 模型参与 | 零------模型不在检查回路中 | 零------机械门层模型不在回路中 |
| 门类型 | file-exists, file-contains, absent, command, evidence, instruction-sync | HealthChecker, QualityGate, WriteGuard, RegenerationValidator |
| 发布形式 | npm包,生产级 | Python模块,CLI+MCP+原生导入 |
| 独立收敛日期 | 2026年7月 | 2026年7月 |
注意:我们在同一个月份 ,从完全不同的起点 (他在德国做npm包,我在中国写毕业论文),得出了架构上完全相同的解决方案。
这不可能只是巧合。
💡 为什么两个人会独立发明同一个东西?
因为这个约束是结构性的,不是风格偏好。
LLM验证自己的输出,就像让考生自己批改自己的考卷------他用的还是同一个脑子里的同一套知识。没有外部标准,没有独立检查。这就是为什么"自我验证"在结构上就不可靠------我把这叫做Prose Barrier(散文壁垒)。
René的说法不同但意思一样:"一个门只有在agent无法影响的独立进程中才可信。"
对于我们两个来说,数学指向同一个工程结论:规则必须用代码而非自然语言编写,且在模型的生成回路之外运行。 如果能说服模型违反规则,那就不是规则------只是建议。
这不是哲学。在我跑过的200次试验(P1-1,后面会讲)中:机械门能覆盖的地方,违规率为零。每一条都为零。
🏗️ 哪里不同(以及为什么这很重要)
skillgate是生产级、静态、可发布的。它做一件事且做得很好:在agent的输出上运行确定性检查。René的instruction-sync gate------跟踪CLAUDE.md、AGENTS.md和.cursor/rules之间的漂移------是我之前没想到的,我打算采用。
我的系统多了四层:
arduino
L0 安全层 L1 机械层 L2 神经层 L3 因果层 L4 漂移层
"安全输出?" "信息到了吗?" "它穿透了吗?" "格式路由注意力?" "何时会漂移?"
───────────────────────────────────────────────────────────────────────────────
预加工生成 文件系统检查 令牌概率指纹 格式→注意力 趋势→预测
完整的5层架构,skillgate覆盖L1
🔒 L0 安全层:预加工生成------如果模型因"听起来自信"而被奖励,不确定性就被压制了。一个显式的安全提示("说'我不知道'不会被惩罚")在生产前就改变了前提条件。
✅ L1 机械门:skillgate覆盖的层------文件系统检查、退出码、正则表达式。完全绕过Prose Barrier。不读模型写的内容,只检查文件是否存在、时间是否新、退出码是否为零。
🧠 L2 神经门 :skillgate检查输出 。神经门检查内部处理过程。如果你在决策令牌处测量约束条件是否改变了logprob分布,你能看到规则是真的改变了模型的"想法",还是只改变了措辞。d=+0.578,贝叶斯因子=282,399。DeepSeek实测。
🔗 L3 因果编码 :对于推理质量,三段论规则(IF-THEN-THEREFORE)和祈使规则(MUST DO)哪个更好?答案:都不是------散文规则更好。散文的推理优势比代码规则高出恒定的~0.25 SD,且与门的状态无关。代码+门=完美合规+最浅推理。我把这叫做"清单心态"。
🔮 L4 漂移预测:12个特征,34个会话的基线数据。在行为退化可见之前发出警告。已构建,预测性验证待定。
这些额外的层是"学术上好玩"还是"实践上有用"------还不确定。但我不会假装知道。这就是为什么我把所有内容都做成了可复现的实验,放在paper-validator里------一条命令即可运行审计:python -m paper_validator claim --claim all --trials 30。
🔥 为什么你应该关心这件事
当两个人在不知道对方工作的情况下,独立发明了同一个东西,说明了几件事:
🔥 问题不是虚构的。 AI agent确实会漂移。它们确实会跳过验证。说得天花乱坠却不行动。不是只有我一个人碰到。
🔥 解决方案正在收敛。 确定性文件系统检查,位于模型控制回路之外------这是正确的架构。不是品味问题。是工程必要性。
🔥 整个领域仍处于早期阶段。 我们仍在争论agent是否应该用[THINK]:标签。五年后回头看,会觉得像争论HTML是否应该用<table>做布局一样。
🔥 你可以直接试用。 skillgate是npm上的生产级代码。paper-validator是可复现的研究代码(Python stdlib + requests,没别的依赖)。如果愿意忍受不完美的边缘情况,两个都能跑。
📬 真实情况
DEV.to上的评论区------Mike Czerwinski、Dipankar Sarkar、Max Quimby、René Zander------不是那种"好文!"的水评论。他们问的是我真没想过要测的东西。
所以我测了。440次API调用。两次全新实验。一次假设被证明是错的。两次都教会了我一些东西。
论文、数据以及全部补充分析在这里:github.com/YuhaoLin200...。独立验证工具在这里:github.com/YuhaoLin200...。
如果你也在做这个方向------确定性验证、agent漂移监控、格式工程------或者你觉得数据里有不对的地方,我真的很想听听。P1-1和P1-2实验之所以存在,就是因为Mike问了我没想过要问的问题。
💬 如果这个方向也是你正在做的,评论区聊聊你的方案。 你是用文件系统检查还是别的思路?你的agent有没有出现过"嘴上答应、实际不做"的情况?留言告诉我,我也想看看大家的解法。可以的话点个赞+收藏,后续实验数据我会继续发在这边。
50+会话的数据。13个实验。一台笔记本。我的论文指导老师是我自己的AI agent。
👋 林宇浩 --- FAFU空间信息大三,找2026暑期实习中