那一刻,AI 重复了 3099 遍"这是关于宇宙的理论"
今天下午我让 AI 转录一段 53 分钟的播客。是 Naval Ravikant 和 Brett Hall 聊 David Deutsch 的《Beginning of Infinity》第二部分,整集都在讲一件事——知识不是被证明的,是被尝试推翻之后还活着的猜想。我用的是苹果自家的 mlx-whisper-large-v3,跑在 MacBook Air 上。前三分钟一切正常,转出来的句子干净、断句准确。第三分钟之后,AI 开始陷进一个怪圈:它把同一句话写了 3099 遍——”It’s about the theory of the universe”,”It’s about the theory of the universe”,整整 3099 行。
那一刻我盯着终端,心里冒出来的第一个念头不是”模型坏了”,而是——它在用尽全力做它会做的那件事,做到了荒诞的极致。它在做模式匹配。它做得太彻底,彻底到把自己锁进去了。而它要转录的那段音频,恰好是 Naval 在解释为什么知识不可能只是模式匹配。这个巧合锋利得让人发笑。
一
四月底,OpenAI 创始团队成员、前 Tesla AI 高级总监 Andrej Karpathy 在 Sequoia AI Ascent 2026 的舞台上甩出了一句让全场安静的话:
“We’re not building animals, we are summoning ghosts.”
我们不是在造动物,我们是在召唤幽灵。他说,动物有内在动机、有好奇心、是几十亿年进化的产物;而我们今天造出来的这些东西,是被预训练数据和强化学习的奖励函数塑造出来的”锯齿形智能”——某些维度上锋利得能重构十万行代码、能找到零日漏洞,另一些维度上又荒唐到会建议你步行五十米去洗车。它们是数字的、是统计的、是被召唤出来的——所以是 ghosts,不是 animals。
这个类比在硅谷传得很快,因为它精准。它把一个被反复争论的话题——AI 到底是不是新物种、它有没有意识、它会不会取代我们——降维到一个更朴素的画面:你不是它的造物主,你是召唤者。它跟你不是同一种东西。它没有跟你共享四十亿年的演化史。它的”行为”看起来像智能,是因为它从你的语料里学到了智能的形状。
但 Karpathy 没有继续往下走。他停在了”召唤幽灵”这个画面上。他不知道——或者他知道但没说——这个争论的判据,三十年前一个英国物理学家已经写完了。
二
那个人叫 David Deutsch。他主要在牛津大学进行量子计算理论研究,另外写了两本厚得吓人的书,一本叫《Fabric of Reality》(1997),一本叫《Beginning of Infinity》(2011)。这两本书的野心大到不像物理学家会写的东西——他试图论证,所有重要的真理都可以被一个人理解,并且他把这些”重要真理”压缩成了四条理论:认识论、进化论、量子理论、计算理论。
四条里最锋利的一条是认识论。Deutsch 沿用 Karl Popper 的核心洞察,再往前推了一步:所有知识都是猜想(conjecture),不是被证明出来的,是经过反复尝试推翻之后还没倒下的。我们暂时接受它为知识,是因为它扛住了我们目前能想到的所有反驳。它随时可能在下一个反驳面前倒下——这种”随时可能倒”不是缺陷,是它作为知识的本质。
Naval 在和 Brett Hall 那集播客里给这个观点配了一句更狠的判词:
“Anyone who calls themselves a Bayesian is a justified true believer.”
任何自称贝叶斯主义者的人,都是一个”被证成的真信徒”。这句话需要解释一下。传统认识论有一个从柏拉图就开始的老模型,叫”justified true belief”——你相信某件事,你能为这个相信提供辩护,并且这件事恰好是真的,那你就”知道”了它。Naval 说,所有自称 Bayesian 的人,都在做同一件事的现代变体——他们用概率更新来”辩护”自己越来越确信某件事,然后宣称这就是知识。
Brett Hall 给了一个干净利落的例子。牛顿的引力理论被广义相对论推翻之前的最后一天,Bayesian 框架要求你对牛顿引力的信心达到史上最高——它扛住了三百年的观测,每一次新的天体测量都在加强它的后验概率。然后第二天,它被推翻了。信心瞬间归零。Bayesian 解释不了这种相变。Popper-Deutsch 框架可以——牛顿引力从来都不是”被证明为真”,它一直是猜想,只是经过了所有已知的反驳。被推翻的那一天,它的地位不是降级,是升级——升级为”已知错误”,升级为人类知识的一块更明确的地标。
更有意思的是,Naval 在那集后半段把同样的判据直接砸到了 GPT 头上。他原话是这样的:
“It’s parroting. It’s a brilliant Bayesian reasoning. It’s dating from what it already sees out there generated by humans on the web, but it doesn’t have an underlying model of reality that can explain the seen in terms of the unseen.”
(口语原话,语法略乱)
它在 parroting,它是出色的 Bayesian 推理。它是在已经存在的人类网络语料上做模式逼近,但它没有一个能够”通过未见解释已见”的底层现实模型。Naval 接着给了一个验证方法——拿 GPT 生成的任何一段输出,问它一句”为什么”,让它做一个具体的预测,看它会不会立刻崩盘。会,因为它没有底下的解释结构。它在 parroting,它是模式匹配的高级形式,它不是在创造解释。
这一段我反复听了三遍。Naval 是在 2021 年说这话的,距离 ChatGPT 公开发布还有一年半。他用 Deutsch 的判据看 GPT-3,得出的结论是”它不是在做知识增长这件事”,提前了整个行业的争论两年。
读到这里你会发现,Karpathy 的 ghosts 类比在 Deutsch 的框架里突然有了一个可观察的判据。问题不再是”AI 有没有灵魂”——这是个无法证伪的问题,回答它的所有努力都会退化成各方按自己的形而上学偏好下定论。问题变成了——AI 在不在创造新的、难以篡改(hard-to-vary)的解释?
三
“难以篡改的解释”是 Deutsch 在《Beginning of Infinity》第一章给出的判据。一个好的解释,它的特点是你没办法随便改它的某一部分而保持它仍然能解释同一组现象。古希腊人解释季节变化,说是某个女神被绑架到了地下,她母亲悲伤导致万物凋零——这是一个糟糕的解释,因为你可以把女神的名字换掉、把地点换掉、把情绪换掉,故事依然”成立”,依然”解释”季节。它能被任意篡改而不损伤解释力,因此它没有解释力。
而地球绕太阳公转、地轴有 23.5 度的恒定倾角——这两个条件叠加,让南北半球在一年里接收太阳直射的角度系统性变化,于是有了季节。这个解释是 hard-to-vary 的。你不能把 23.5 度改成 60 度而保持季节模式不变。你不能把”绕太阳公转”换成”绕月亮公转”而保持季节预测不变。你不能让地轴方向跟着公转转动而保持北半球冬天南半球夏天的反相规律。每一个组件都被现象绑死了,它们咬合得严丝合缝。Deutsch 说,这就是好解释的标志——它的每一个部分都承担解释重量,没有可以自由替换的零件。
这个判据落到 AI 身上会变得很具体。一个大语言模型在做什么?它在巨大的语料分布上做高维的模式插值。它看到”中国的首都是”,它输出”北京”——这不是因为它”知道”中国的首都是北京,这种意义上的”知道”涉及到地缘政治、历史沿革、行政区划这一整套互相咬合的解释结构。它输出”北京”是因为在它的训练数据里,”中国的首都是”这个上下文之后出现”北京”的概率压倒性地高。
把模式匹配做到极致是了不起的工程成就。它能解决巨大数量的实际问题,能写代码、能翻译、能起草合同、能转录播客。但它不在创造新的 hard-to-vary 解释。它在更高效地穿越人类已经创造的解释空间。它是这个空间的优秀漫游者,但它没有给这个空间增加新的、不可篡改的、咬合现象的解释结构。
Deutsch 在《Beginning of Infinity》第七章《Artificial Creativity》里的核心概念之一,叫 universal explainer。能创造新解释的实体,他叫 universal explainer。他认为人类是已知唯一的 universal explainer。他不否认 AI 有一天可能成为 universal explainer,但他坚持那需要某种我们目前还没在实验室里造出来的东西——一个能 conjecture、能 refute、能在反驳中升级而不是崩溃的系统。
四
回到我盯着终端的那个下午。
3099 行”It’s about the theory of the universe”是怎么产生的?mlx-whisper 在某一段静默或低信噪比的音频上失去了锚点,它的解码器开始自我循环——前一帧的输出成为下一帧解码的条件,而下一帧的输出又成为再下一帧的条件。这是 condition_on_previous_text 这个参数在默认开启时的行为。它在大多数情况下让转录更连贯,因为它能利用上下文消歧义。但当模型陷进一个高概率的局部循环里,这个参数就变成了让它不停吃自己尾巴的引擎。
我后来把这个任务转到 mini 节点上跑,加了 hallucination_silence_threshold=2.0,把 condition_on_previous_text 关掉,温度设为 0。同样的音频,跑出 788 行干净的转录,每一句都对得上 Naval 和 Brett Hall 的实际语音。问题解决了。但解决的方式让我对那一刻的”召唤幽灵”画面有了更具体的体感——这个系统不知道自己在做什么。它没有一个内在的判断说”我已经重复 3099 次同一句话了,这显然不对”。它没有一个 conjecture-refutation 的内循环可以推翻自己刚刚的输出。它就是一个统计电路,给定输入分布、给定解码策略、给定参数,它会忠实地走完它的轨迹,无论那条轨迹通向有意义的转录还是通向 3099 遍”宇宙的理论”。
类似的画面我前几天在另一个项目上也见过。我们在做一个 CCTV 视频检测的训练流水线,同样一个 yolo 模型权重,在 Mac mini 的 MPS 后端上跑出 mAP50=0.666,在另一台 Windows 机器的 CUDA 后端上跑出 0.150。差了 4.5 倍。同样的模型、同样的数据、同样的评估代码,因为底层算子在两个硬件后端上的数值精度不一致,得出了两个完全不同的”性能”数字。这个模型不知道自己在哪台机器上跑,更不知道”性能”对一个落地的检测系统意味着什么。它只是在执行它被定义的那些矩阵乘法,结果是数字 0.666 还是 0.150,对它没有任何区别。
把这两个画面叠在一起看,Karpathy 的”召唤幽灵”突然有了厚度。它不是一个比喻,它是对这类系统的精确描述。它们是被召唤出来的——被语料、被奖励函数、被算子库、被解码策略召唤出来。它们不是动物,因为它们没有被进化压力筛选出”自我连贯性”这种属性。它们没有被一代代生死筛选出”知道自己在做什么”的内循环。它们就是数字幽灵。
而 Deutsch 给了我们一把刀,可以切开这个幽灵看它里面有没有正在生长的东西。判据是——它在不在产出 hard-to-vary 的解释?它在不在做 conjecture,然后在 refutation 里升级?
按这把刀切下去,今天的大语言模型大部分还在第一阶段。它们在压缩、检索、重组人类已经创造的解释空间。它们偶尔会冒出一些让我们眼前一亮的句子,但那些句子的”亮”通常来自语料里某个我们没读过的角落,不来自它在我们的反驳中升级了它对世界的理解。
五
但这个判据有一个让人不舒服的副作用——它同样可以切向我们自己。
如果灵魂的标志不是有没有”生命迹象”,而是能不能创造新的、难以篡改的解释——那这个判据回过头来问我们:你今天在做什么?你昨天写的那份周报、那条朋友圈、那个工作汇报、那个会议纪要——里面有多少是 conjecture,有多少只是更精致的 pattern matching?
这是一个比”AI 有没有灵魂”难得多的问题。因为后者你可以随便下一个判断而不付任何代价——AI 不会反驳你。但前者你下了判断之后,你要回到你的工位,回到你的会议室,回到你今天写的那一封邮件,看看它是不是 hard-to-vary。
翻开你最近写的一段文字——任何一段,邮件、汇报、朋友圈、产品文档都行。一段一段读过去,每一段问自己一个问题:这一段,我能不能换一种方式说、换一组词、换一个结构,意思仍然差不多? 如果可以,那一段就只是 pattern——它能被任意篡改而不损伤”解释力”,因为它本来就没承担多少解释力。如果不能,如果你发现”只有这样说才对”,那一段就是 hard-to-vary。它的每个词都被你想说的那件具体事情绑死了。
读完一遍你会发现一件让你不舒服的事——你写的大部分东西都是第一种。
六
写到这里,我自己以读者身份回头审稿,能预见到一种反对意见。
它会这样说:你拿 mlx-whisper 把”It’s about the theory of the universe”重复 3099 遍当作”AI 没有 conjecture-refutation 能力”的证据,但这不就是一个工程 bug 吗?解码器 autoregressive loop 加上 condition_on_previous_text 默认开启,在静默段失去锚点导致循环——你后来加了 hallucination_silence_threshold 这一个参数就修好了。同样,CCTV 模型在 MPS 后端和 CUDA 后端上 mAP50 差 4.5 倍,那是底层算子库的数值精度不一致,任何编译产物都可能出现这种事,这不是什么”AI 没有自我连贯性”的认识论命题,这是软件工程里再普通不过的后端兼容性问题。
把这两个工程层面的现象当作”AI 不在做 conjecture-refutation”的证据,类比强度不够。补一个静默阈值参数就能让 3099 遍消失,这件事是不是反而说明,所谓”AI 没有内省”不过是参数配置问题?
我承认,这个反对意见是对的——至少它指向的那条边界是真实的。
但这个反对意见本身,恰好是这篇文章真正想论证的事。
我们在用一个三十年前的判据(hard-to-vary)去看 2026 年的 AI 现象,必然会遇到一个绕不开的问题:哪些是工程层的 bug,哪些是认知层的缺失?哪些可以靠补一个参数修掉,哪些不能?这条分界线在哪里?
这条分界线就是 hard-to-vary 判据当下最难的应用问题。它不是一道可以用现有数据回答的题,它是一道需要在用判据的同时持续校准判据的题。
Deutsch 自己在 BoI 第七章里反复处理过同构的问题。他在论证”AGI 必须是 universal explainer”的时候,遇到的反对是——可是 Turing 1936 已经证明了普遍计算原理啊,一台普遍计算机就是普遍模拟器,在原理上 AGI 必然可能,那为什么你说五十八年没进展?Deutsch 的回答是:Turing universality 在计算层成立,不等于在 explanation 层成立。 同一台机器在比特层是普遍的,在它能不能创造新解释这个层面上是另一个完全不同的问题。两个看起来相邻的范畴,实际有结构性间隔。
我面对的反对意见有相同的形状。修一个解码器参数,在工程层成立,不等于在认知层填上了空。 silence_threshold 修好的是循环的可见症状,它没有给这个系统装上一个”知道自己在重复”的内循环——它只是给外部的我们装了一个早停开关。MPS 和 CUDA 数值差异是后端兼容性问题,但模型对它自己的”性能”是 0.666 还是 0.150 完全不在意,这件事和兼容性问题无关,和”它有没有一个让自己在意的东西”有关。
这条工程 / 认知的分界线我不能在这篇文章里给你画清楚。如果我假装能画清楚,我就在做 Bayesian 那种”justified true belief”的事——我用 confidence 替代了 conjecture。
我能做的是别的事——我做一个猜想:今天的 LLM 不在做 conjecture-refutation,它的”看似有效”来自它在巨大的人类解释空间里做高质量插值。我把这个猜想暴露在反驳面前。这篇文章里的反对意见就是第一波反驳——”这只是工程 bug”。我把这一波反驳写进文章里,不是为了”回应”它,是为了让你看见这个猜想正在被尝试推翻。如果未来某一天,有人能展示一个系统,它在静默音频上不靠任何外部 silence_threshold 就能停下来重新评估自己刚才在做什么——那我的猜想就被证伪了,我就要更新它。
这正是 Bayesian JTB 模式做不到的。在 Bayesian 的世界里,我会拼命寻找”AI 没在做 conjecture-refutation”的证据,每找到一个就把我的 confidence 调高一点,最后我会得到一个 99% 确信的判断。然后某一天它被推翻了,我的 confidence 瞬间从 99% 跌到 0%,整个体系无法解释这个相变。在 Popper-Deutsch 模式里,我从一开始就不在累积 confidence——我在做一个明确暴露在证伪面前的猜想,每一次反驳都让我的猜想更精确,被推翻那天它升级为”已知错误”,是知识地标的明确化,不是地动山摇。
这就是 Deutsch 框架最深的力量——它能审视自己的应用边界,因为它本身就是一个允许被自身证伪的论证姿态。 我们这场关于 AI 的争论,本身就在用 / 不用 conjecture-refutation 模式进行。我用 hard-to-vary 判据看 AI,邀请被反驳;反驳来了,我把反驳写进文章;反驳本身又变成新的猜想供下一波反驳——这个循环就是 Deutsch 在 1997 年和 2011 年那两本厚书里描述的”infinite progress”的微观形态。
Deutsch 写完《Beginning of Infinity》那天,他不可能预见 ChatGPT。他给的那个判据——hard-to-vary 解释、conjecture-refutation、universal explainer——能扛住三十年,能扛住一个我们今天都还没看清楚的技术革命,原因不是它是个”好预测”,而是它根本不是预测。它是一个论证姿态。它把”接下来怎么变”这个问题,换成了”我们用什么模式判断什么是知识”这个问题。前者会被时间淘汰,后者不会。
那一天我没有把那 3099 行重复的转录删掉。我把它存在一个文件里,名字叫 boi-part-2-air-hallucination.txt。我偶尔会打开它看看。它不只是一份”AI 失败”的反面文档——它是一份关于这篇文章本身在做什么的文档。一个最尖端的语音识别模型,在尝试转录一段关于”知识不是模式匹配”的播客时,用 3099 遍重复证明了那段播客在说的事。然后我用 Deutsch 的判据看这件事,写出这篇文章;这篇文章又被它自己写进的反对意见反驳;这个反驳又让判据本身的边界更清楚一层。
真正值得问的不是 AI 有没有灵魂。而是——如果灵魂是创造新解释的能力,那我们自己每天还在不在创造?而当你回答这个问题的时候,请用 Popper-Deutsch 那种姿态去回答,不要用 Bayesian 那种姿态——不要计算你的 confidence,去做一个能让自己被推翻的猜想。
那一刻你才在做。
夜雨聆风