这些天在某个算法爱好者的社群里看到一条消息,转述里说一位八十多岁的图灵奖得主,用Claude在一个小时内找到了一道困扰数学界三十年的公开难题的突破口。我第一反应是不信,第二反应是好奇,等把转述里的细节读完,反而觉得这件事比表面看起来更值得认真拆解一下。
先说清楚,我这里不打算讨论“某某悬案被秒杀”这种标题党叙事。真正有意思的是这件事暴露出来的工作方式:一位经验极其丰富的老学者,没有去跟AI比拼“谁更会算”,而是把三十年没人啃动的难题,重构成了一组机器能快速验证的小任务,再由人类完成最后的逻辑闭环。这个过程里,Claude不是什么万能解题器,它更像一个反应极快、知识面极宽的助手,而真正的“解题思路”依然来自那位老人头脑里几十年的结构直觉。
这篇文章我想从几个角度展开:这类数学难题为什么能悬置三十年,老学者的经验在AI时代为什么反而更值钱,一个人和LLM配合破解难题的合理工作流长什么样,以及“最后一公里”的验证为什么仍然非人不可。对研究者和工程师来说,这事的参考价值不在那道题本身,而在“如何把宏大问题缩小到机器能插手”的思考方式上。
1. 三十年的悬案在卡什么:难题的“语言屏障”与文献爆炸
1.1 数学难题卡住的往往不是计算量,而是“说法”不对
很多圈外人以为数学难题之所以几十年解不开,是因为涉及的运算量太大,或者需要某种超级计算机跑很久。这个印象多半来自公众对密码学、大整数分解这类应用的想象。但真正的数学公开难题,尤其是组合学、数论、代数几何方向的问题,绝大多数卡在另一个地方:没有人找到一种合适的“语言”去描述它。
举一个我工作中常遇到的类比。你有一段逻辑混乱的代码,它功能不对,但你又不知道是哪里错。这时候最心累的不是改代码,而是你没法把“哪里不对”讲清楚。数学悬案也是同理——大家知道某个命题大概率成立,但证明它需要先发明出一套新的中间概念、一个新的代数结构,或者一种新的不等式放缩方式。三十年里不是没人试过,而是所有已知路径都被一代代数学家走遍了,常规工具拿它没办法。
1.2 文献爆炸让跨学科直觉越来越难建立
另一个被低估的因素是文献量。一个方向过去三十年积累的论文,哪怕只是浏览标题,也需要几个月。更麻烦的是,子领域之间的术语越来越不互通,同一个概念在不同论文里可能有四五种叫法。年轻数学家精力旺盛,但缺少把不同分支联系起来的全局视角;老一辈学者有全局视角,但已经没有足够时间去通读这些年在各个子领域冒出来的新工具、新引理。
偏偏这类难题的突破口,往往藏在两个看似无关领域的交叉点上。这正是高龄学者的独特价值所在——他们的“模式库”是几十年积累下来的,一眼就能认出“这个结构我在别的领域见过”。但过去的问题是,他们即便认出了某种相似性,也没有能力去海量检索和快速试错。
1.3 为什么“图灵奖得主”这个身份在AI时代更被放大
图灵奖得主这个头衔通常意味着,这个人当年做出突破性工作的时候,靠的恰恰是比别人更早看到某种结构。这种能力在AI出现之前,只能靠单打独斗式的个人天赋。如今有了大模型,情况变了:模型可以在一分钟里读完上百篇论文的摘要,可以按照老学者的提示词去搜索特定形式的反例,还可以用自然语言直接生成可运行的验证代码。
所以我的判断是:这件事之所以能发生,不是因为“AI已经强到可以独立破解数学难题”,而是因为“AI给那些拥有顶级结构直觉的人装上了外挂臂”——直觉依然来自人,但执行和检索的带宽被大幅拓宽了。这也是为什么我会说,老学者的经验在这个时代反而比年轻时的计算能力更值钱。
2. 老人与AI的配合方式:为什么不是“让Claude直接解题”
2.1 直接问“怎么证明”大概率会得到一堆泛泛而谈
如果你用过这类大模型就会发现,让它直接证明一个有三十年历史的公开难题,它通常会给你一份看起来很像样、但实际上经不起推敲的“伪证明”。原因很简单:大语言模型擅长的是预测文本序列,而不是执行严格的符号推导。你让它“证明某某猜想”,它只是在模仿历史上那些论文的语言风格,生成一个合理的解题框架幻觉。
所以那位老人大概率没有做这件事。真正的做法,是把难题拆成一堆“可以快速验证为真/假”的小命题,然后让模型在这些小命题上做模式补全。这就像调试一个大型系统,你不会直接问“系统为什么崩溃”,你会先通过日志把崩溃现场缩小到某一个函数,再问“这个函数在某个输入下是否可能越界”。
2.2 合理的工作流猜测:把“证明问题”压缩成“候选断言生成”
根据我当时在社群里看到的信息,以及我自己用LLM辅助数学计算的经验,那一小时的工作流很可能是这样搭出来的:
- 前一刻钟,老人把原问题重新表述成若干等价但更“机械化”的形式。这是整个流程里最考验功力的一步。同样的数学命题,用组合学的语言描述和用代数结构的语言描述,对机器来说完全是两码事。
- 中间大约半小时,模型被要求生成大量“候选命题”:比如在某种有限结构下是否存在某个特殊子结构,某个参数范围内不等式是否可能反向成立,某个构造是否能给出一个非平凡实例。
- 后续竞价时段,用脚本对这些候选命题逐个做穷举或符号验证。大部分被迅速淘汰,但偶尔会有一个候选恰好命中要害。
- 最后几分钟,老人从幸存下来的候选中识别出一个有希望的构造,准备把它写成正式的证明框架。
关键点在于:人和模型的“接口”被设计得非常窄。不要问“你怎么证明这个定理”,而要问“请给出一个可能破坏某性质的有限群例子,规模在五阶以内”。后面这种问题,模型的幻觉空间很小,因为结果可以被立即验证;而前面那种问题,模型会自由发挥,给你一段漂亮但没用的废话。
2.3 实操视角:这跟普通人对LLM的使用习惯完全不同
多数人用LLM的方式是提问-接受答案,这对科普、写作、代码生成没问题,但用在数学研究上就危险了。我见过不少朋友让LLM“证明”某个不等式,结果模型给出一长串看似严密的推导,最后一步却偷偷交换了求和顺序,而这种交换在这个场景下不合法。模型不会主动告诉你它做了这个假设,只有人工审查才能发现。
那位老学者的做法显然更高阶:他根本不指望模型的“推导结果”,只利用它的“模式联想能力”。他负责提出候选结构,模型负责快速生成可验证的断言,再由脚本做机器验证。这是一个不需要信任模型推理能力、只需要信任模型检索和联想能力的设计,非常符合资深从业者的思维方式。
3. 快在哪:把“不可计算”的证明问题变成“可搜索”的机器验证
3.1 证明中的大部分体力活,其实是可以机械化的
很多人以为数学证明是一串连续的逻辑链,每一步都必须严格推导。但现实中,大量定理的证明里都含有可以机械验证的子任务:有限域上的枚举、某个参数区间的数值检查、特定结构是否存在反例、边界条件下不等式是否仍然成立。这些子任务放在三十年前当然也可以做,只是写代码本身同样耗时,而且最终写出的代码可能比证明本身还容易出bug。
LLM真正改变效率的地方,是它可以把“自然语言描述的数学命题”快速翻译成“可执行的验证脚本”。这一步在过去要花掉一个研究者半天到几天不等的时间,现在只需要几轮对话就能完成初版。虽然生成的脚本偶尔有错,但修起来也比从零写快得多。
3.2 一个可以带回家的示例:自然语言到反例搜索脚本
为了让你更直观地理解这个工作流,我写一个极简的Python示例。假设你要验证某个组合命题:在n不太大的图上,某种局部性质是否必然导致某种全局性质。这段代码会枚举所有小规模图,检查是否存在反例。你完全可以让Claude根据你的命题自动生成类似代码。
import itertools def has_property_p(vertices, edges): # 这里定义你要验证的局部性质 # 以"图是否连通"为例,仅作演示 ... def implies_property_q(vertices, edges): # 这里定义你期望推出的全局性质 ... def find_counterexample(max_n=7): for n in range(1, max_n + 1): verts = list(range(n)) all_possible_edges = list(itertools.combinations(verts, 2)) for mask in range(1, 1 << len(all_possible_edges)): edges = [all_possible_edges[i] for i in range(len(mask)) if (mask >> i) & 1] if has_property_p(verts, edges) and not implies_property_q(verts, edges): return verts, edges return None result = find_counterexample(max_n=7) print("找到反例:", result)这个示例的要点不是代码本身,而是转换过程。一个数学命题,只要你能把它拆成“有限范围内可枚举”的形式,模型就能帮你生成对应的脚本;脚本一跑,几秒钟内你就能知道这个命题在小规模情况下是否成立。如果成立,你有了信心去证明它;如果不成立,你白捡一个反例,还省掉了手工试错的时间。
3.3 没有人为筛选,大模型只是噪音发生器
在我自己处理某个线性代数式化简问题的时候,Claude给了我一个奇怪的变量替换方案,我当时觉得它大概是错的,但顺手验了一下,发现它居然让一个原本要展开四十多项的式子缩成了三项。这个经历让我意识到,这类模型在生成“非显然候选”方面比人类更不按套路出牌——它们不受制于“主流数学社区都认为该怎么做”的这种隐性共识。
但反过来说,这种发散性也意味着95%的生成结果都是无用的。这时候,人的筛选能力就变得至关重要。那位老人拥有的并不是生成能力,而是“一眼看出哪条路值得走下去”的判断力。这个判断力,才是他几十年经验的真正价值所在。一个研究生也许能理解模型的输出,但缺少那种在杂乱信息里快速抓取关键结构的直觉。
4. 验证这道坎:AI产出的只是候选物,最后一公里仍然只能靠人
4.1 任何“看起来对”的结果都只是假设,必须走完严格证明
即便那一个小时里出现了一个令人兴奋的构造,它离“正式破解悬案”也还有相当远的距离。数学共同体承认一个新结果,靠的从来不是某个人的口头宣称,而是完整可核验的证明文本。这个文本里每个符号、每个条件、每步推导都要经得起同行审阅,最好还能用形式化验证工具把关键步骤变成机器可检查的推理链。
我记得某图像处理Demo项目里也见过类似情况:一个启发式算法在测试集上跑出了极好的指标,大家都很兴奋,结果一检查,发现数据预处理阶段有个bug,导致部分标签错位。那次事故之后我养成一个习惯——任何模型产出的“好结果”,第一反应永远是找反例,而不是庆祝。数学研究里要是跳过这一步,后果只会更严重。
4.2 最容易翻车的三个地方:特例、定义域、隐含假设
AI生成的候选证明,或者由AI辅助推导的结论,最常见的翻车点无非这么几类:
- 特例遗漏:某个结论对大部分情况成立,但恰好在一组边界值上失效。比如组合不等式在变量取0或1时可能出现反向,而AI的推导往往假设所有变量都是正数。
- 定义冲突:同一个符号在问题背景里可能有约定俗成的含义,但模型在生成文本时给了它另一个定义,导致后面所有步骤都建立在错误基础上。
- 隐含假设:模型在推导中偷偷加了一个题目里并不存在的条件,比如假设某个矩阵可逆、某个函数连续、某个图连通。这种错误尤其隐蔽,因为每一步单独看都对,连起来却什么也没证明。
那位老学者遇到的情况我不清楚细节,但按照学术惯例,他会把初步成果先写成预印本,交给几个信任的同行看,再根据反馈修改,最后才正式发表。这个过程可能又需要几个月。即便AI能在第一个小时给出关键的“钥匙”,配齐整个证明的锁芯、弹簧和门框,依然需要大量人类的细致劳动。
4.3 复现和同行验证:消息传开之后的集体检验
按照社群里的后续反馈,消息传开之后,有好几个团队开始尝试复现那个关键构造,也在尝试从不同方向补全证明。这种集体检验模式,其实是数学行业几百年来最有效的质量保障机制。一个人可能被骗,但多组独立团队用不同方法朝同一个目标推进时,错误很快会暴露。
我特别欣赏这种氛围——没有人因为“图灵奖得主用了AI”就盲目接受,大家都是拿到结果后先检查逻辑,再组织自己的验证工具。换而言之,AI只是把到达候选解的时间压缩了,而候选解之后的流程一如既往严谨。这也是我认为这篇讨论最值得被记住的部分:AI不会取消验证,AI只是让更多人有机会参与验证。
5. 这件事真正改变我工作方式的一点:先把难题压成可秒级验证的小断言
如果让我从这次事件里提炼一条最实用的建议,那会是:无论你在哪个领域使用大模型辅助工作,先学会把大问题拆成“几秒钟内就能得到明确反馈的小问题”。这一招在数学研究里有效,在代码调试、文案写作、数据清洗里同样有效。
我现在处理一个不清楚的背景时,已经很少让模型直接给完整方案了。我会先让它给三个候选方向,每个方向配一个最小的实验设计,然后手动挑一个最顺眼的,快速验证。验证通过再继续深入,验证失败就换下一个方向。整个循环跑得飞快,而且因为每一步都有确定性的判断依据,很少会被模型带进死胡同。
顺便说一句,我也见过有朋友试图让AI自动生成“完整的数学证明框架”,说这样可以省去人工检查。我的态度很明确:模型给出的推导可以当作起点,但它每一个关键步骤都必须能被独立验证。如果哪一步无法转化成脚本或者无法用手工推导复核,那它在我的流程里就不算数。这不是保守,而是对自己工作成果负责的基本修养。
那位八十多岁的图灵奖得主能在一小时里打开局面,本质上就是把这套“缩小问题、快速验证”的方法用到了极致。他的速度来自判断力,而判断力来自几十年积累的模式库。AI提供了执行带宽,但那个“知道该验证什么”的头脑,才是整个链条里最无可替代的部分。对我来说,这就是这次事件最有价值的启发。