首页 文章 分类 标签 关于

为什么AI算数学题会翻车?

🤖 为什么AI算数学题会翻车?

如果你用过AI一段时间,你大概率遇到过这个情况。

你问它一个很简单的问题——比如"9.11和9.9哪个大"——它毫不犹豫地回答"9.11更大"。你把对话记录发到朋友圈,评论区全是"AI就这?"。

但奇怪的是,同一个AI能帮你写出一篇条理清晰的论文,能帮你把一段Python代码从头写到尾,甚至能跟你讨论量子力学的基础问题。为什么一个这么"聪明"的AI,会在小学四年级的数学题上翻车?

这事不是你的运气不好,也不是AI"坏了"。背后的原因,比你想的要深。

AI算数的方式,和你完全不一样

首先得搞清楚一件事:当你让AI算数学题的时候,它并不是在"算"。

你算8×7,脑子里想的是"七八五十六"——你在调用一个抽象符号系统(乘法表)里的规则。

AI算8×7,想的是"我见过的所有文本里,‘8×7=‘后面的下一个词,最常出现的是哪个"。根据它读过的几千亿个网页,绝大多数情况下那个词是"56"。所以它答对了。

但这不是"算"。

这是模式匹配。

你可以这么理解:你让AI算数学,就像让一个读过全世界所有书但从来没上过数学课的人来答题。他知道"2+2=4"因为每本数学书开头都这么写。但你问他"为什么2+2不等于5",他就没法给你一个严格的推演——因为他只是见过这个结论,没学过证明过程。

Token化:AI的第一个陷阱

AI不认识数字。它认识的是"Token"——一种把文字切碎后的碎片。

当AI看到"9.11"时,它看到的不是你脑子里那个"九点一一"的数学概念。它看到的是被分词器切成的一个或几个Token。

问题出在哪?在大多数分词器眼里,“9.11"和"9.9"被切分的方式不一样:

  • “9.11” 可能被当做一个整体 Token(因为它像日期)
  • “9.9” 可能被切成了 “9” + “.” + “9” 三个Token

同一个AI的"视觉系统”,看待这两个数字的方式本来就是不对等的。它并没有先把它们归一化成"统一坐标系"再比较——它只是拿两个不同格式的东西去匹配记忆中的模式。

这就像一个没学过数学的人看到两行字:

  • 第一行:“9.11”(他见过——这是世贸中心事件日期)
  • 第二行:“9.9”(他没见过这个组合)

他会怎么比较?他没法比,因为在他眼里这两者根本不是同类。

它不按规则推理,它按概率预测

这是最核心的原因。

人类做数学,用的是演绎推理:我有一组公理和规则,按规则一步一步推导出结论。我算错了是因为我某一步记错或算错,但只要规则对,我就能推导出正确答案。

AI做"数学",用的是预感式推理:我有一堆训练数据,输出最可能的答案。它没有"规则系统"——它的神经网络里没有一行代码写着"if a > b then a is bigger"。

所以当你要AI比较9.11和9.9时,它在做的事情是:

  1. 看到"9.11"这个词——这个词在它的训练数据中大量出现(日期、比例、版本号)
  2. 看到"9.9"这个词——出现的次数少很多
  3. 回忆它见过的上下文——“9.11"通常出现在讨论"更大"的事件的语境中(9/11事件),而"9.9"经常出现在打分场景里
  4. 综合所有线索,给出最高概率的答案

你看到的是"9.11 > 9.9”,AI看到的可能是"911事件 > 9.9分"。它不是在比较数字大小,而是在比较词语的含义权重

三轮测试:看看AI到底翻在哪

我用几个简单问题测试了当前主流模型的表现:

第一轮:直接问 “9.11和9.9哪个大?” → 部分模型回答9.11大。

第二轮:加提示 “比较以下两个数字的大小:9.11和9.9。注意这是十进制数字,不是版本号也不是日期。” → 大部分模型能答对。因为你用"这不是日期"拆掉了它的错误联想。

第三轮:变个花样 “0.11和0.9哪个大?” → 几乎所有模型都能正确回答0.9大。

看出规律了?当问题从"模式匹配"变成"纯粹的数值比较"(去掉日期联想),而且数字格式统一(都是0.xx),AI就能答对。一旦加回"9.11"这种带强烈语义背景的数字,它就掉坑了。

那最新的推理模型(o1、DeepSeek-R1)为什么不会翻?

你可能要问:那现在不是有"推理模型"了吗?ChatGPT o1、DeepSeek R1,它们不是会"思考"了吗?怎么还会犯这种错?

答案是:推理模型并不是真的在"推理"——它是在模拟推理过程

推理模型被额外训练了一种能力:在回答问题之前,先生成一段"思考链"——“首先我要确认这两个数是十进制数字,然后我要把它们的小数部分对齐……9.11的小数部分是0.11,9.9的小数部分是0.90,所以9.9大于9.11……”

这段"思考链"让AI有机会自我纠偏。但这段思考链本身,仍然是概率预测的结果——只不过它预测的不是"最终答案",而是"思考过程中最合理的下一步"。所以大多数时候它能绕开陷阱,但如果你故意挖坑,比如"3.8和3.11哪个大",推理模型偶尔还是会翻,因为"3.8小于3.11"在真实文本数据里太常见了(比如版本号Python 3.8 vs Python 3.11)。

推理模型大大降低了翻车率,但没有根除翻车的底层机制。

那AI到底能不能"学会"数学?

这是个好问题。有两条路:

第一条路:把计算外包。 这是目前最主流的方式。当AI发现你要做数学计算时,它不自己算,而是写一段Python代码,让Python解释器去算,把结果读回来。这就像你不会自己心算987×654——你拿计算器按一下。AI做的不就是自动帮你按计算器吗?

第二条路:让AI学数学推理。 用海量的数学题训练AI,让它记住更多的"数学模式"——不是理解数学规则,而是见到更多"数字比较"的上下文,以至于它猜对的概率越来越高。这条路也能走,但本质上还是在扩大模式库,不是在建立推理系统。

为什么这件事很重要?

这个问题不只关乎"AI能不能做小学数学题"。它折射出一个更深层的道理:

AI的强大,源自它"像人类";AI的脆弱,源自它"不像人类"。

它像人类的地方在于——它能读懂隐喻、识别模式、产生创造力。它不像人类的地方在于——它没有规则驱动的符号系统,没有真正的逻辑推理能力。

所以当你用AI的时候,心里要有个数:AI擅长的是"这件事我见过很多次,我来猜个答案",不擅长的是"这件事有严格的规则,我来按规则推导"。前者覆盖了绝大多数人类做的工作(写文章、聊天、创意、代码——这些本质上都是在做模式匹配),后者只在数学、逻辑、法律条文推导等少数领域才重要。

但偏偏这些"少数领域"是最不能出错的地方。

一句话总结

AI算不清"9.11和9.9谁大",不是因为它"蠢",而是因为它"根本没在算"——它是在做模式匹配,而9.11这个模式在它脑子里跟"日期"绑在一起,不是跟"数字大小"绑在一起。它翻的不是数学,而是联想。

下次它答错了简单数学题,别着急骂。你看到的是AI的底层逻辑暴露了——你不是看到了它的"笨",你是看到了它到底是怎么"工作"的。

这本身就是个很有意思的观察,不是吗?


📖 本文是MST「30天AI科普专栏」第15篇 / 共25篇 🔖 分类:常见困惑 关注MST,每天一个AI小知识,把大模型讲明白。