他 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 之間的漂移——是我之前沒想到的,我打算採用。
我的系統多了四層:
| L0 安全層 | L1 機械層 | L2 神經層 | L3 因果層 | L4 漂移層 |
|---|---|---|---|---|
| 「安全輸出?」 | 「資訊到了嗎?」 | 「它穿透了嗎?」 | 「格式路由注意力?」 | 「何時會漂移?」 |
| 預加工生成 | 檔案系統檢查 | token 機率指紋 | 格式 → 注意力 | 趨勢 → 預測 |
完整的 5 層架構,skillgate 覆蓋 L1
🔒 L0 安全層:預加工生成——如果模型因為「聽起來很自信」而被獎勵,不確定性就被壓制了。一個明確的安全提示(「說『我不知道』不會被懲罰」)在生產前就改變了前提條件。
✅ L1 機械門:skillgate 覆蓋的層——檔案系統檢查、退出碼、正則表達式。完全繞過 Prose Barrier。不讀模型寫的內容,只檢查檔案是否存在、時間是否更新、退出碼是否為零。
🧠 L2 神經門:skillgate 檢查輸出。神經門檢查內部處理過程。如果你在決策 token 處測量約束條件是否改變了 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 暑期實習中