☰
ChatGPT破解千禧难题?低复现率背后的AI数学科研真相
2026/10/18 4:37:59 网站建设 项目流程

刚看到“ChatGPT能破解千禧数学难题”的时候,我的第一反应是:好家伙,这标题也太唬人了。可紧接着又刷到另一个统计,说涉及大模型辅助科研的论文,复现率低到13.98%。这两个消息放一起,就像前脚有人夸你跳了三米高,后脚又公布你百米赛跑基本每回都摔。我平时的工作就是大量接触AI辅助数学推导和论文复现,说实话,刚看到这组数据时我也觉得矛盾,翻来覆去看了几轮资料才想明白:这两件事其实根本不冲突,它们描述的根本不是同一层科研能力。

这篇东西想跟你掰扯清楚的,就是这组矛盾数字背后的逻辑:所谓的“破解千禧难题”到底做到了什么程度、13.98%这个低复现率是怎么被统计出来的、为什么两者能同时成立,以及如果你自己也想把大模型用进研究里,哪些场景真能落地、哪些场景目前就是个雷区。无论你是研究生、刚接触AI辅助科研的年轻学者,还是单纯对“AI能不能搞数学”感兴趣的人,这篇都值得读下去。我尽量不用玄乎的术语,把话往白里说,该给的操作细节和踩坑经验也会直接给到。

1. 先把这个矛盾拆开看:一边是“顶级难题”,一边是“低复现率”

很多人看到“破解千禧难题”和“13.98%复现率”放在一起,第一反应就是ChatGPT不行、AI造假、媒体吹牛。但真实情况往往更平淡,也更值得琢磨。要理解这两件事为什么能在同一个行业里同时发生,得先逐层把两个消息各自的真实含义拆开。

1.1 “AI破解千禧难题”到底指什么

千禧年大奖难题是七个数论与分析领域著名难题的合称,包括黎曼猜想、P对NP问题、纳维-斯托克斯方程的正则性等。任何宣称“破解”这些问题的说法,都必须先回答一个关键问题:破解到什么程度算破解?

实际出现过的所谓“AI破解”事件,绝大多数并不是模型真把黎曼猜想写成了一个完整的、被全人类认可的证明。更常见的情况是下面几种:

  • 模型针对其中一个子问题给出了新的构造思路,比如某种特殊函数的展开形式。
  • 模型生成了一段推导链,人类数学家顺着它往下走,发现其中某个引理是新的、可验证的。
  • 模型在对话里给出了一种等价转化,把原问题映射到另一个已知领域,后续研究者根据这个提示做出了实际成果。

我在自己的研究里也体会过这种“阶段性成果”:模型给出了一段组合不等式分解的思路,单独看没有任何一个小步骤超纲,但组合起来确实帮我节约了几天试错时间。这类成果就是真实的,也确实值得宣传,但它和“用严谨的公理化语言完整证明了一个千禧问题”完全是两回事。

做一个生活化比喻:你想从山脚爬到山顶,AI画出了一张局部地图,其中一段路标得非常准,你按着它走,确实省了不少弯路。但整条登山路线它并没有走通,山顶也没有插上旗子。这就是“阶段性验证通过”,而非“全程走通”。

所以,“ChatGPT能破解千禧数学难题”这个说法的标准版本,应该是“在千禧问题的某个局部或相关问题上,大模型给出了有启发性的思路,且这个思路通过了人类或工具的验证”。理解了这一点,再看复现率,就不会觉得魔幻了。

1.2 13.98%复现率是怎么统计出来的

那个流传甚广的13.98%,一般被引用成“LLM相关论文复现率低至13.98%”。实际上这类统计大多来自某个团队对特定时间段内、一定数量论文样本的系统性复现检验。流程大致是:收集标题或摘要里明确提到用某种对话式大模型辅助完成科研工作(数学证明、代码生成、数据处理等)的论文,然后由独立复现团队严格按照论文描述去重跑实验,统计能够稳定复现主要结论的比例。

注意几个细节,这些细节决定了这个数字的适用范围:

  • 统计对象不限于“破解千禧难题”类别,而是一大批使用大模型的科研论文,数学只是其中一部分。
  • 复现标准通常分“完全复现”和“部分复现”。完全复现要求模型输出、关键实验数据、最终结论全部一致;部分复现只要求核心结论方向一致即可。放进13.98%里的多半是“完全复现”那一档。
  • 复现需要相同或等价版本的大模型、相同提示词、相同采样参数、相同算力环境。这四个条件只要有一个对不上,结果就可能跑偏。

换句话说,13.98%描述的不是“这些论文全在造假”,而是“在当前条件下,想让一个已发表的、用大模型帮忙做出来的研究结果被另一个人稳定跑出来,成功率很低”。这其实反映的是AI辅助科研目前缺乏工程化标准,而不是模型能力本身为负。

1.3 两个数字放在一起说明什么

把两件事叠在一起,就能看到一个清晰的结论:LLM在创造“一次性亮点”上确实有惊喜,但在“可重复、可维护、可交付”的工程维度上还非常稚嫩。

这两种属性有个专门的学术化说法:前者叫探索性价值,后者叫复现性价值。你可以在自家院子里用一个下午搭出个能走的机器人小车,这证明你懂机械和编程;但如果你想量产十万台同样的小车,那就得解决注塑模具、品控、供应链、售后一堆问题,两者难度不在一个量级。

“破解千禧难题局部”是其中一台炫酷的原型车;“复现率13.98%”则是量产线上惨淡的合格率。它们说的是同一个行业的两个阶段。这事儿放到任何一个工具演进过程中都成立:第一台珍妮纺纱机效率未必比手纺车高多少,但它证明了机器纺纱的可能性;真正改变世界的是后续几十年里把纺纱机变成稳定工业设备的人。

所以,对这组数字最准确的态度不是“AI吹牛被戳穿”,而是“AI在科研中的工程化成熟度还没有跟上它的能力兑现速度”。搞明白这一层,我们才有动力去追问:为什么复现这么难?以及,该怎么让它变简单?

2. 为什么复现率这么低:AI辅助科研的四道拦路虎

13.98%不是凭空掉下来的,它背后是四类很具体、很琐碎的原因。我自己在实际复现过几篇同类论文之后,只能说这个数字一点不冤。想提升它,先得知道它低在哪。

2.1 复现的定义与判据不一致

先说一个最隐蔽,却最致命的坑:不同论文对“结果成功”的定义根本不一样。

有的作者把“模型给出了一个可被形式化验证的证明脚本”当作核心成果,复现者只需要跑通脚本并验证正确性就算复现。有的作者把“模型生成了一段可读的推导链,且人工检查没发现漏洞”当作成果,这就不需要完全自动化验证,但需要人工判断。还有的论文,核心卖点就是“模型在对话中给出了若干有启发性的表述,我们在其基础上找到了证明”,这种“半成品”性质的成果,复现起来基本无解,因为你复现不出来“启发”本身。

我见过最典型的纠纷是这样的:某论文写“大模型提出了一个构造,我们将其形式化后证明了关键引理”。复现团队照着做,发现不同的提示词得到的构造不一样,偶尔能对上,偶尔不能。于是复现方判定“复现失败”,作者却坚称“你换个随机种子多跑几次就能复现”。双方在法庭上争执的核心,其实是“复现判据”没对齐,而不是模型真的不行。

打比方说,菜谱上写“加少许盐”,每个人对“少许”的理解都不同,做出来的菜味道当然千差万别。论文里如果不对“成功条件”做明确定义,复现率低就是必然的副产品。

2.2 实验链路太长,一处波动满盘皆输

LLM辅助科研的完整链路,比传统算法实验长得多。我拆了一下,大致是:数据清洗 → 提示词构造 → 模型推理 → 候选输出筛选 → 后处理(如转换为证明语言) → 人工标注 → 最终验证。这条链路里的每一环都可能有参数波动。

传统代码实验里影响结果的因素无非是随机种子、数据划分、超参数。到LLM这里就复杂了:模型权重版本、温度系数、top_p、max_tokens、系统提示词的措辞,甚至同一天不同时段API服务端有没有悄悄更新推理引擎,都会让输出变化。而很多论文只写了“使用某主流模型完成”,连版本日期都没标注,复现者想对齐都无从对齐。

有个朋友做组合优化,复现一篇论文时发现对方用的还是几个月前的旧版模型,而他已经按新版本去跑了,结果自然天差地别。这就像别人给了你一张地图,但地图上的标注用的是一套旧地名体系,你拿着一套新地名表去查,查到的都是错的。

更麻烦的是,有些论文连“提示词原文”都不公开,只给了一句概述:“我们让模型生成候选反例”。你可能得自己写提示词,而提示词在整条链路里恰恰是最敏感的一环,我把它单独拎出来说。

2.3 提示词与随机性被低估

提示词对LLM输出的影响,怎么强调都不过分。几个字的差异就可能让模型从“给出正确推导”变成“编造一套漂亮但错误的理论”。但很多论文作者自己没有意识到这一点,或是潜意识里认为这不重要,于是在论文里对提示词的描述非常模糊。

更隐蔽的问题是随机性。绝大多数对话式大模型在默认接口下不是确定性的,温度不为0,每次调用结果不同。有的论文展示的“优秀结果”,可能恰好是作者跑了20次之后挑出来的最好一次。复现者如果只跑一次,抽到的是普通结果甚至差结果,就会判定复现失败。这不是造假,而是把“偶发最优”当成了“稳定能力”。

我自己在做复现时有个习惯:只要是我要下结论的实验,至少跑5次并记录分布。如果5次里只有1次成功,我不会把这次当成代表性结果,这既是对自己负责,也是为了让论文经得起别人复现。可惜,不是所有人都这么做。

2.4 评估口径错位:能聊≠能证

大模型的表达能力极强,你让它聊数学,它能聊得头头是道,甚至每个括号、每个符号都像模像样。但“像模像样”不是“正确”,LLM生成的数学文本里经常藏着致命的逻辑跳跃,有时是漏了一个条件,有时是应用了一条并不成立的引理。

这就导致一个尴尬的局面:论文作者用肉眼检查模型输出,觉得“这个推理链看着没问题,我采用了”,但真正的形式化验证工具跑不过去;或者计算实验的某项结果只是巧合,换一个例子就崩了。

说白了,现在的大模型更像一个“极其自信的实习生”,它给你的往往不是答案,而是“答案的候选”。能聊出一个看起来合理的故事,跟能用公理体系严格论证一个定理,中间隔着十万八千里。复现者如果只拿着“能聊出来”作为成功判据,就容易被偶然性欺骗;如果拿着“完整验证”做判据,刷出来的复现率自然难看。

3. 从科研一线角度看,LLM在数学研究里到底能做什么

前面讲了那么多“不行”的地方,很容易让人产生反感:那这玩意儿到底还有没有用?我的答案是:有用,而且用处不小,关键看你把它放在什么位置上用。它不适合当“最终答案生成器”,但非常适合当“探索催化剂”。

3.1 真正可见效的三个场景

结合我和一些做理论研究的同行的真实使用经历,目前大模型在数学研究里最能落地的场景是这三个:

  • 反例搜索。给定一个猜想或假设,让模型尝试构造满足部分条件但不满足结论的小规模实例。这类任务容错率很高,模型生成100个实例里哪怕只有一个真反例,也值回票价,剩下的99个扔了也不心疼。
  • 文献与知识组织。让模型帮忙梳理某个研究分支的关键定义、已知引理和证明技巧,快速生成一份知识地形图,帮研究者定位“这个问题的突破口可能在哪个方向”。注意,这里必须把模型输出的文献来源全部人工核验,因为它可能编造出处,但“结构梳理”本身还是很有参考价值。
  • 证明框架建议。给模型描述一个目标定理,让它建议从哪些中间引理入手、可能用到哪些经典方法(比如归纳法、反证法、生成函数法)。它不会直接给出完整证明,但能帮你从一个更高的视角看到证明的路径组合。

这三类场景有一个共同点:它们都不要求模型“一次做对”,而是依赖“大量生成 + 人工判断”,模型犯错的成本被控制得很低。这是目前LLM在科研里的正确打开方式。

3.2 一个让我印象深刻的实操案例

有次我在做某个组合不等式问题时,卡在一个关键步骤上。随手把问题描述丢给模型,让它“构造一个满足约束A但不满足约束B的小例子”。前五轮它给的例子全部被我的验证脚本秒杀,不是不满足A,就是也满足了B,毫无价值。

我几乎要放弃,但第六轮它给了一个我完全没想过的参数组合。我当时也是习惯性丢进脚本里验,结果这组参数真的避开了B。我顺着这组参数反推结构,找到问题的关键边界,最终把证明补全了。

这事的启示不在于“模型聪明”,而在于“无监督生成+快速验证”的组合拳在探索性问题上是真好用。你不需要模型每次都对,只需要它偶尔提供一个人类惯性思维想不到的角度就行。

值得一提的是,如果当时第五轮我就停下,这个故事就是另一个结局。所以我的经验是:这种探索型提示词,至少得追问五到八轮,中途换个表达方式再来五轮,不要轻易放弃。投入的时间成本不高,收获可能是纯人工搜索完全绕不过去的墙角。

3.3 一个可参考的提示词模板与工作流

如果你也想在数学研究里试试水,可以直接从我用的这套提示词模板开始:

你是一名专业的数学研究助理。请针对以下命题: [粘贴你的命题] 按下面的要求进行分析: 1. 尝试构造一个3到5维的具体实例,要求尽可能接近满足条件B但不满足条件C; 2. 列出这个实例的明确数值参数; 3. 给出该实例中,为什么它满足B、但不满足C的推理过程; 4. 如果无法给出实例,请列出你认为最有希望构造成功的三个方向,并解释依据; 5. 给出一个可以被Python或SageMath执行的验证脚本模板。 请把每一项结果分开编号,不要混在一起。

这套模板有几个设计意图:第一,把目标拆成可验证的小步骤,避免模型泛泛而谈;第二,强制要求输出“可执行验证脚本”,这就把我们拉回到科学方法的地基上;第三,允许模型承认失败并给方向,这比让它硬编一个错误结果强得多。

配套的工作流也很重要,我建议固定一个实验记录表,内容至少包括:模型版本、模型温度参数、提示词版本号、输出时间、验证工具、验证结果。格式可以用简单的Markdown表格,半小时能维护完。这份记录不仅是复现的基础,也是你将来跟合作者解释“这个结论怎么来的”的唯一凭证。

4. 想把复现率拉上去,需要研究者、平台和评审一起改

13.98%这个数字,往小了说是一批论文质量的问题,往大了说,是整个学术圈还没为大模型时代准备好“质量标准”。要抬升这个数字,靠任何单方面努力都不够,得从研究者、模型平台、评审体系三个方向同时动刀。

4.1 研究者侧:把提示词当作实验变量来管理

很多研究者写传统算法代码时,会严格记录随机种子、数据版本、依赖环境,但一到大模型就放松了,觉得“提示词嘛,随便写写就行”。这种心态是复现率的最大杀手。

我自己在试过把一些提示词输出归档之后,就再也没法忍受“凭记忆复现”了。具体操作建议是:

  • 为每个提示词建立独立文件,文件名带版本号,例如prompt_v03_ineq_approach.md。改动提示词前先复制一个新版本文件,再在副本上改,绝对不在原文件上直接覆盖。
  • 在最终成文时,保证论文的附录或补充材料里有完整的提示词原文,一个标点都不能少。
  • 对使用了随机采样参数的实验,明确记录温度、top_p、max_tokens,并在可能的情况下固定随机种子。
  • 不要只保留“最美的那次输出”,把成功输出旁边的其他输出也存下来,这能避免日后合作者问“为什么我复现出来不一样”时陷入窘境。

这个过程本质上就是软件工程里的“可复现构建”思路:你写代码时都知道要锁依赖版本,做LLM实验时为什么就默认提示词不需要锁版本呢?

另外,强烈建议给关键结果建立“三明治验证”:原始输出留档、后处理脚本留档、最终计算验证脚本留档,三样东西缺一不可。有这套东西在手,你甚至不用等别人来复现,自己提前就算出来了复现成功率。

4.2 平台侧:提供可复现的模型版本与推理参数

研究者能做的只是规范自身,模型平台侧的配合才是真正的大头。为什么很多论文的复现失败?因为复现者根本拿不到跟原文一模一样权重和推理行为的大模型。

平台可以通过三件事大幅改善现状:

  1. 长期保留并公开具体时间周期的模型版本。哪怕一个模型今天发布,下月就更新,平台也得允许查询和调用“发论文那天用的那个具体版本”。如果没有版本锁定的能力,论文复现就是一个无条件赌博——你永远不知道今天调的模型和作者调的是不是同一个。
  2. 完整记录并给出采样参数接口。温度、top_p、seed等信息应该可以被完整设置并写入论文附录,平台不应当把采样参数当成暗盒不公开。
  3. 开放推理日志或推理脚本模板。至少让复现者能用一个官方推荐的脚本,一键重放“论文中提到的prompt → 模型输出”过程。

这三件事目前只有个别平台做到了前一半,大多数还停留在“我知道你说的是什么问题,但短期解决不了”的状态。好消息是,业界对这个问题的共识正在快速增加,把“模型版本”像软件版本一样对待,已经是迟早的事。

4.3 评审侧:把AI使用透明性写进审稿要求里

学术期刊和会议是论文质量的总闸门。如果评审环节对所有“用大模型做科研”的投稿一视同仁,不加额外约束,那低复现率就永远不会得到系统性改善。

我建议的落地方案很具体:投稿时要求作者额外提交一份“AI使用透明性声明”,内容至少包含:

  • 本论文是否在数据处理、定理证明、代码生成、文献综述等环节使用了AI工具;
  • 若使用,具体在哪几个环节使用了哪个模型的哪个版本;
  • 核心实验提示词的完整文本;
  • 每次关键实验的采样参数与随机种子;
  • 已获得的核心结果中,可完全复现和不可完全复现的比例各是多少。

评审系统还应该分档判断复现程度:弱复现要求核心结论方向正确、关键验证可跑通;强复现要求主要实验的输出完全一致。一篇论文哪怕只能做到弱复现,只要作者诚实声明且结果本身有启发,我认为也值得发表,但必须标注“复现等级”,让读者心里有数。

把这个机制立起来以后,高复现率的论文天然会获得更高的学术信誉,低复现率的论文也不是被一棍子打死,而是被贴上一个“初步探索”的标签,需要读者自行判断使用价值。这比现在一边疯狂宣传“AI改变科研”,一边让所有人在复现迷雾里互相猜疑要健康得多。

5. 说点真实体会:这组数字最该被记住的是哪一半

绕了一大圈,回到最初那组矛盾的数字上。我个人的看法是:不要太纠结13.98%像不像一记耳光,也不要把“局部破解千禧难题”当成AI已经封神的证据。这两个信息加在一起,其实是在给所有做AI辅助科研的人敲黑板:现在是大模型的探索红利期,但远未到可以放松复现标准的时候。

5.1 低复现率不等于“没用”,但等于“还没制造好”

一个工具如果复现率低,未必说明它没用,很可能说明它还没到能被当作标准工具的成熟度。望远镜刚发明时造出来十台有八台画面模糊,复现率也不高,但不影响它开启天文学革命。问题在于,我们不能因为画面曾有一次特别清晰,就假装其余八台模糊的问题不存在。

在数学研究里,LLM现在最合适的定位是“探索放大器”:帮你更快地遍历思路、更快地发现异常案例、更快地组织知识,而不是“自动证明机”。你让它直接生成最终定理的严谨证明,十次里大概率能给你一部看起来像《战争与和平》的错误大全。但你让它生成100个候选小例子、帮你找反例,它可能在第七轮给你一个真正有价值的线索。

这就像你在森林里找路,让AI当你的“侦察兵”而不是“向导”。向导带你走错一步就可能全盘崩坏,侦察兵报告十个方向里有九个错误也没关系,只要有一个方向是对的,你省下的时间就远超成本。

5.2 给想入局者的三个建议

如果你看到这个领域的热闹,也想把LLM引入自己的研究,我有三条很朴素的建议。

第一,从风险最低的任务入手。别上来就挑战“让模型证明某个猜想”,先让它做文献梳理、反例搜索这类一条路走不通也不会伤害你研究主线的工作。成功率不重要,探索效率才重要。

第二,从第一天起就记录一切。至少记清楚每次实验用的提示词版本、模型版本、采样参数,以及验证结果。宁可前期多花十分钟整理记录,也不要等论文被拒、合作者质疑时拿不出证据。

第三,所有AI输出都必须经过独立的验证环节。这条没有任何例外,哪怕你觉得那段推导漂亮得惊人,也一样要丢进形式化验证工具或写一段独立校验脚本去过一遍。漂亮是毒药,可验证才是解药。

我平时有个特别土但是特别管用的习惯:所有从大模型那边拿来的结论,我都要问自己一句“如果我是它的批评者,我会怎么攻击这个结果?”带着这个问题去检查,通常十几分钟就能发现至少一个薄弱点。这比盲目相信输出然后陷入复现困境强得多。

最后再分享一个小技巧。做LLM辅助数学探索时,如果你觉得模型给的结果“感觉哪里不对”但又说不出具体哪里不对,先不要急着重写提示词,试着让它“反过来解释三遍”:第一遍用通俗语言解释,第二遍用一个类比解释,第三遍用一个更简单、更小的例子解释。这个过程经常能让隐含的逻辑错误直接暴露出来,甚至帮你找到自己原问题里的隐藏假设。我在多次复现失败和成功之间,靠这一招躲过不少坑。希望这篇把关键道理讲明白的文章,也能让你少走几次弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询