
如果「思维链」(Chain-of-Thought)是让大模型「一步一步想」,那 Tree of Thoughts(ToT,思维树)就是让大模型「想好几步、还能回头换条路再想」。这篇论文干了一件很漂亮的事:它把大模型的推理,从一条只能往前冲、不能回头的「单行道」,改造成了一棵可以探索、评估、回溯的「决策树」,结果在需要规划的任务上,把正确率从 4% 直接拉到了 74%。这篇文章把这篇论文从头拆一遍,讲清楚它到底改了什么、为什么这一改就管用。
一、论文速览卡
| 论文标题 | Tree of Thoughts: Deliberate Problem Solving with Large Language Models |
| 作者 | Shunyu Yao, Dian Yu, Jeffrey Zhao, Izhak Shafran, Thomas L. Griffiths, Yuan Cao, Karthik Narasimhan |
| 机构 | 普林斯顿大学(Princeton University)、Google DeepMind |
| arXiv | 2305.10601(2023 年 5 月 17 日提交,2023 年 12 月更新) |
| 正式发表 | NeurIPS 2023 |
| 一句话结论 | 把「思维链」从线性序列推广为「思维树」,让模型对连贯的「想法」单元做探索、自我评估、前瞻和回溯,从而在需要规划/搜索的任务上大幅超越思维链。 |
二、为什么这篇论文值得精读
ToT 的价值,在于它戳中了「思维链」的一个根本缺陷,并给出了一个优雅的修补方案。这个缺陷,用一句话概括就是:思维链是一条「不能回头」的单行道。
思维链让模型从左到右、一个 token 接一个 token 地「把想法念出来」,这在很多任务上确实有效。但它有一个结构性的局限——模型在推理的每一步,都只能基于前面已经写下的内容往前走,无法「退回上一步、换一条思路重试」。一旦在早期某一步走错了,后面整个推理就会被带偏,而且没有回头路。这对那些「第一步决定全局」的任务(比如下棋、解谜、规划)来说,是致命的。
ToT 提出的解决方案,本质上是把人类「深思熟虑」的认知过程搬到了大模型上:先想,再评估,评估不行就换一条,必要时回溯,最终在全局层面选出最优的那条路径。这听起来简单,但它是第一个把「搜索」和「语言模型」优雅结合起来的框架,直接开启了后来一整个「推理时搜索」(inference-time search)的研究方向。
更值得细读的是它的实验设计:它没有用那些「刷个 benchmark 分数」的常规任务,而是挑了三个真正需要「非平凡规划或搜索」的任务——24 点游戏、创意写作、迷你填字游戏。这些任务恰好是思维链「最不擅长」的那一类,因此 ToT 的优势被放到了最大,说服力也最强。
还有一个容易被忽略的价值:ToT 是少数把「模型自我评估」当作一等公民来用的工作。它让模型自己给自己的想法打分、自己决定下一步走哪条路。这个「让模型当自己的裁判」的思路,后来在 o1、DeepSeek-R1 等推理模型里被发扬光大,成了「推理时缩放」的核心机制之一。
三、背景:思维链为什么「够用但不够好」
要理解 ToT 的突破,得先看清思维链到底卡在哪。
思维链的核心假设是:让模型把中间推理步骤显式地写出来,它就能推理得更好。这个假设在算术、常识问答等「直线型」任务上成立——因为这类任务只要「顺着一条对的路走到底」就能解出来,中间不需要分叉、不需要纠错。
但现实中有大量任务不是「直线型」的。比如:
- 24 点游戏:给你 4 个数字,用加减乘除凑出 24。这类题有大量可能的「分叉」,先算哪两个数、用什么运算,都会影响后续能否凑出 24。一步算错,后面全盘皆输,而且没有回头路。
- 下棋:每一步都要「瞻前顾后」,考虑对手的反应,本质上是一棵巨大的搜索树。
- 填字游戏:一个词的选择会连锁影响其他词能否填上,需要「全局协调」而非「局部最优」。
在这些任务上,思维链的「单行道」特性会让它在第一个岔路口就可能走错,然后一路错到底。论文用实验数据把这个缺陷钉死了:在 24 点游戏上,GPT-4 配合思维链的正确率只有 4%——几乎等于没用。
这就引出了 ToT 要解决的核心问题:怎么让模型在推理时,能「探索多条路、评估哪条更好、必要时回头」,而不是被锁死在一条单行道上?答案是把「思维链」从「链」升级成「树」。
四、核心方法:把「链」变成「树」的四步走
ToT 的框架,可以拆成四个关键组件:想法分解、想法生成、状态评估、搜索算法。这四个组件拼起来,就是一棵「思维树」的完整运转机制。
4.1 想法分解:把大问题切成「想法」单元
ToT 的第一个关键概念,是把「推理的中间步骤」抽象成一个个 thought(想法)——也就是「连贯的文本单元」,作为求解问题的一个中间站。这跟思维链的「token 级」或「句子级」分解有本质区别:ToT 关心的是「想法」这个语义单元,而不是「词」或「句」。
不同任务上,「一个想法」的粒度不一样:24 点里,一个想法可能是「先算 5+5=10」这样的一个中间算式;创意写作里,一个想法可能是「这一段打算写什么」的一个段落规划;填字游戏里,一个想法可能是「填下这个词」的一个候选词。关键在于,想法必须足够「原子」,让模型能在多个想法之间做选择和切换。
4.2 想法生成:一次想好几个候选
传统思维链是「一次只想一个」,ToT 则是「一次生成多个候选想法」——对于当前的推理状态,让模型提出好几个「接下来可以怎么走」的选项。这一步利用了语言模型天然的生成能力:同一状态下采样多次,就能得到一批不同的思路。
这个「发散」是 ToT 区别于思维链的核心:思维链只有一条路,ToT 每次都有好几条路可选。有了候选,才有「选择」和「搜索」的余地。
4.3 状态评估:让模型给自己的想法打分
光有候选还不够,还得知道「哪条路更值得走」。ToT 引入了一个关键机制:让模型自己评估每个想法的好坏。论文给了两种评估方式:
- 投票(vote):让模型对当前状态的多个候选「投出」哪个最可能通往正确答案,选票最高的胜出。
- 前瞻(lookahead):让模型顺着某个候选「往下再想几步」,看看这条路到底通不通、能走多远,再决定要不要走。
这个「自我评估」是 ToT 的灵魂。它相当于让模型同时扮演「棋手」和「棋评」两个角色——既要想出下一步,又要判断这一步好不好。这种「自我批判」的能力,正是后来推理模型「反思、纠错」行为的雏形。
4.4 搜索算法:用 BFS/DFS 在树上找最优解
有了「生成」和「评估」,最后一步是「搜索」——用经典的搜索算法在这棵思维树上找最优路径。论文主要用了两种:
- 广度优先搜索(BFS):每一层都保留若干「最有希望」的状态,逐层往下扩展。适合「层数不深、但每层岔路多」的任务。
- 深度优先搜索(DFS):沿着一条路尽量往下探,探不动了再回溯换一条。适合「路径深、需要不断试错回溯」的任务。
这一步的意义在于:「回溯」终于成为了可能。模型不再被锁死在单行道上,而是可以「走不通就退回来换一条」,这正是思维链最缺失的能力。把经典的搜索算法套在语言模型上,是 ToT 最有原创性的工程贡献。
五、实验结果:三个任务,三场漂亮的翻身仗
ToT 的实验挑了三个「需要非平凡规划或搜索」的任务,每个都精准命中了思维链的软肋。关键数字我逐字保留:
5.1 24 点游戏:从 4% 到 74%
这是论文最出圈的一组数据。24 点游戏要求用给定 4 个数字、通过加减乘除凑出 24,是一个典型的「搜索型」任务——岔路多、一步错全盘输。
- GPT-4 + 思维链(CoT):只解决了 4% 的任务。
- GPT-4 + ToT(BFS):成功率高达 74%。
从 4% 到 74%,是接近 19 倍的提升。这个数字之所以震撼,是因为它用的还是同一个 GPT-4,只是把「怎么用它推理」从「线性链」换成了「树搜索」。这说明:很多推理瓶颈不在模型能力,而在推理范式——给一个会搜索的框架,同一个模型就能脱胎换骨。
5.2 创意写作:让「连贯性」可衡量
第二个任务是创意写作:写一段由 4 个段落组成的连贯文字,且每个段落必须以给定的句子开头。这个任务考验的是「全局连贯性」——段落之间要衔接自然,而思维链那种「一句接一句」的方式很容易写成「各段各说各话」。
ToT 在这里把「写作」也做成了搜索:先规划出几个候选的段落主题,再评估哪个主题组合最连贯,最后按选定的组合展开写。结果显示 ToT 在连贯性上明显优于思维链,论文通过人类评估证明了这一点。
5.3 迷你填字游戏:连锁约束下的全局协调
第三个任务是 5×5 的迷你填字游戏。这个任务的难点在于「连锁约束」:一个词的填法会决定它与其他词交叉处的字母,填错一个,整个棋盘都可能崩掉。这需要极强的「全局协调」和「回溯」能力。
ToT 在这个任务上同样显著优于思维链。它的优势在于:当发现某个词填不下去时,可以回溯到上一个决策点,换一个候选词重试——这正是思维链做不到、而 ToT 最擅长的。
5.4 ToT 和「多采样投票」不是一回事
这里有必要澄清一个常见的混淆:ToT 听起来和「self-consistency(自洽性,也就是对思维链多次采样、再投票选多数)」有点像,都是「多生成几个候选」,但两者的本质完全不同。
self-consistency 的做法是:把同一条思维链重复采样很多次,最后对「最终答案」投票,选出现次数最多的那个。它的「多样性」只发生在「最终答案」这一层,中间的推理过程依然是「一条道走到黑」的单行道——每次采样都是独立的、不能回头、不能纠错。
ToT 则是在「推理过程的每一步」都做探索和选择:它维护的是一棵真正的树,每个中间状态都有多个候选、都要评估、都能回溯。它的「多样性」不是「重复采样碰运气」,而是「有组织地搜索最优路径」。
打个比方:self-consistency 像是「让一个人把题目做 100 遍,然后看哪个答案出现最多」;ToT 则像是「让一个人边走边看、走错了就退回来换条路,最终找到一条自己确认走通的路」。前者靠「多数票」来对冲偶然错误,后者靠「搜索 + 评估」来主动避开错误。所以 ToT 在「一步错全盘输」的任务上能碾压式领先(4% 到 74%),而 self-consistency 只能带来小幅的、边际的改进。
这个区别也解释了为什么 ToT 的 74% 含金量更高:它不是在「赌运气」,而是在「做搜索」。理解这一点,你才真正抓住了 ToT 的精髓——它不是「多试几次」,而是「会选、会退、会换」。
六、局限与争议:ToT 也不是万能药
ToT 的贡献很大,但它的局限也同样明显,论文和后续研究都指出来过:
- 计算成本高:树搜索意味着要生成和评估大量候选想法,token 消耗远高于单条思维链。24 点能到 74%,靠的是「不惜代价地多算」——这在实时、低成本的场景里不现实。
- 任务范围受限:ToT 的优势集中在「搜索/规划型」任务上。对于那些「直线型」任务(比如简单算术、常识问答),思维链已经够好,ToT 的额外搜索反而成了浪费。它不是「全面替代思维链」,而是「在某些任务上碾压思维链」。
- 需要为每个任务手工设计:ToT 不是「即插即用」的——「想法」的粒度怎么切、评估用什么方式、搜索用 BFS 还是 DFS,都需要针对具体任务手工设计。这限制了它的泛化性,也很难自动化。
- 依赖模型的自我评估能力:ToT 的核心是「模型给自己的想法打分」,但模型的自我评估并不可靠——它可能「自信地打错分」,把好路放弃、把坏路留下。评估的误差会沿着搜索树被放大。
- 和「训练时内化」的路线存在张力:ToT 是在「推理时」靠搜索换性能,而后来的推理模型(o1、R1)走的是「训练时用 RL 把搜索/反思能力内化」的路。两者并不矛盾,但 ToT 的「显式搜索」更笨重,而「内化」更优雅——这也解释了为什么 ToT 作为一个「提示框架」没有成为主流,但它的「搜索 + 自我评估」思想却被彻底吸收。
这些局限,其实为后来的研究划出了清晰的方向:怎么让「搜索」更省 token、更自动化、更可训练。可以说,ToT 是「推理时搜索」这条路上的一座里程碑,而不是终点。
七、横向对比:ToT 在推理增强谱系里的位置
把 ToT 放进整个「推理增强」的演进脉络,它的位置会非常清楚。
在它之前,是思维链(CoT)——解决「让模型显式推理」的问题,但受限于「单行道」结构。ToT 则是把「链」推广成「树」,解决了「探索、评估、回溯」的问题。可以把它看作是「思维链的搜索化升级」。
在它之后,推理增强研究分出了几条脉络,几乎每一条都能看到 ToT 的影子:
- 更省算力的搜索变体:比如各种「先快速评估、再决定要不要深挖」的方法,本质是在优化 ToT 的「搜索成本」问题。
- 自我反思类(Self-Refine、Reflexion 等):把 ToT 的「自我评估」单独拎出来,让模型生成后自己批评、自己修正——这是「评估」思想的一脉相承。
- 推理时缩放(o1、DeepSeek-R1 等):把「搜索 + 自我评估 + 回溯」的能力,从「提示时显式搜索」内化到「训练时 RL」里。R1 的「顿悟时刻」——模型自己停下来反思、推倒重来——本质上就是 ToT「回溯」行为的自动化。
所以,如果要给 ToT 一个定位,最准确的说法是:它是「让大模型学会深思熟虑」这个方向上的一个关键节点。它第一次清晰地证明了「搜索」和「自我评估」能大幅提升推理能力,并把这两个概念种进了整个领域的集体意识里。后来的推理模型,某种意义上都是在把 ToT 的「显式机制」变成「模型的内在能力」。
八、总结与启示:ToT 留给我们三个判断
读完 ToT,我提炼出三个对实践最有价值的判断:
第一,推理瓶颈常常在「范式」,不在「模型」。同一个 GPT-4,从思维链换成 ToT,24 点正确率从 4% 跳到 74%——模型没变,变的是「怎么用它」。这提醒我们:遇到模型「答不对」时,先别急着换更强的模型,先想想是不是推理范式本身有问题。给模型一个能「探索、评估、回溯」的结构,往往比堆参数更立竿见影。
第二,「自我评估」是高级推理的基石。ToT 最深刻的贡献,是让模型「既当棋手又当裁判」。这种「自我批判」的能力,后来成了推理模型的核心。它给我们的启示是:一个只会「生成」的模型是脆弱的,一个「生成之后还能自己判断好坏」的模型,才真正具备了接近人类的推理闭环。
第三,搜索的价值,最终会被「内化」。ToT 的显式树搜索虽然有效,但笨重、昂贵、难自动化。后来的路线证明,更优雅的做法是把「搜索和反思」从「推理时的手工操作」,内化成「训练时的模型能力」。理解这一点,你才能看懂 o1、R1 这些推理模型到底「进化」了什么——它们不是放弃了 ToT 的思想,而是把 ToT 的思想变成了模型本能。
如果说思维链教会了大模型「说话时想想再说」,那 ToT 就教会了它「想的时候多留几条退路」。这个「多想几步、还能回头」的能力,正是大模型从「会念答案」走向「会解决问题」的关键一跃。
参考来源
- ToT 论文(arXiv:2305.10601):arxiv.org/abs/2305.10601
- 官方代码仓库:github.com/princeton-nlp/tree-of-thought-llm


