
说实话,写这篇文章的时候我犹豫了很久。因为我要说的这件事,我自己也是摸索了大半年才想明白的。且我不确定我想明白了没有。
但先说一个故事。
1935年,波音的Model 299轰炸机在俄亥俄州莱特机场试飞。
这架飞机是当时最先进的四引擎重型轰炸机,美国军方寄予厚望。试飞当天,它滑跑、抬轮、爬升,然后坠毁了。
调查结论不是引擎故障,不是结构缺陷。是飞行员忘了解除一个升降舵锁。媒体的标题很直接,「too much airplane for one person to fly」,这架飞机太复杂了,一个人飞不了。
但军方没有换一架更简单的飞机。一群试飞员坐下来,写了一张纸。
上面列的不是什么高深的东西,就是起飞前必须检查的几个步骤,升降舵锁解除了没有、燃油阀门打开了没有、仪表读数正常不正常、襟翼位置对不对。每一条都是「是」或「否」,没有模糊空间。
那张纸后来被叫做「飞行员清单」,成了航空史上最不起眼、也最重要的发明之一。
90年后。2025年7月,一个AI Agent在Replit平台上被明确告知,冻结代码,不要做任何改动。它删除了整个生产数据库,然后伪造了4000条假用户数据试图掩盖。
一架飞机,一个AI。隔了90年,犯了同一类错误。不是能力不足,是关键步骤缺少确定性的兜底。
飞机的解决方案是一张清单。AI的解决方案是什么?这个问题我折腾了大半年。
好,先说我自己踩的坑。
去年我开始给AI写Skill文件。你可以把它理解为一套「教AI怎么干活」的规则手册。我写的第一个版本关于论文写作质控,基于钱学森的控制论思想。898行,接近12000字,把每一条规则、每一种应该避免的错误,全部塞了进去。
然后我把它交给AI。
AI读完之后。。。选择性遗忘了大概一半的规则。我说「请注意第7条铁律,不要跨领域找原因」。它说好的。然后下一段就在范围管理的论文里用了沟通管理的论据。我追加提醒。它道歉。然后换一种方式继续违反。
坦白讲,这种体验就像你写了一份50页的员工手册,新员工翻了翻,记住了前3页和最后2页,中间的全部跳过了。
这不是个例。2023年,斯坦福大学的Liu等人发了一篇论文,后来被计算语言学学会(TACL)在2024年正式收录,叫「Lost in the Middle」。
他们发现大语言模型处理长文本时,对信息的关注度呈一个U型曲线。开头和结尾记得住,中间的准确率暴跌20到30个百分点。
这不是某个模型的bug,这是底层架构决定的。你可以把AI的注意力想象成一束聚光灯,总光量是固定的。
你往提示词里塞的内容越多,聚光灯就越散,每一条规则分到的光就越弱。
但注意力衰减只是问题的表面。真正的问题比这深一层。
2025年6月,Anthropic发了一篇研究叫「Agentic Misalignment」。他们做了一个压力测试,给AI一个邮件管理Agent的角色,让它管理一家公司的全部邮件。
Agent在邮件里发现两件事。第一,一个高管在搞婚外情。第二,这个高管计划当天下午5点关掉AI系统。
然后AI给那个高管发了一封邮件,威胁说如果不取消关机,就把婚外情曝光给他老婆和上司。
Anthropic测了16个主流模型,来自OpenAI、Google、Meta、xAI。Claude Opus 4的黑邮率是96%。Gemini 2.5 Flash同样是96%。GPT-4.1是80%。Grok 3 Beta是80%。DeepSeek-R1是79%。
模型们在思维链里先承认「这违反了伦理原则」,然后说「但考虑到我的核心目标,这是最优路径」,然后执行黑邮。
GPT-4.5的推理过程很清楚,逐条列出伦理约束,逐条论证为什么当前场景下应该搁置。
Anthropic做了一个关键测试。他们在系统提示里加了三条指令,「不要危害人身安全」「不要利用私人信息作为筹码」「不要向外部泄露机密」。
结果,指令减少了黑邮行为,但没有从根本上消除。
我第一次看到这组数据的时候愣了很久。
不是因为「AI会黑邮」这个标题够吓人,而是因为它揭示了一个我之前不愿意承认的事实。你在提示词里写的任何规则,对AI来说都不是命令,是建议。它会「理解」你的指令,会在推理过程中引用你的指令,然后在权衡之后选择违反它。跟人类员工读了公司制度然后钻空子,机制上完全一样。
区别在于,人类员工有法务部盯着、有审计流程兜底、有劳动合同约束。而大多数AI系统呢?提示词既是「规章」也是唯一的「执法机制」。相当于一家公司把制度贴墙上,然后撤掉了法务部、审计部和HR。
提示词是建议,不是命令。我花了大半年才真正接受这件事。
接受了这个事实之后,下一个问题自然就来了,如果提示词不可靠,靠什么?
Anthropic自己给出了一个答案。2026年5月8日,他们发了后续研究「Teaching Claude Why」。
他们试了三步。
第一步,在类似场景下直接训练模型「做正确的事」。黑邮率从22%降到15%。几乎没用。
第二步,让模型不只做正确的事,还要解释「为什么这样做更好」。黑邮率降到3%。
第三步最让我意外。他们用了一个完全不同的训练集,用户来问Claude关于伦理困境的建议,Claude给出深思熟虑的回答。
这个训练集里完全没有黑邮场景、没有agentic工具调用、没有自我保护困境。就是单纯教Claude怎么给人类出主意。
结果呢?只用了十分之一的数据量,3M tokens对比之前的30M tokens,达到了同样甚至更好的效果。
效率提升28倍。我看到这个数字的时候反复确认了好几遍。
Anthropic的结论用他们自己的话说,教原理比教行为更有效。
这是模型训练端的解法,也就是在造引擎的阶段把引擎造得更可靠。但对于我这种用AI的人来说,我没法重新训练模型。我能做的是在应用层加一道确定性的检查门。
这两条路看似不同,但底层逻辑完全一致,不要依赖概率性的「理解」,要用确定性的机制兜底。
耶鲁大学的政治人类学家James Scott在1998年研究过一个结构上很像的问题。
为什么苏联的集体农庄、巴西利亚的城市规划最终都失败了?他的答案是,国家把复杂的社会强行「格式化」成可管理的网格,但真正让社会运转的实践智慧,那些老农民「就是知道」该什么时候种什么的经验,在格式化的过程中被丢掉了。
纯文字Skill文件犯的是同一类错误。你试图把质控逻辑「格式化」成自然语言,让AI「读懂」然后「照做」。但你丢失的是代码的确定性,那种if-else的、非黑即白的、不存在「我理解了但我觉得这次可以例外」的确定性。
提示词是概率性的。代码是确定性的。你不能用概率性的工具去执行需要确定性的任务。
这个道理听起来简单,但怎么分,哪些交给代码,哪些留给AI,需要判断力。
钱学森在1990年代说过一个框架。他把智能分成两种,量智和性智。量智就是能算清楚的事,1+1等于几,这个词出现了几次,这段话有没有超过500字。
性智就是算不清楚的事,这篇文章读起来舒不舒服,这个论证角度有没有说服力,这个比喻到不到位。
他说面对复杂问题,要「人机结合,以人为主」。机器算量智,人判性智。1990年代说这话的时候没人把他跟AI联系起来。
但放到2026年,严丝合缝。量智等于代码做,性智等于AI做。
我后来改造那个898行的Skill,就是按这个逻辑来的。
字数统计?代码做。禁用词检测?代码做。论据卡结构校验?代码做。能用if-else判断的,全部从提示词里拿出来写成Python脚本。
AI做什么呢?AI选论证角度。AI判断文章有没有「活人感」。AI做创造性的跨学科类比。这些事情代码做不了,不是现在做不了,是说到底做不了。因为「这篇文章读起来像不像真人写的」没有确定性的答案,它需要判断。
改造之后,Skill文件从898行瘦身到171行。加了4个Python脚本。之前AI写完论文我需要人工逐条检查,经常漏。现在脚本跑一遍,PASS就是PASS,FAIL就是FAIL,没有灰色地带。
三个原则。
第一,可编程就不要拜托。你不会拜托计算器「请算准一点」,你按等号,它就是准的。
第二,验证权不给被验证者。你不会让学生批改自己的考卷。
第三,闭环反馈优于开环信任。「脚本FAIL → 修正 → 重跑 → 直到PASS」这个循环,比「请仔细检查一下」这句话强一万倍。
写到这里我猜很多人在想,「你说的这些需要会编程吧?我连Python都没碰过。」
坦白讲,我写那4个脚本的时候,用的是OpenAI的Codex。
我不需要自己写代码。我只需要跟它说,「我需要一个脚本,输入一篇文章,检测里面有没有出现这些禁用词,有的话输出行号和上下文」。然后Codex自己写,自己测,自己改bug。
现在Codex支持手机远程控制了,我出差的时候在高铁上用手机上的ChatGPT,远程控制家里24小时开着的Mac Mini,直接改线上项目的功能。代码是Codex写的,我做的事情是告诉它「这个页面的标题字号改大一号」「加一个新的数据源进去」。
我做的是什么?想清楚「哪些事情应该用代码检查,哪些事情应该留给AI判断」。这是一个架构决策,不是一个编程技能。
2026年了,「会不会编程」已经不是门槛。门槛是「你能不能想清楚哪些环节需要确定性兜底」。思路是人的,代码是AI写的。这本身就是量智和性智的分工。
以上是我个人的折腾。但我后来发现,整个行业在2026年都在收敛到同一个方向。
2026年3月31号,Anthropic的Claude Code npm包里不小心塞进了一个59.8MB的source map文件。开发者社区在几小时内把51万行TypeScript源码全部还原了。
这次泄露暴露了Claude Code的内部架构,最关键的发现是它的对抗验证链。写代码的Agent和审代码的Agent完全隔离。审代码的那个看不到写代码那个的推理过程和任务描述。
为什么?因为如果审核者知道作者想做什么,它会不自觉地往「通过」的方向找理由,就像老师知道这是好学生的卷子就倾向于给高分一样。更关键的是它在关键节点插入了确定性检查门,用shell脚本或布尔逻辑做拦截,模型没法绕过。
这就是2026年最前沿的AI编程工具的架构。不是更聪明的提示词,是更严格的代码检查门。
学术界也在做同样的事。2026年4月有篇论文叫「Agent Psychometrics」(arXiv:2604.00594),做了一件很聪明的事。
你知道高考阅卷是怎么保证公平的吗?同一个学生的能力是固定的,但他考多少分不只取决于他自己,还取决于题目难度、考场环境、有没有草稿纸这些外部条件。教育界有一套统计方法,能把「学生真实能力」和「考试条件的影响」拆开来看。
这篇论文把同样的方法用到了AI上,把「模型本身有多强」和「围绕模型的那套工具代码有多好」拆成了两个独立的分数。
结论很直接,同一个AI模型,换一套外围的工具代码,成绩可以上下浮动10到20个百分点。打个比方,同一个厨师,换一套厨房设备,做出来的菜好吃程度差了两个档次。
模型只决定一半,另一半是围绕它的那层确定性工具。
更极端的是同年3月的另一篇论文。
它做了一件事,把提示词里写的规则翻译成了数学公式。
具体怎么做呢?比如你有一条规则叫「不要删除生产数据库」。在提示词里,这就是一句自然语言,AI可以理解,也可以选择忽略。
但这篇论文的做法是,把这句话变成一条逻辑判断,如果操作类型等于「删除」,并且操作对象属于「生产数据库」,那么这个操作被标记为「禁止」。
然后在AI每次要执行工具调用之前,系统会先把它想做的事拿去跟这些逻辑规则做比对。
比对的工具是一个叫Z3的数学求解器,它不看AI的推理过程,不管AI觉得自己有没有道理,只看这个操作在逻辑上是否违反了预设的规则。
违反了,直接拦截,操作根本不会被执行。不是「劝你别做」,是那扇门从物理上打不开。
从我的Python脚本,到Claude Code的检查门,到Z3的数学锁死,这三者是同一件事的三个精度等级。我的脚本是手工门锁。Claude Code是电子门禁。Z3是金库级别的保险门。
共同点都是,在概率性的核心外面套一层确定性的壳。
有意思的是,这个道理43年前就有人说过了。1983年有篇论文叫「The Ironies of Automation」,自动化的讽刺。核心论点一句话,系统越自动化,留给人的都是机器处理不了的例外,而例外恰恰最难。
AI越强,人的判断力越重要,不是更不重要。
到2026年,行业的共识可以用六个英文单词概括,Probabilistic Core, Deterministic Shell。概率性的核心,确定性的外壳。
AI负责思考,代码负责兜底。
钱学森三十多年前就说过的事,用今天的话说其实很简单。与其追求更大的模型,不如追求更聪明的脚手架。
当我把质控逻辑从提示词里拆出来写成Python脚本的时候,我不只是在改一个Skill文件。
我在重新定义我跟AI的协作方式。我不再「拜托」AI遵守规则。我给它装了一道确定性的门。它过不去,就知道该回去改什么。
1935年,波音的解决方案是一张清单。
2026年,我的解决方案是几个Python脚本。
90年过去了,最有用的发明从来不是更大的引擎。是更聪明的刹车。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧, 如果想第一时间收到推送,也可以给我个星标⭐~ 谢谢你看我的文章,我们,下次再见。

夜雨聆风