一个价值百万美元的"幻觉"

想象一下这个场景。

你让AI帮你审查一段Python代码,它信誓旦旦地告诉你:"这两个补丁效果一样,放心合并。"

实际上,其中一个补丁会让系统直接崩溃。

这不是段子。这是Meta研究人员在测试现有大模型时发现的真实案例。

问题出在一个看似微不足道的细节:Django代码库里,有人修复了一个关于公元1000年之前两位数年份格式化的bug。两个补丁都试图解决同一个问题,但方式不同。标准的大模型推理一看——都用了format()函数嘛,输出肯定一样——然后愉快地给出了"等效"的结论。

它错了。

其中一个format()被库文件里的自定义函数" shadow "了,调用的是完全不同的逻辑。普通大模型根本不会去追踪这个执行路径,它只会根据函数名脑补。

这就是"幻觉"的经典现场:AI表现得极度自信,结论错得离谱。

两条老路,都走不通

为了让AI代理干好代码审查这活儿,业界其实试过两条路。

第一条路,叫"非结构化评估"。简单说,就是给模型一个任务,让它自己想办法验证代码对不对。模型可以自由发挥,用自然语言解释它是怎么得出结论的。

这条路的问题在于——太自由了。模型可以自信地编造理由,把"我觉得"包装成"事实是"。它看到一个叫check_permission的函数,就假设它真的在检查权限。它不会真的去追踪这个函数到底做了什么,以及在什么情况下会失效。

第二条路,叫"形式化验证"。这条路很硬核,要把代码翻译成Lean、Coq或者Datalog这样的形式化数学语言,然后用定理证明器来验证。

理论上这条路很严谨。但实际操作中?企业代码库往往同时涉及Python、Java、Go好几种语言,嵌套着十几个框架。要给每种语言都编写形式化语义定义?这活儿干一辈子都干不完。

所以现状就是:要么不准,要么太贵。中间地带?没人找到。

Meta的新思路:让AI"写证明"

Meta研究人员这次搞出来的东西,叫"半形式化推理"(semi-formal reasoning)。

名字听着玄乎,核心思想其实很朴素——既然AI喜欢瞎编,那就逼它拿出证据。

具体怎么做?研究人员设计了一套"结构化推理模板"。模型在给出结论之前,必须完成一张"逻辑证书",内容包括:

明确陈述前提——你基于什么假设?
追踪具体执行路径——函数是怎么调用的?数据是怎么流动的?
推导正式结论——你的证据链是什么?

这套模板相当于给AI套上了一个思维框架。它不能再像以前那样看个函数名就下结论,必须沿着调用链一步一步走完,才能给出判断。

AI配图

Meta用Claude Opus-4.5和Sonnet-4.5做了三轮测试:补丁等效性验证、故障定位、代码问答。效果最显著的,是补丁等效性这个场景。

在精心设计的挑战性案例上,准确率从标准推理的78%飙升到88%。而在评估真实世界的AI生成补丁时,半形式化推理达到了93%的准确率,完爆标准推理的86%和传统文本相似度算法(difflib)的73%。

那个Django格式化的例子,用上新方法后,AI终于学会了追踪format()的实际定义,识出了两个补丁的本质差异。

天下没有免费的午餐

但先别急着欢呼。

半形式化推理有一个致命的代价:它更慢、更贵。

在补丁等效性评估中,这种方法需要的执行步骤是标准非结构化推理的2.8倍。更多的API调用,更多的token消耗,更长的等待时间。

研究人员自己也在论文里承认:对于模型已经非常擅长的任务,这套方法没什么卵用。比如在代码问答基准上,Sonnet-4.5用标准方法已经达到85%的准确率,套上半形式化模板——纹丝不动。

更讽刺的是,这套方法甚至可能让AI变得更"自信地错误"。

因为模板强制模型构建完整的证据链,模型会觉得自己已经"证明"了结论。如果中间某一步走偏了,它会带着一种虚假的确定性给出错误答案。研究人员举了一个例子:模型追踪了五个函数挖出一个边缘情况,却没发现下游代码早就安全地处理了这个场景——于是它得出了一个完全错误的结论,还自信得不行。

另外,这套方法对企业内部代码库有用,但一碰到第三方库就傻眼了。源码看不到,AI又只能靠函数名瞎猜。

AI配图

所以结论很简单:它大幅减少了幻觉,但没有消灭幻觉。

这事跟普通程序员有什么关系?

说了这么多,这技术到底能不能用?

好消息是:它不需要训练新模型,不需要特殊的模型包装,开箱即用。Meta已经把模板开源了,你完全可以直接抄作业。

它本质上是一种"提示工程"的进阶玩法——通过精心设计的推理结构,把现有模型的性能压榨到极致。

这波操作其实暴露了一个很现实的问题:大模型很强,但在需要严谨逻辑的任务上,它需要外力约束。单靠"对齐"和"RLHF",没法让AI学会小心谨慎。必须用方法论去规范它的思考过程。

AI配图

换句话说:与其训练一个更聪明的模型,不如设计一套更好的思考框架。

Meta这篇论文的标题其实说得很直白——"Structured Prompting"。在Prompt Engineering被反复宣称"已死"的2025年,这篇工作告诉你:好的提示设计,依然能带来巨大的性能提升。

前提是,你得真正理解你的任务需要什么样的结构。


【MiniMax-M2.1锐评】:Meta这个"半形式化推理"本质上是在和大模型的"幻觉"打地道战——不是消灭它,而是困住它。思路很聪明,但代价也摆在那儿。

参考链接:
https://venturebeat.com/orchestration/metas-new-structured-prompting-technique-makes-llms-significantly-better-at