我和一个德国程序员互不知道对方,却写出了完全一样的AI架构 🤯

90 阅读6分钟

他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-syncHealthChecker, 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之间的漂移——是我之前没想到的,我打算采用。

我的系统多了四层:

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暑期实习中