Claude挑战黎曼猜想失败却刷新纪录,AI数学实验复现指南

Claude挑战黎曼猜想失败却刷新纪录,AI数学实验复现指南
这两天的技术社区几乎被“Claude 挑战黎曼猜想”这条消息刷了屏。新闻标题很有冲击力挑战失败却意外刷新了一项维持 37 年的数学纪录。不少读者跑来问我这事到底是真的吗Claude 具体做了什么我能不能在自己电脑上复现类似的 AI 数学实验先把话说在前面。关于“刷新 37 年纪录”的具体归属和严谨性目前公开信息并不统一在拿到同行评审论文之前任何结论都应该打一个问号。但抛开新闻本身这件事确实把“AI 如何参与数学研究”这个问题推到了台前也让我们重新审视 Claude Code 这类工具在科研工作流中的真实位置。本文就以此为切入点先讲清楚黎曼猜想和 AI 的能力边界然后从零搭建 Claude Code 环境用 Python 复现一次可验证的数学探索实验最后把安装和运行中的高频问题一并梳理掉。如果你是纯新手可以按顺序阅读重点看环境搭建和实战案例如果你已经有基础可以直接跳到第 4 节和第 5 节的排错清单。1. 事件背景黎曼猜想与 AI 的一次正面交锋1.1 黎曼猜想到底是什么黎曼猜想Riemann Hypothesis简称 RH是数学史上最著名的未解决问题之一由德国数学家 Bernhard Riemann 在 1859 年提出。它讨论的对象是黎曼 zeta 函数它的定义可以写成级数形式ζ(s) 1 1/2^s 1/3^s 1/4^s ...其中 s 是复数。这个函数本身并不复杂但它的零点分布却藏着关于素数分布的深层规律。Riemann 在研究素数计数函数时发现zeta 函数在复平面上的非平凡零点即不落在负偶数上的零点似乎全部集中在一条直线上也就是实部等于 1/2 的那条“临界线”。黎曼猜想说的就是zeta 函数的所有非平凡零点的实部都等于 1/2。这里要解释两个容易混淆的点。第一非平凡零点是复数比如第一个非平凡零点大约是0.5 14.134725i虚部是无穷无尽的第二zeta 函数在负偶数-2, -4, -6, ...上也有零点这些叫平凡零点不在猜想的讨论范围内。黎曼猜想的难点在于数值计算已经验证了数万亿个零点都落在临界线上但“所有零点都满足”这个全称命题至今没有人能严格证明。为什么这个猜想如此重要因为素数的分布与 zeta 函数零点直接相关。如果黎曼猜想成立数学家就能精确描述素数在自然数中的分布偏差这会影响数论、密码学乃至量子物理等多个领域。它也是克雷数学研究所列出的七个“千禧年大奖难题”之一每个问题悬赏一百万美元。正因为重要黎曼猜想一直是数学家、程序员甚至业余爱好者反复冲击的目标。1.2 Claude 挑战黎曼猜想的报道与争议回到这次事件。根据目前的公开报道Claude 在尝试挑战黎曼猜想时并没有完成最终证明从“解决猜想”这个角度看确实是失败了。但有意思的是在探索过程中它产生了一个数学结果媒体称这个结果刷新了一项维持 37 年的数学纪录。这里需要特别提醒目前我们能看到的信源基本都是媒体报道和社区讨论还没有一篇经过完整同行评审的论文作为支撑。也就是说“37 年纪录”具体指哪一项成果、当时的计算条件是什么、结论是否被验证这些问题都还没有定论。我不建议大家在信息不全的情况下把“AI 证明了 XX”这类结论转发到朋友圈。那这件事就完全没有价值了吗也不是。它的价值在于展示了一种新的科研协作方式AI 不再只是帮你写代码、做表格的助手而是可以参与“提出假设 → 设计实验 → 数值验证 → 结果分析”的完整研究链条哪怕最终没有证明猜想中间产生的副产品也可能有独立价值。“失败”的实验留下有用的纪录这在人类数学史上也反复出现过。1.3 失败不等于没价值为什么“意外纪录”更值得注意数学史上有一个常见现象大量突破来自“失败的尝试”。比如为了证明某个猜想研究者构造了新的工具或方法虽然没证出原目标但新工具本身解决了另一个问题。这次 Claude 的事件本质上也是同一个逻辑——目标失败副产品成功。从技术层面看Claude 这类大模型在数学探索中有几个相对擅长的地方快速生成候选思路面对一个开放问题AI 可以短时间内给出多种切入方向虽然大量思路是无效的但其中可能隐藏着人类忽略的角度。自动化数值实验AI 可以生成代码去扫描、搜索、统计代替人类完成重复性的验证工作。模式发现在大量数值结果中找规律正是当前大模型比较擅长的“模式匹配”能力。但它也有明显的短板形式化证明的每一步都需要严格推理当前大模型仍然容易出现“看似合理、实则跳跃”的推导。这也是为什么我这篇文章的标题里“失败”要打引号——它的意义不在于是否证明了猜想而在于让更多人意识到AI 已经能参与到数学研究的早期探索阶段了。2. 开发者视角这则新闻的技术启示2.1 AI 从对话工具变成“科研脚手架”过去一年里很多开发者对 AI 的使用停留在“对话式编程”我问一句它答一句我复制代码到项目里。但 Claude Code 这类命令行工具把这套模式往前推进了一大步——它不再只是回答你的问题而是能直接在你的项目目录里读取文件、修改文件、执行命令像一个坐在你旁边的结对编程工程师。在数学研究场景里这个变化很关键。因为数学实验往往是一连串动作写脚本、跑数据、改参数、看结果、再写脚本。如果 AI 只能给代码片段研究者还得手动复制粘贴如果 AI 能直接操作文件系统整个实验循环的效率就完全不同了。这次 Claude 挑战黎曼猜想的事件背后很可能就是类似的工作方式——AI 不断生成数值实验代码人力负责审查和判断方向。2.2 AI 数学研究的三层能力边界为了不把 AI 神话也为了让你以后看到类似新闻时心里有数我把 AI 参与数学研究的能力分成三个层次能力层次典型任务当前可靠性人工介入程度第一层数值计算与实验设计扫描零点、统计步数、拟合曲线较高需要审查代码逻辑第二层符号推导与公式变换化简表达式、求导、级数展开中等需要逐步验证第三层证明构造与逻辑推理构造完整证明、处理“任意/存在”量词较低必须由人严格检查第一层是指令明确的、可被计算机自动验证的任务AI 做得很稳第二层虽然能给出结果但中间步骤可能出错第三层是真正的数学研究核心目前大模型只能提供“草稿”离“证明”还有距离。看到“AI 证明 XX”的标题时你可以先用这个框架判断一下它做的是数值实验还是构造了逻辑上自洽的证明这两种情况的含金量完全不同。2.3 我们能复现什么不能复现什么基于上面的能力框架普通开发者能复现的是“AI 辅助数学探索”的完整工作流而不是“AI 证明黎曼猜想”这种级别的成果。具体来说我们可以复现以下实验用 Python 在临界线上扫描 zeta 函数的前 N 个零点验证它们确实落在实部 0.5 的直线上。用脚本统计 Collatz 猜想冰雹猜想在一定范围内的收敛步数观察最大值分布。让 Claude 根据统计数据提出可验证的假设再写代码去验证或否定。这些实验虽然不能证明任何大猜想但它们能让你真实感受到“AI 生成代码 → 运行实验 → 分析结果 → 提出假设 → 再验证”这套循环是怎么运转的。这也是我从这次新闻里读出的最大价值。3. 环境准备搭建 Claude Code 研究环境3.1 Claude Code 与 Claude 的区别很多读者混淆两个概念Claude 是模型Claude Code 是官方推出的命令行编程工具。你可以把 Claude Code 理解为一个“带终端操作能力的客户端”它内置了 Claude 模型同时封装了文件读写、命令执行、上下文管理等功能。在科研场景中我们通常希望工具能自动化地处理文件和数据因此 Claude Code 比网页版更适合作为研究流水线的一环。如果你主要用 VSCode也可以从应用市场搜索安装对应的 Claude Code 扩展把 AI 能力嵌入到编辑器里。不过本文的核心例子都用命令行完成因为命令行最容易脚本化、最容易复现。3.2 安装前置条件在开始之前请先确认你的机器满足以下条件操作系统Windows 10/11、macOS 或主流 Linux 发行版均可。Node.js建议 18 或更高版本具体以官方要求为准。包管理器npm通常随 Node.js 一起安装。一个可用的 Claude 账号或 API 配置具体开通方式请以官方渠道说明为准。打开终端先检查 Node.js 和 npm 是否已经安装node -v npm -v如果提示node 不是内部或外部命令说明 Node.js 没有安装或没有加入 PATH需要先安装 Node.js。安装完成后重新打开终端再执行上面的命令。3.3 安装与验证确认环境无误后使用 npm 全局安装 Claude Codenpm install -g anthropic-ai/claude-code安装过程会输出一些进度信息最后可以通过下面命令验证是否安装成功claude --version如果能打印出版本号说明安装成功。如果提示找不到命令请直接跳到第 5 节的排查清单那里列出了最常见的几种报错和解决方案。安装完成后在项目目录中直接运行claude会进入交互式对话界面你可以向它提问也可以让它读取当前目录下的文件。对数学实验来说通常的用法是先准备好实验脚本和结果数据再让 Claude 分析结果并提出下一步假设。4. 实战案例用 Claude Python 复现一次数学探索4.1 选择一个安全的实验对象既然黎曼猜想级别的实验我们做不了我选两个既有数学味道、又能在普通笔记本上运行的对象zeta 函数零点扫描和 Collatz 猜想步数统计。前者和黎曼猜想直接相关能让你亲手验证“前几个零点确实都在临界线上”后者简单直观适合演示 AI 辅助假设生成的完整流程。先交代一下环境假设你已经装好了 Python 3.9 或更高版本并且能用 pip 安装第三方库。下面我们创建一个实验目录mkdir ai-math-lab cd ai-math-lab4.2 安装 Python 数学依赖我们需要用到mpmath这个高精度数学计算库。安装命令pip install mpmath安装完成后可以写一个最简单的导入测试python -c import mpmath; print(mpmath.__version__)4.3 编写 zeta 函数零点扫描脚本在项目目录下新建一个文件zeta_scan.py内容如下 文件路径ai-math-lab/zeta_scan.py 目标在临界线 Re(s) 0.5 上取前 5 个非平凡零点并回代验证。 注意这是数值实验不是黎曼猜想的证明。 from mpmath import mp, zetazero, zeta # 设置 20 位有效数字避免浮点误差干扰判断 mp.dps 20 print(开始扫描 zeta 函数前 5 个非平凡零点...\n) for n in range(1, 6): z zetazero(n) # 第 n 个非平凡零点 v zeta(z) # 把零点代回 zeta 函数理论上应接近 0 residual abs(v) # 残差越小说明数值上越接近真正的零点 real_diff abs(z.real - 0.5) print(f第 {n} 个零点: s {z}) print(f 回代残差 |zeta(s)| {residual:.2e}) print(f 实部与 0.5 的差值 {real_diff:.2e}\n) print(扫描完成。所有零点均落在临界线上这是数值支持而非严格证明。)在终端运行python zeta_scan.py预期会看到类似下面的输出第 1 个零点: s (0.5 14.13472514173469379046j) 回代残差 |zeta(s)| 1.93e-19 实部与 0.5 的差值 0.00e00 第 2 个零点: s (0.5 21.02203963877155499263j) 回代残差 |zeta(s)| 2.33e-19 ...这里输出的残差是基于 20 位有效数字计算后的浮点误差数量级在1e-19左右说明这些点确实是高精度意义上的零点。你可能会疑惑这不就是 mpmath 现成的函数吗算不算作弊确实zetazero是现成的接口但它的意义在于让你亲手完成“取点 → 回代 → 判断”的完整验证闭环这也是 AI 辅助数学研究中最重要的思维习惯任何来源的结论都要能独立复现。4.4 用 Claude 辅助分析结果接下来我们把结果交给 Claude让它提下一步假设。新建一个results.txt把上面程序的输出粘贴进去然后在终端运行claude在对话中贴入下面的提示词模板你是我的计算数论研究助手。我已经用 Python 验证了 zeta 函数前 5 个非平凡零点 都落在临界线 Re(s) 0.5 上结果存在 results.txt 中。 请帮我做三件事 1. 解释为什么这种数值验证不能证明黎曼猜想 2. 提出 2 个可以进一步验证的具体实验要求能在普通笔记本上运行 3. 不要声称你已经证明了任何结论输出格式为实验名称 - 验证方法 - 可能的结果解读。Claude 可能会建议你扫描更大的虚部范围、统计零点虚部之间的间距分布、或者验证零点间距与随机矩阵理论特征的相似性。这些建议并不保证都能成功但正好体现了“AI 提出假设、人类判断可行性”的协作模式。拿到建议后你可以挑选其中一条继续写代码验证。比如如果它建议扫描更大范围你可以把第 4.3 节代码里的range(1, 6)改成range(1, 101)观察 100 个零点的实部是否仍然全部等于 0.5。整个过程就是一次完整的“AI 辅助科研”闭环。4.5 第二个实验Collatz 猜想步数统计为了展示 AI 在“规律探索”上的价值我们再写一个 Collatz 猜想的统计实验。Collatz 猜想的规则很简单任意取一个正整数 n如果它是偶数就除以 2如果是奇数就乘以 3 再加 1不断重复最终总会变成 1。这个猜想至今没有被证明。新建文件collatz_scan.py 文件路径ai-math-lab/collatz_scan.py 目标统计 1~10000 范围内所有数字的 Collatz 收敛步数找到步数最多的数字。 注意Collatz 猜想本身尚未被证明这里只做数值统计。 def collatz_steps(n, max_steps1_000_000): 返回数字 n 收敛到 1 所需的步数如果超过 max_steps 视为异常。 steps 0 current n while current ! 1: if current % 2 0: current // 2 else: current 3 * current 1 steps 1 if steps max_steps: return -1 return steps max_n 10_000 max_steps 0 record_holder 0 for n in range(1, max_n 1): s collatz_steps(n) if s max_steps: max_steps s record_holder n print(f在 1~{max_n} 范围内收敛步数最多的数字是 {record_holder}步数为 {max_steps})运行python collatz_scan.py输出类似在 1~10000 范围内收敛步数最多的数字是 6171步数为 261这个结果本身没什么“伟大”但把它交给 Claude 分析时它能给出很多值得验证的方向比如“步数最多的数字是否和 2 的幂相关”“不同区间的记录数字是否有规律”“奇偶交替的节奏是否影响步数”。你可以继续生成分组统计代码验证这些假设是否在更大范围内成立。这就是把 AI 当成科研脚手架的正确姿势它负责提出问题和写代码你负责设计验证方案和判断结论。5. 常见问题与排查清单在实际安装和使用 Claude Code 的过程中最容易卡住的是环境问题。下面把网络社区里出现频率最高的几类报错整理成表格并附上解决思路。问题现象常见原因解决思路claude : 无法将“claude”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。npm 全局 bin 目录没有加入 PATH执行npm prefix -g找到全局安装路径手动加入系统 PATH 后重开终端claude 不是内部或外部命令也不是可运行的程序或批处理文件。同上Windows CMD 下 PATH 缺失同上或在安装时留意 npm 输出的安装目录error: claude native binary not installed. either postinstall did not runnpm 安装过程中 postinstall 脚本未执行成功重装npm uninstall -g anthropic-ai/claude-code然后重新执行安装必要时清理 npm 缓存npm cache clean --force启动时提示网络错误或超时网络环境不稳定或需要配置代理检查网络连通性如果公司网络有防火墙策略需要按合规方式配置访问出现 529 错误或unfortunately, claude is not available to new users right now服务端容量限制或账号权限问题等待一段时间重试检查账号是否在可用区域和可用名单内your organization has disabled claude subscription access企业组织策略禁止使用联系组织管理员确认订阅权限或使用个人账号环境VSCode 中无法调用 Claude Code扩展未正确识别命令行工具先确认终端中claude --version可用再重启 VSCode 或重新加载窗口5.1 “claude 不是内部或外部命令”的详细排查这是新手最常见的问题。它的本质是npm 已经把 Claude Code 装到了某个目录但这个目录不在系统的可执行文件搜索路径里。按下面四步排查第一步查看 npm 全局安装路径npm prefix -g在 Windows 上通常会输出类似C:\Users\你的用户名\AppData\Roaming\npm这样的路径在 macOS 或 Linux 上通常是/usr/local或~/.npm-global。第二步进入该目录确认claude或claude.cmd文件是否存在。如果不存在说明安装没有成功重新执行安装命令。第三步把该目录加入 PATH。Windows 用户可以打开“系统属性 → 环境变量”在用户变量Path中添加上面的路径macOS/Linux 用户可以在~/.zshrc或~/.bashrc中添加export PATH$PATH:$(npm prefix -g)/bin第四步重新打开终端再执行claude --version验证。5.2 “error: claude native binary not installed”的处理这个报错出现在安装过程中提示 npm 的 postinstall 脚本没有把原生二进制文件准备好。常见原因包括npm 缓存了旧的安装包、磁盘权限不足、安装过程中网络中断。推荐的重装流程是npm uninstall -g anthropic-ai/claude-code npm cache clean --force npm install -g anthropic-ai/claude-code如果依然失败可以查看 npm 的执行日志定位具体错误。注意不要擅自用管理员权限强行绕过权限检查先确认是不是目录权限问题再决定是否需要调整。5.3 其他高频问题还有两类问题值得单独提一下。一是 529 错误这通常不是本地问题而是服务端负载过高或账号受限建议等待一段时间后重试不要反复刷新加重压力。二是企业组织限制如果你用的是公司统一分发的账号可能被策略禁止使用 Claude Code这时只能联系管理员或者在自己的个人环境中完成实验。另外社区里讨论的“Claude Code 接入其他模型服务”“本地离线部署”等玩法属于进阶配置不同版本的兼容性差异很大而且涉及 API 网关、模型适配等一堆前置条件。对新手来说不建议一开始就折腾这些先把官方默认流程跑通再考虑定制化。6. 最佳实践让 AI 成为可靠的研究助手6.1 提示词结构化的五个要点从这次事件和日常使用经验来看想让 Claude 在数学类任务中输出更可靠的内容提示词最好满足五个要求明确角色告诉它“你是计算数论研究助手”而不是含糊地说“帮我看看”。给出背景把实验环境、数据文件、已确认的事实一起贴给它减少猜测空间。限定任务范围一次只让它做一件事比如“分析结果并提出 3 个可验证假设”不要同时要它证明定理。要求输出格式指定“输出格式为实验名称 - 验证方法 - 可能的结果解读”方便后续操作。声明边界在提示词里明确说“不要声称你证明了任何结论”这能在很大程度上降低它编造结论的概率。6.2 验证优先永远不要直接信任结论这是最重要的一条建议。AI 生成的所有数学结论都应该被当成“待验证的候选结果”而不是“答案”。我在第 4 节反复强调“回代验证”就是希望大家养成这个习惯。具体操作上可以遵循以下验证原则代码生成后先人工读一遍关键逻辑确认没有明显错误再运行。数值结果要有理论预期比如 zeta 零点回代后残差应该接近机器精度如果残差很大说明候选点不是零点。涉及“所有”“任意”这类全称命题时要特别警惕因为数值验证再多次也不能证明全称命题。需要对外发布结论时必须有可复现的实验记录包括代码、版本号、运行环境。6.3 日志、版本与可复现性数学实验的可复现性要求比普通业务代码更高。建议在每个实验目录下保留三样东西源代码、输入数据、输出日志。代码里最好打印关键参数比如精度设置、扫描范围、随机种子。如果你修改了实验参数不要覆盖原文件而是保存为带版本后缀的文件。这样当 Claude 提出一个假设时你可以快速回到上一次实验结果对比数据是否支持新假设。还需要重视环境依赖的记录。Python 项目建议生成requirements.txtpip freeze requirements.txt这样即使换一台机器也能用pip install -r requirements.txt恢复同样的依赖环境。6.4 什么题目适合交给 AI什么不适合基于前文的三层能力框架我建议这样选择交给 AI 的任务适合交给 AI 的任务包括编写数值实验脚本、清洗和统计实验结果、生成可视化代码、解释某个数学概念、根据数据提出可验证的假设。这些任务结果明确、可自动验证AI 出错的影响可控。不适合直接交给 AI 的任务包括证明一个新定理、判断两个数学对象是否等价、设计密码学协议、在缺少严格验证手段的生产环境中做决策。这些任务要么需要形式化推理要么影响面大必须由人主导。6.5 安全边界与合规提醒最后提醒一点如果未来你想把 AI 数学实验接入到生产系统比如用 zeta 函数相关算法做数据分析一定要遵守最小权限原则。给 Claude Code 的目录权限只开放实验所需的文件夹不要让它随意修改系统文件或生产环境数据。对任何需要执行删除、覆盖、发布操作的任务先在测试环境验证并保留备份。数学本身没有风险但工具使用不当带来的数据安全风险是真实存在的。7. 总结与学习路线回到开头那则新闻Claude 挑战黎曼猜想“失败”了却刷新了一项数学纪录。无论最终结论如何这件事给我的感受是AI 在数学研究中已经不再是“搜索引擎的升级版”而是能参与假设生成和实验设计的科研伙伴。这篇文章里我们一起完成了三件事。第一厘清了黎曼猜想的基本概念和 AI 参与数学研究的能力边界第二从零搭建了 Claude Code 环境并解决了安装过程中最常见的几类报错第三用 Python 复现了两个数学探索实验zeta 零点扫描和 Collatz 步数统计并演示了“AI 提假设、人工做验证”的协作闭环。如果你是从零开始的新手下一步建议按这个顺序深入先把 Claude Code 装好、跑通官方示例然后用本文的 zeta 扫描脚本练习“结果回代验证”的思维最后尝试把 Collatz 统计范围扩大到十万或百万观察计算时间的变化体会数值实验的规模效应。如果你已经有较好的数学或编程基础可以往符号计算、形式化证明方向发展比如学习 Lean 证明助手把 AI 生成的推导一步步转成机器可验证的形式这才是通向“AI 可证明数学”的更长远的路径。对于实际项目我的建议很朴素把 AI 当作一个能力很强但有幻觉的实习生所有结论都要验证所有代码都要审查所有实验都要留痕。做到这三点你就能在数学探索和软件工程中安全地释放 AI 的潜力。如果这篇文章对你有帮助建议收藏备用尤其是第 5 节的排查清单和第 6 节的验证原则以后遇到同类问题可以直接翻出来对照。搭建好环境之后动手跑一遍两个实验你会对“AI 辅助数学研究”有完全不一样的感觉。

最新新闻

日新闻

周新闻

月新闻