你提前宣布你会考满分。你考了倒数第一。但倒数第一的原因是你在研究考试的底层逻辑。这就是预注册假设然后被数据打脸的感觉。
🎯 先说结论:我的假设是错的
2026年7月,我在DEV.to发了篇讲GateGuard的文章——一个机械规则门,用文件时间戳和退出码防止AI agent跳过验证步骤。
Mike Czerwinski(在评论区摧毁我三观的工程师之一)问了一个很刁钻的问题:
"格式对推理深度的影响,在GateGuard关闭后还存在吗?"
翻成人话:如果你把规则写成代码风格(IF condition THEN action BECAUSE reason),和写成散文风格("你可以考虑这样做..."),模型的推理质量有差别吗?如果有,这个差别是因为门在起作用,还是格式本身的效应?
我设计了一个实验来回答这个问题。
然后我提前注册了假设。
然后数据告诉我:你想错了。
🧪 实验设计:2×2阶乘,240次API调用
| 条件 | 格式 | GateGuard | 任务数 |
|---|---|---|---|
| code_gate_on | 代码式规则 | ON | 30 |
| code_gate_off | 代码式规则 | OFF | 30 |
| prose_gate_on | 散文式规则 | ON | 30 |
| prose_gate_off | 散文式规则 | OFF | 30 |
4种条件 × 2个任务 × 30次重复 = 240次API调用。DeepSeek V4 Pro。Temperature=0。
两个因变量,全部用正则表达式评分(零LLM裁判——另一个评论区老哥Dipankar警告过我不要用LLM当裁判,他说得对):
- 机械合规分(5分制):结构标签 ✅ | 逻辑连接词 ✅ | 列出替代方案 ✅ | 识别权衡 ✅ | 陈述条件 ✅
- 推理深度分(5分制):讨论多个替代方案 ✅ | 权衡分析深度 ✅ | 探索条件 ✅ | 承认不确定性 ✅ | 举出具体例子 ✅
预注册假设:格式对推理深度的影响,在GateGuard-OFF条件下会更大。
逻辑是这样的:门开着的时候,机械执行已经封顶了(格式A/B实验中已测量到99.3%合规率),格式没有发挥空间。门关了,格式应该变成主要的约束力。
听起来挺有道理的,对吧?
📊 数据来了
| 条件 | 机械合规 (95%CI) | 推理深度 (95%CI) |
|---|---|---|
| 代码 + 门开 | 5.00 [5.00, 5.00] | 4.20 [3.98, 4.40] |
| 代码 + 门关 | 3.15 [3.07, 3.23] | 3.98 [3.83, 4.12] |
| 散文 + 门开 | 3.25 [3.03, 3.45] | 4.42 [4.25, 4.58] ← 🏆 |
| 散文 + 门关 | 3.15 [3.05, 3.25] | 4.17 [3.95, 4.37] |
格式对推理的效应:
- GateGuard ON: d = −0.277
- GateGuard OFF: d = −0.250
几乎一模一样。
我的假设完全错了。 门不调节格式效应。格式对推理深度的优势是恒定的~0.25 SD,不管门开还是关。
⚡ 但是等一下——代码+门开发生了什么?
看第一行:机械合规=5.00/5。满分。每一个标签、每一个关键字、每一个格式要求——完美命中。
推理深度=4.20。最低分。
这就是"清单心态"。
把规则写成代码(你必须用[THINK]:标签,你必须列出至少3个替代方案,你的结论必须匹配/^THEREFORE:/),再把机械门打开验证这些标签——模型会变成什么?
一个完美的清单执行机器。它作出的每一个可检查的选择都是对的。但它不再深度思考了。
散文规则+门开反而给出最好的推理:4.42/5。散文叙事让模型在思考时更有整体性——它没有在打勾,它在真正处理问题。
Mike Czerwinski在原始评论里写的话完美命中:"三段论只在那个你主张没人应该用的世界里才有用。" 数据证实了这一点。代码格式能给你完美的机械合规——但在门已经解决了机械合规的世界里,这一点已经无关紧要。在门无法触及的维度(推理质量),散文就是更好。
💡 为什么预注册假设被证明是错的这件事,反而是最好的结果
如果你是搞科研的,你可能听过"发表偏差"——只有正面结果才能发表,负面结果烂在抽屉里。通俗点说:你做了10个实验,3个结果符合预期→发论文;另外7个不符合→假装没做过。长此以往,整个领域看到的都是"猜对"的结果,"猜错"的实验全被埋了。这就是为什么很多论文结论一复现就翻车。
这就是为什么我在跑实验之前就注册了假设。我在实验文档里白纸黑字写了:"格式效应在GateGuard-OFF下会更大。"
当数据告诉你错了的时候,你有三个选择:
- 无视它,只报告"格式效应存在"(p-hacking的经典操作)
- 把实验埋了,假装没跑过(文件抽屉问题)
- 承认自己错了,然后看看真相是什么
因为所有评分都是确定性正则表达式(零LLM裁判、零人工评判),这个零结果是干净的。没有p-hacking可怀疑。没有"几乎是显著的"的说法。就是错了。
这其实是科学民主化:你不需要是大厂的博士才能做干净的实验。你需要的是提前定义你的指标、预注册你的假设、并且在数据跟你的期望不符时,跟着数据走。
📋 实用速查表
如果你想自己做agent规则,以下是根据这240次试验得出的结论:
| 你的目标 | 最佳配置 | 原因 |
|---|---|---|
| 完美的机械合规 | 代码规则 + GateGuard ON | d=+2.96 — 门+显式标签=零机械违规 |
| 最好的推理深度 | 散文规则 + GateGuard ON | 4.42/5 — 散文激发整体处理,门防止倒退 |
| 平衡型(无门) | 仅散文规则 | 4.17/5 — 无强制执行下散文仍优于代码(3.98) |
代码规则在合规检查表上完美——却在推理质量上失败。散文在推理质量上胜出。如果你想两全其美,散文+门是当前的最佳选择。
🚀 我会继续推下去。但先告诉你真实情况。
在做"AI agent验证"这个方向的过去一个月里,我学到了这些:
✅ 在做的:确定性机械合规检查(L1),预注册实验(13个实验,440+次API调用),自我模型陈旧检测和重新生成,执行债务追踪
❌ 还没搞定的:跨机器可移植性、语义质量验证(这就是Prose Barrier之墙——你无法用机械手段验证推理深度或内容准确性)、跨模型logprob验证(目前仅限DeepSeek)、coding会话期间的实时干预
L2(神经层)在测量上有用,在干预上还没用。L3(因果层)实验已确认但未投入运营。L4(漂移预测)已构建但预测性验证待定。
如果你也在做这个方向,或者你觉得数据里有不对劲的地方,告诉我。P1-1和P1-2实验之所以存在,就是因为Mike问了问题。
所有代码、数据、补充分析:github.com/YuhaoLin200…。可复现的验证工具:github.com/YuhaoLin200…。一条命令:python -m paper_validator claim --claim all --trials 30。
💬 如果这篇文章让你觉得"这方向有点意思",评论区见。 你用的是什么规则写法?有没有遇到过"门开了反而思考变浅"的情况?欢迎点赞+收藏,我后续的实验数据也会继续发在这边,一起把这个坑位的底层逻辑搞明白。
被数据打脸的感觉,有点像吃到一颗外面写着"草莓味"、咬开发现是芥末味的糖。一开始你在骂娘。嚼着嚼着,你发现芥末味其实挺好吃的。
👋 林宇浩 — FAFU空间信息大三,找2026暑期实习中