143、Chain-of-Thought 思维链实战:从零样本推理到 Tree-of-Thought 的演变

发布时间:2026/7/6 1:21:38
143、Chain-of-Thought 思维链实战:从零样本推理到 Tree-of-Thought 的演变 143、Chain-of-Thought 思维链实战:从零样本推理到 Tree-of-Thought 的演变一个让我抓狂的调试现场上周五晚上,我盯着终端里那行报错看了整整二十分钟。一个简单的数学推理任务——让大模型计算“小明有5个苹果,给了小红2个,又买了3个,现在有几个”——模型居然给出了“6个”这种答案。更离谱的是,当我追问“为什么是6”时,它一本正经地解释:“5-2=3,3+3=6,所以是6个。” 这逻辑链条看着没问题,但答案错了。问题出在哪?5-2=3没错,3+3=6也没错,但初始条件“小明有5个苹果”被模型当成了“小明有5个苹果,给了小红2个后还剩3个”——等等,它把“给了小红2个”理解成了“小明给了小红2个,所以小明减少2个”,这步是对的。那为什么最终结果是6?因为模型在第三步“又买了3个”时,把“买了”理解成了“小明从别人那里买了3个,所以增加3个”,3+3=6。但等等,初始是5个,给了2个剩3个,再买3个应该是3+3=6?不对,5-2=3,3+3=6,这数学上确实没错。我反复读了三遍题目,才意识到问题:题目说“小明有5个苹果,给了小红2个,又买了3个”,但模型把“给了小红2个”和“又买了3个”这两个事件的时间顺序搞混了?不,它顺序是对的。那问题出在哪?我盯着屏幕,突然一拍大腿——模型把“给了小红2个”理解成了“小明给了小红2个苹果,所以小明减少2个”,但“又买了3个”被理解成了“小明买了3个苹果,所以增加3个”。这逻辑链本身没问题,但模型在推理过程中,没有显式地写出每一步的中间状态。它跳过了“小明当前有多少个苹果”这个中间变量,直接做了算术。这就是典型的“思维链缺失”