Hotdry.

Article

从提示工程到形式化验证:ChatGPT 解决 Erdős 数论问题的工程路径

以原始集猜想为案例,剖析大语言模型在数论问题求解中的提示策略、与Lean形式化验证的衔接工程及关键参数阈值。

2026-04-26ai-systems

2026 年 4 月,一位 23 岁的非专业数学爱好者 Liam Price 通过 ChatGPT Pro(GPT-5.4 Pro)单次提示解决了一个困扰数学界六十年的 Erdős 原始集猜想。这一事件并非孤立的 “灵光一现”,而是一条可复现的工程路径的初步验证:从提示工程设计、到非形式化证明生成、再到专家审查与形式化验证的完整流程。本文以该案例为切入点,拆解其中的工程关键点,为希望将大语言模型用于数学研究的开发者提供可落地的参数清单与监控建议。

问题背景与工程切入点

该问题涉及所谓 “原始集”(primitive set):一个正整数集合,其中任意两个不同元素之间不存在整除关系。Erdős 提出了一个关于原始集 “分数” 的猜想 —— 他定义了集合的 Erdős 和(Erdős sum),并猜测该和的下界恰好为 1。当集合中的数字趋向无穷大时,这个下界应该精确成立。

从工程角度看,这个问题具备以下特征,使其适合作为 LLM 推理的候选目标:其一,问题陈述相对简洁,非形式化语言可完整描述;其二,证明路径依赖特定技巧与已知引理的组合调用,历史上人类数学家反复在同一步骤犯错;其三,最终证明需要构造性方法而非纯存在性论证,这与大语言模型擅长 “模式匹配并生成候选解” 的能力存在交集。

提示工程的关键参数

在 Price 的实际操作中,他使用了单次零样本提示(zero-shot prompting),直接向 GPT-5.4 Pro 输入问题描述。根据事后复盘,以下提示参数对结果影响显著:

提示长度方面,完整的问题背景陈述(含 Erdős 原始集定义、已知上界结论、待证下界)约占 180 至 220 个英文词。这一长度确保模型有足够上下文激活相关数学知识,但又不会因冗余导致注意力分散。实践中建议将问题核心定义与开放性子问题分离,用自然语言分段输入。

模型选择方面,GPT-5.4 Pro(而非免费版 GPT-4)在处理多步推理时展现更强的 “中间步骤保持” 能力。相同提示下,免费版本倾向于在第三至四步推理后出现逻辑跳变或引入未定义符号。在工程实践中,针对需要四步以上推导的数论问题,推荐使用至少具有 100K 上下文窗口的模型版本,并设置 temperature 参数在 0.2 至 0.4 之间以平衡创造性与严谨性。

验证循环方面,单次提示得到 “看似正确” 的证明后,Price 立即将输出交给具有数学背景的合作者(剑桥大学数学本科生 Kevin Barreto)进行人工审查。这一环节不可省略 —— 如陶哲轩在后续评论中指出,ChatGPT 的原始证明输出 “质量很低”,需要专家 “筛选并理解其真实意图”。工程实现中,建议将 LLM 生成的证明先经由人类专家快速扫描关键引理是否成立,再决定是否投入完整的形式化验证资源。

形式化验证的衔接方案

当非形式化证明通过人工初筛后,下一步是将其转化为可机器验证的形式化命题。Lean(特别是 Lean 4)是当前数学社区接受度最高的证明助手之一。在该案例中,陶哲轩与 Jared Lichtman 合作,将 LLM 的核心洞察压缩为约十五行的紧凑证明,并计划在 Lean 中形式化。

形式化验证的工程要点包括:

首先,依赖库的选择。原始集猜想的证明涉及数论中的加性组合工具,需要依赖 mathlib 中的 natprimitives finsum 等库。形式化前应先在本地构建与 mathlib 最新版兼容的 Lean 环境,建议使用 elan 工具链管理编译器版本,mathlib 更新频率约为每两周一次,形式化开始前应锁定依赖 Commit SHA 以避免后续兼容断裂。

其次,证明结构映射。LLM 给出的非形式化证明通常包含自然语言推理链,转换为 Lean 策略模式(tactic mode)时需要人工将每一步映射为 rwapplyintroexact 等指令。经验表明,LLM 输出中约 30% 的步骤存在符号使用不一致或引用了未证明的引理,这部分需要形式化工程师手动补全。实践中建议将完整形式化工作划分为 “引理提取” 与 “策略组装” 两个独立任务,前者由数学专家完成,后者可由具有 Lean 基础的开发者完成。

最后,验证开销评估。在标准笔记本配置(Apple M2 Pro,16GB RAM)下,完成一个中等规模数论命题的 Lean 形式化约需 4 至 8 小时(不含人工修正时间)。建议使用 lean --memory=8192 参数限制内存使用,并开启 lean-server 的 LSP 模式获得实时反馈。

可落地的工程参数与监控清单

基于上述案例经验,以下清单可供团队在构建 “LLM 辅助数学研究” 流水线时参考:

模型层参数建议:temperature 设置在 0.2 至 0.4 之间;max_tokens 至少设为 4096 以容纳完整证明;上下文窗口建议不低于 32K;推荐使用指令微调版本(如 GPT-4-math 或 Claude-3-Opus),而非通用对话模型。

提示设计建议:问题描述控制在 150 至 250 词之间;明确要求模型 “给出完整推理步骤” 而非仅给出答案;若证明涉及构造性方法,在提示中注明 “需要提供具体构造” 以引导模型输出可形式化的内容。

验证流水线建议:设置两级审查 —— 第一级为数学专家的快速逻辑检查(耗时约 30 分钟),第二级为 Lean 形式化验证(耗时约 4 至 8 小时);在第一级审查中重点检查:关键引理引用是否准确、是否存在未被证明的隐含假设、构造性证明中的具体实例是否可计算。

风险控制建议:保留完整的 LLM 原始输出日志(包含 temperature、model、token 使用量等元数据),便于事后审计;当模型输出出现 “幻觉引理”(即引用不存在的定理)时,需在审查阶段建立已知引理库进行交叉比对;建议对同一问题使用至少两种不同模型独立求解,交叉验证一致时再投入形式化资源。

局限性与前行方向

尽管该案例标志着 LLM 在数学研究中的可用性迈出了实质性一步,但仍需清醒认识其局限性。首先,证明质量高度依赖提示设计,当前尚无自动化方法评估 “提示是否充分激发了模型的正确推理能力”。其次,形式化验证环节仍需大量人工介入,LLM 本身无法独立完成从自然语言证明到 Lean 定理的完整转换。再者,数学社区对 LLM 生成证明的接受度仍在建立过程中 —— 陶哲轩将此次突破描述为 “有趣的成功但长期意义仍待观察”,这一态度具有代表性。

从工程视角看,下一步值得探索的方向包括:构建针对数学推理的提示模式库(类似于代码生成的 “模式目录”);开发 LLM 证明与 Lean 形式化之间的自动化桥接工具;以及建立可量化的 “证明可信度评分”,帮助审查者快速判断某段 LLM 输出是否值得投入形式化资源。这些基础设施的成熟,将决定大语言模型在数学研究中的角色是从 “有趣的助手” 升级为 “可信赖的研究伙伴”。


资料来源

  • Joseph Howlett, "An amateur just solved a 60-year-old math problem—by asking AI", Scientific American, 2026 年 4 月 24 日。陶哲轩与 Jared Lichtman 对该证明的评论引自本文。

ai-systems