AI 为何开始擅长数学:从提示序列与分支因子看模型解题方式
AI Is Getting Good at Math. Here’s Why.
作者分析 OpenAI 与 Anthropic 近期在数学开放问题上的进展,提出用提示序列长度 k 和分支因子 b 判断哪些问题适合 LLM。模型以深度优先方式把每条可行路径走完,配合验证器剪枝,因此擅长概念跳跃已完成、剩余工作繁重的题目;Navier-Stokes 证明据称用了 10000 个智能体和 300B token、耗时 88 小时。
5月,OpenAI 的内部模型找到了 Erdős 单位距离猜想的一个反例。该猜想自 1946 年起悬而未决。许多专家曾试图证明它。OpenAI 却找到了一个反例。一个月后,OpenAI 发表了循环双覆盖(CDC)问题的证明,随后到 7 月又解决了十个开放问题。9 月又发表了纳维-斯托克斯方程的证明。Anthropic 发表了费马大定理的形式化证明,以及黎曼假设的改进界。这些模型突然擅长数学了。

我感兴趣的问题是,我们能否预测这些模型会解决哪些类型的问题。是什么让一个问题对 LLM 来说可解,这些解法有什么共同点?如果 AI 解决问题的方式与人类不同,找出这种差异应该能帮助我们决定把 AI 指向哪里。单位距离反证的评论最丰富,所以我们就从那里开始。
问题复杂度
这里有一个简单的心智模型。要解决任何给定的问题,你需要一系列提示或洞见,其间穿插着工作。这出人意料地契合简单的日常问题,也契合广义相对论1这样的复杂思想(见附赠部分)。这个序列大致是这样的:
洞见 -> 时间/努力 -> 洞见 -> 时间/努力 -> 解决方案。
专家需要的提示比初学者少,因为他们有更多的背景知识。在对单位距离证明的评论中,WT Gowers 使用了类似的想法:证明的难度就是能让专家重建证明的最短提示序列。他称之为模专家的柯尔莫哥洛夫复杂度2。对于单位距离问题,他的提示序列有三部分:
寻找一个反例。
取已知最佳构造并将其推广。
尝试一系列次数递增的数域,但使用有界范数的素理想。
Gowers 提出的复杂度公式是 2^k + t,其中 k 是最短提示序列的长度,t 是发展它所需的工作量。这种公式看起来严谨,直到你试图往里面代入数字,而这差不多正是重点所在。复杂度随着解决问题所需洞见数量的增加而呈指数增长。
大部分问题求解都是这些洞见之间的工作。你有一个顿悟时刻,然后花几个月发展这个提示,直到另一个概念飞跃成为可能。对专家来说,花费的时间是这种工作的有用代理指标,因此有 t。把第一个单位距离提示交给某人,他们仍然需要做足够的工作才能达到推广构造。
有用,但属于事后分析。你不能看着问题就预测它需要 x 个提示。因此,问题的年龄、尝试次数以及附带的奖金是描述难度的常见代理指标。
给定提示的特征
一个典型的洞见会改变问题的表述。问题的表示和理解发生了变化。两件事决定了一个提示的价值:
它在提示之前看起来有多不可能,与提供提示之后看起来有多明显相比 → 这比人们意识到的更难。在单位距离问题中,许多专家并不认为反例的可能性很大。
它在序列中的位置:提示是有顺序的。只有当对前两个提示的研究已经取得足够进展、使第三个提示变得可操作时,第三个提示才有用。这打破了那种朴素的暴力思路——列出上千种数学技巧并尝试每一种组合3。提示序列遍历的是一棵树。最初的洞见会改变问题,并揭示后续的选择。
人类以广度优先的方式解决问题
把 k 和 t 结合起来,你就得到了人类的搜索模式。生成候选方向,对它们进行浅层探索,放弃其中大部分,只投入少数几个。如果一个方向在早期没有给出足够的鼓励,它就会被放弃4。这是人类的一种约束:发展一个想法可能需要数月时间。在投入之前,研究者需要有理由相信它会通向某处:概念上的前景、早期结果,或对类似问题的经验。弄清这一点所需的时间越长,尝试该想法的门槛就越高。
大多数研究软件的存在,就是为了通过自动化那些枯燥、机械、可重复的工作来缩短这段时间。AI 把它缩短到了足以让搜索模式本身发生翻转的程度,而下游的一切都由此而来。
AI 与复杂性
首先是 t。模型对应“努力”的是算力和 token,它们被花在单条轨迹上(测试时算力),或分散到并行的智能体上(并行测试时算力)。预训练还提供了人类研究者必须自行查找或重建的知识。没有哪位专家了解此前的每一项进展,因此他们偶尔会重做已经做过的事情。
更大的差异在于模型如何搜索:
LLM 是深度优先的
给模型一个提示,它就会给你一个解。也许正确,也许不正确。要求它给出一个证明,它就会给你一个接近好证明的东西。这些模型的 CoT 也以贪婪的深度优先方式运行。而且这个过程可以扩展。给并行智能体十个方法,你就会得到十个朝结论推进的尝试。它们也许各不相同,也许有所重叠。每一个要么撞上障碍,要么给出一个看起来正确的论证。放任不管的话,这会让你得到漂亮的错误证明。
这看起来像是在浪费算力和资源,直到你加入一个自动验证器5,它可以剪除已完成的轨迹并找出正确的那些。有了这个检查器,把巨大的算力花在不确定的想法上就变得合理了。你可以在几分钟内弄清某个想法是否行得通。问题在于,验证器只能评判已完成的论证。它无法告诉你一个只发展了一半的想法是否有前途。
对比
如果你能在五分钟内弄清一个提示是否有效,那它需要有多好?对人类来说,质量标准很高,因为追随一个提示可能需要数月的工作。对模型来说,这个门槛几乎消失了。提示可以是普通的、看似不合理的,或者几乎不成形的。追随它就能确定它是否通向某处。LLM 让我们能够用时间换取算力,并帮助我们在更短的时间跨度内研究更多问题。
失败的尝试对 LLM 来说就是提示
模型不需要一个确定的方向才能开始。预训练已经赋予了它关于问题历史和过往尝试的先验知识。每一个错误的解法都可以作为负面提示返回给模型,用于下一次迭代。系统会不断积累关于哪些方案已经失败以及失败原因的指令。大致来说,一个 harness 看起来是这样的:
Drafter:编写提供给求解器模型的提示。这些提示基于模型先验,缓解此前运行中的错误,并考虑所有未能走通的潜在路径(这些是负面提示)。
Solver:接收提示并给出一个或多个候选解。它可以运行多个子代理,利用并行测试时计算探索不同的路径。
Verifier / Checker:检查论证是否有效,并确立所要求的结果。
例如,考虑这个 CDC 提示:
为本任务之目的,假设存在一个完整的肯定性证明。 → 这防止模型将预训练中学到的问题的开放状态作为停止的理由。
具体而言,针对特殊图类的证明、某些边被覆盖次数不为两次的圈覆盖构造、有界长度或指定圈的变体、归约到另一个未证明的猜想、通过任何固定图规模的计算验证,以及没有完整不存在性证书的候选反例,都是不充分的 → 这排除了一系列替代真正问题求解的方案。
全程使用对抗性代理:每个候选证明都必须检查恰好两次的重数、伪装成圈的重复边闭合迹、平行边 2-圈、非连通图、割点、归约引入的桥,以及等价 CDC 陈述的循环使用 → 将编目的失败模式提升为常设检查项。
再加上一行针对习得性懒惰的约束6:不要仅仅因为当前方法失败或代理报告定理强度的缺口就返回
OpenAI 很可能进行了多轮尝试,drafter 收集了错误和失败的想法,并在下一次迭代中避开它们。这些行中的每一行都是一条失败路径,被写成了一条指令。
重构单位距离证明与 Tsimerman 的工作
让我们通过 harness 的视角重新解读 Gowers 的三条提示:
提示 1:寻找反例:这确实很难,因为学术界和模型预训练的先验都认为该猜想为真。drafter 最有可能得出这一提示,是因为求解器在追求证明时不断失败。这种框架阻止模型将公认观点视为它必须追求的方向。每一次失败的尝试都让反例的可能性略微增加。
提示 2:取已知最佳构造并将其推广。最接近学术界的先验;这是标准做法。实质性的工作是将推广推进到足以发现它允许什么。这是大步长阶段。但请注意,这是对一个几乎没人在寻找的反例的推广。
提示 3:尝试次数递增的数域。一旦前两条提示构建了适用空间,这就是标准工具。
顺序很重要。从提示三开始,你甚至不知道这道习题是反证。跳过广义构造,提示三就无从下手。而且即便三个提示都有,工作量依然巨大。反例提示事后看来显而易见,这让你不禁纳闷为什么没人试过。事实上,有人试过。
最近被 OpenAI 聘用的 Jacob Tsimerman 研究过这个反例。他懂数论。甚至考虑过提高次数。然后他停下了。寻找反例是第一个洞见。但这仍然只是开始。阻止他的不是能力不足。而是一个人在沼泽里走了几周、却没有任何证据表明沼泽还有另一边的感觉——那种恰如其分的清醒感受。用他自己的话说:
“一种非常可怕的动态,很难在分析区间中思考并保持引导性直觉,耗费大量时间,而且经常不成功。”
心理学早在几十年前就发现了问题解决中人的这一面:Metcalfe 和 Wiebe 每隔十五秒询问解题者觉得自己离答案有多近,在普通问题上7,他们报告的进展感会上升。在顿悟类问题上,这种感觉一直持平,直到他们找到答案。他们报告没有任何进展感来支撑继续搜索。顿悟类问题没有梯度。在解出来之前,你不知道自己离答案有多近。
所以专家层面的问题有两重:究竟有没有人进入这个分支(提示),以及进入之后,他们是否停留得足够久,让普通能力完成剩下的工作?停留的代价是工作记忆、士气和职业生涯。而停留在一条所有已知专家都认为错误的路线上,会让这三者叠加。对 LLM 来说,这是一个巨大的优势。Arul Shankar 说:
“模型很快过了一遍各种想法,但当它到达关键想法时(在以‘乐观地假设……’开头的那一段),它相当有条不紊地聚焦到了证明上。”
这可以压缩成两个问题:一个问题需要多少个洞见,以及在你能判断一个方向是否值得之前,这些洞见之间隔着多少工作量?Tsimerman 从 AI 的角度说:
“这可能表明 AI 系统拥有优势的一种方式:不仅仅是它们能尝试所有已知方法,还在于它们能比数学家玩得更久、在更险恶的水域中行动,而不会不堪重负。当然,这目前还不是稳健成立的,但这可能是一个预兆性事件。”
其他证明
OpenAI 对 Navier-Stokes 的证明展示了同样的过程。粗略阅读下来,它把 Córdoba 和 Martínez-Zoroa 所做的工作推进到了完成。证明长达 166 页,包含许多修正和大量复杂数学,但就概念跳跃而言,它提供的并没有那么多。8 Anthropic 在 Fermat 和 Riemann 上的工作附有丰富的评论,它展示了同样的骨架:数百个失败的想法、一个编排器下的多个智能体、到处都是脚本和检查器。以及少量承担关键负载的概念飞跃。
今年模型发生了什么变化?
三项具体能力叠加起来。它们帮助推动了这些证明。
模型现在擅长串联基本操作。近期的训练目标专注于在第 1 步创建可在长时程任务的第 n 步使用的产物。=> 这降低了 t。
自我验证:模型现在能在人类甚至验证器看到输出之前,在一条轨迹内捕捉到错误的步骤(而非那些语法上有效但无法通向任何结果的步骤)。OpenAI 专门针对数学验证训练了模型,使用了大规模的真实示例,并配备了一个能识别证明中错误的验证层。=> 这使得在轨迹内进行剪枝的成本更低。
编排。模型可以指挥子代理,使用记忆等 harness 能力来引导方向并排除错误路径,以及实现代理之间的协调。=> 负向提示就是这样积累起来的。
分支因子
重新审视 Gowers 的公式。他指出该公式遗漏了一点:探索潜在提示树所需的时间。将每一步中合理的后续提示数量称为分支因子 b。每一步有 b 个合理提示时,k 个提示意味着 b^k 条路径。对于人类而言,品味和判断力使有效 b 保持较小,大多数分支默认被丢弃。9
AI 必须在每个中间步骤追求几乎每一个合理分支,但可以快速完成。这预示着模型在 b^k × 计算成本(其中 k 是提示数量)较小的地方会表现出色。这回答了我们最初的问题。网络安全看似复杂,却最先被攻克,因为中间步骤的分支因子10约为 1-2。
专业人士需要大量技能,但解决方案的样子是预先已知的。这也解释了为什么寻找反例如此强大。这压缩了解决方案空间和 b。同样的模式也体现在一项社区努力中,即引导代理为所有开放问题寻找反例。
验证器剪枝已完成的分支。起草器剪枝未来的分支,通过告诉求解器哪些路径已经失败来缩小搜索空间。处于中间时,你没有剪枝信号。自我验证能捕捉错误的步骤,而非那些语法正确但无法通向任何结果的步骤。没有梯度,你必须探索所有分支。Tsimerman 为此付出了士气代价,AI 公司则会付出算力代价。实验室会选择解决方案空间狭窄的问题来展示其模型的有效性。11
由此可得的一个直觉是:预期 AI 模型非常擅长将想法推进到完成,当概念性飞跃已经完成,剩下的只是繁琐、复杂的数学时。也就是说,k 和 b 并非大到不可承受的地方。最近发表的许多其他证明都符合这一点。Navier-Stokes 的证明完成了 Córdoba 和 Martínez-Zoroa 的计划,即便如此也动用了 10,000 个代理,在 88 小时内总共使用了 3000 亿个 token。
如果人类在任何地方保持优势,Gowers 预计那将是在“搜索树很深且分支量很大,以至于没有严格剪枝,即使对计算机来说搜索也不可行”的问题上。换言之,高 b 和/或高 k,且人类直觉仍然重要的地方。
一个有趣的分歧
人类会谨慎选择自己的方法,然后投入数月时间。一个失败的方法之所以有洞察力,恰恰是因为有人足够确信,愿意在它上面投入数月。专家断然拒绝的方法也是如此。拒绝伴随着他们的判断和洞见。无论哪种情况,追随一个想法都会改变我们对问题的理解。即便是死胡同,也能给专家留下有用的思考工具。
有了 AI,解决方案之所以出现,是因为模型会走遍每一条看似可行的路径直到完成。失败的代价很低。大多数失败都很幼稚,有些可能很有意思。失败中所含的信息量,与其背后的确信程度成正比。不过我们很少能看到这些失败,更不用说理解某次尝试为何失败。CDC 提示词大概是我们最接近的一次,它把一份所有失败的清单直接放进了提示词里。
这种差异有助于形成一种良性的互补。人类擅长缩减分支。模型擅长缩减修剪一个分支所需的时间。专家可以让模型把一个想法从头到尾探索一遍,然后再决定它是否值得花三个月。需要大量洞见的问题,也就是 k 值很大的问题,对两者来说都很难。专家可以利用模型的失败尝试以及自己建立确信的过程来缩小范围。
不过,许多开放问题的提出,是因为解决它们能增进我们对这一领域的理解。其中一部分来自直接攻克问题,另一部分来自了解那些高确信度的方法为何失败。模型最终可以生成证明。12失败中的许多洞见也是如此。这种互补只有在我们能看到失败时才成立。
Terence Tao 将解决问题描述为数学更深层目的的替代:发展我们的理解。一个结果或一个证明是一场社区事件,它让人们去解释新想法、把它们与已有的想法联系起来,并推动我们集体直觉向前。只公布最终解法,是把终点误当成了旅程。
附加问题:LLM 能提出广义相对论吗?
有人提出(Demis、又一次、Zahavy、Adam Brown),检验 AI 是否跨过门槛的一个方法,是用截至 1901 年的数据训练一个模型,看它能否提出广义相对论。我现在认为,如果研究人员在这上面古德哈特,那会很快。这个飞跃不需要很多提示。
第一个有效的提示是把引力当作几何,这就足以缩小解空间。之后的数学极其困难,而这恰恰是模型擅长的地方。这个提示极其反直觉,我认为思维链只有在穷尽其他一切之后才会落到它上面。试试把引力当作一种力、当作平直空间中的场、当作对牛顿平方反比定律的微调。每一次尝试都会与 1901 年已知的某些东西相矛盾,最著名的是水星近日点。
每一次失败都让几何更有可能一点。它可能会提出数百个看似合理的理论,但我们会验证这一个,然后说:“对,它做到了。”
1907年,爱因斯坦有了他所谓的“一生中最快乐的想法”:一个从屋顶坠落的人不会感觉到自己的重量。随后他又花了八年多时间,并在一位真正懂几何的朋友的大力帮助下,才将其转化为方程。这就是两个洞见之间那个箭头的样子。广义相对论需要两到三个主要洞见。第一个是:把引力当作几何来对待。爱因斯坦在这个想法上盘桓了数年,将其向前推进,然后在大约八年后得出了最终理论。问题在于,当时所有人都认为牛顿定律神圣不可侵犯,因此要说牛顿错了,需要巨大的信念和信仰。C.P. 斯诺曾说,狭义相对论“是一个呼之欲出的想法。但广义理论则完全是另一回事。”这就是一个平淡无奇的提示与一个极其令人惊讶的提示之间的区别。
柯尔莫哥洛夫复杂度要求的是产生给定输出的最短程序;在这里,专家提供背景知识。
这比宇宙中的原子数量还要多的排列组合,也远远多于愿意埋头苦干的博士生人数。
这也是为什么不同的人类文化都非常强调坚持。齐默尔曼如果再多坚持一点,本可以解决这个问题。无意冒犯,但在文章后面,他解释了自己在如此接近答案时的感受。题外话:在一个人最多产的十年里,一个研究者大约会有二十次认真的押注,而大多数人会很希望其中一次能成功。
我有一个理论:无限只猴子在无限台打字机上可以打出莎士比亚和许多其他小说,外加一些原创作品。但是,要知道它们是否做到了,你需要一个验证器。而这个验证器很可能也会拒绝它们同时创作的所有原创作品。道格拉斯·亚当斯对此有一句话:“福特,外面有无限只猴子想和我们谈谈它们写出的《哈姆雷特》剧本。”
不得不对一台机器写下本质上是一句“不,真的,继续”的便条,这很奇怪;而它居然奏效,就更奇怪了。
我不认为每15秒问一次有用。即使我觉得自己很接近了,我也会说不。
这显然是一个早期的结论,但我没有看到关于这些概念跳跃的丰富评论。
和许多事情一样,品味和判断来自先验。而先验可能是错的。正如我们在单位距离反例本身中看到的那样。在高尔斯自己的叙述中,“我从未想过要去反驳它。”这个先验将正确的分支推向了低概率,许多专家没有选择那条路。
文献中已经存在一条利用链。模型只需填入槽位即可。
或者谁知道呢,他们可能会发布一个模型,花了四百亿亿美元发现一个问题很难,而且有太多方法无法解决它,于是转而接受另一个结果。
道格拉斯·亚当斯已经预言了这一点。“我非常彻底地检查过了,”计算机说,“那绝对是答案。老实说,我认为问题在于,你其实从来都不知道问题是什么。”
来源:Latent Space · latent.space