精读笔记:Tree of Thoughts (ToT) — 思维树
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | Tree of Thoughts: Deliberate Problem Solving with Large Language Models |
| arXiv | 2305.10601 |
| 发表会议 | NeurIPS 2023 |
| 作者机构 | Princeton University(Shunyu Yao、Thomas L. Griffiths、Karthik Narasimhan);Google DeepMind(Dian Yu、Jeffrey Zhao、Izhak Shafran、Yuan Cao) |
| 核心贡献 | 将 LLM 的推理过程从「一条直线的思维链」升级为「可探索、可回溯的思维树」,结合搜索算法大幅提升复杂推理任务成功率 |
阅读地图
本文精读按以下顺序展开,每部分都附有原文、翻译与新手讲解:
- 前置概念回顾:CoT(思维链)是什么?有什么局限?
- Abstract(摘要):ToT 一句话是什么,核心结果是什么?
- Introduction(引言):为什么需要 ToT?从人类双系统思维说起
- Framework(方法):四大核心要素逐一精讲
- 思维分解(Thought Decomposition)
- 想法生成(Thought Generation)
- 状态评估(State Evaluation)
- 搜索算法(BFS / DFS) - 实验结果:三大任务对比,数字说话
- 讨论与总结:局限性与未来方向
第零部分:前置概念回顾(阅读 ToT 之前必读)
在理解 ToT 之前,我们先把「思维链(CoT)」讲透,因为 ToT 就是在 CoT 的基础上升级的。
什么是 IO Prompting(输入-输出提示)?
最基础的 LLM 使用方式:给模型一道题,直接让它输出答案。
示例:输入「用 4、9、10、13 四个数,通过加减乘除等于 24」,模型直接输出「答案是 …」
问题在于,对于需要多步推理的任务,一步到位往往出错。
什么是 CoT(Chain-of-Thought,思维链)?
CoT 是 Google 在 2022 年提出的方法:不让模型直接输出答案,而是让它「一步一步地想」,把中间推理过程也写出来。
示例(继续 24 点):
第一步:13 - 9 = 4(剩余:4, 4, 10)
第二步:10 - 4 = 6(剩余:4, 6)
第三步:4 × 6 = 24 ✓
CoT 的核心思路:把隐含的推理过程显式化,让模型更少犯错。
CoT 的局限性(ToT 要解决的问题):
- CoT 每次推理只走一条路。第一步选了某个方向,后续步骤全跟着这条路走下去。
- 如果第一步选错了,没有机会回头,只能一路走到错误的终点。
- 就像走迷宫时,闷头选了一条路,撞墙了也不往回走,结果永远出不去。
- 实验数据:在「24 点游戏」上,CoT 的成功率只有 4%。
什么是 Self-Consistency(自我一致性)?
Self-Consistency 是对 CoT 的一个改进:同时生成多条 CoT 推理链,然后投票选答案(出现最多次的答案当作最终结果)。
类比:让 100 个人各自独立做题,少数服从多数。
优点是比单条 CoT 稍好;缺点是这 100 条链是相互独立的,每条链内部依然是线性的、不可回溯的。最终只看答案,不看过程。
迷宫类比:三种方法的区别
想象你在走一个有很多岔路的迷宫,目标是找到出口:
| 方法 | 行为 | 类比 |
|---|---|---|
| IO Prompting | 直接猜出口在哪里 | 站在入口,直接猜「出口在右边」 |
| CoT | 一步步往前走,但只走一条路,撞墙也不回头 | 选一条路走到底,死胡同也不回 |
| Self-Consistency | 同时派 100 个人各走一条路,看谁走出来的多 | 100 个人独自走,最后投票最多的方向为准 |
| ToT(思维树) | 在每个岔路口先评估各方向的前景,记下走过的路,此路不通就退回来换条路 | 像真正的探险家:带地图、做标记、走不通就回溯 |
ToT 的核心优势:既能探索多条路(多样性),又能评估哪条路更好(智慧),还能在走错时回头(纠错)。
第一部分:Abstract(摘要)
原文:Language models are increasingly being deployed for general problem solving across a wide range of tasks, but are still confined to token-level, left-to-right decision-making processes during inference. This means they can fall short in tasks that require exploration, strategic lookahead, or where initial decisions play a pivotal role.
翻译:语言模型正越来越多地被部署用于各类通用问题求解,但在推理过程中仍局限于逐词元、从左到右的决策方式。这意味着,在需要探索、战略前瞻,或初始决策起关键作用的任务中,它们往往表现不足。
讲解:这句话是整篇论文的核心问题陈述。「逐词元(token-level)从左到右」是指 GPT 这类模型生成文字时,一个词一个词地往后写,前面写了什么就定了,没法返回修改。这在写散文或翻译时没什么问题,但在解数学题、下棋、填字谜时就很致命——因为这些任务需要「先想想哪步走哪里更好」(前瞻),或者「这条路不对,退回去换条路」(回溯)。
原文:To address these shortcomings, we introduce a new framework for language model inference, Tree of Thoughts (ToT), which generalizes over the popular "Chain of Thought" approach to prompting language models, and enables exploration over coherent units of text (thoughts) that serve as intermediate steps toward solving a problem.
翻译:为了解决这些不足,我们引入了一种新的语言模型推理框架——「思维树(Tree of Thoughts,ToT)」。该框架是对广受欢迎的「思维链(Chain of Thought)」提示方法的推广,支持对连贯文本单元(即「想法/思维节点」)进行探索,这些单元充当解题过程中的中间步骤。
讲解:「推广(generalize)」这个词很关键。CoT 是一条链,ToT 就是这条链发散成了一棵树——每一步不再只有一个选择,而是可以有多个候选「想法」,形成分支。「想法(thought)」是 ToT 中的核心概念,指解题过程中每一个中间步骤的文字表示。比如在 24 点游戏里,「13 - 9 = 4(剩余 4,4,10)」就是一个 thought。
原文:Tree of Thoughts allows LMs to perform deliberate decision making by considering multiple different reasoning paths and self-evaluating choices to decide the next course of action, as well as to look ahead or backtrack when necessary to make global choices.
翻译:思维树允许语言模型通过考虑多条不同的推理路径、对各选择进行自我评估来作出深思熟虑的决策,从而决定下一步的行动方向,并在必要时进行前瞻或回溯,以作出全局最优的选择。
讲解:这句话浓缩了 ToT 的四大能力:①考虑多条路径(不是只走一条);②自我评估(模型自己打分判断哪条路更好);③前瞻(提前想想走这条路会怎样);④回溯(走错了能退回来重新选)。这些能力合起来,让 LLM 的推理从「反射型」升级为「深思熟虑型」。
原文:Our experiments show that Tree of Thoughts significantly enhances language models' problem-solving abilities on three novel tasks requiring non-trivial planning or search: Game of 24 (mathematical reasoning), Creative Writing (coherent multi-step writing), and Mini Crosswords (commonsense/world knowledge).
翻译:我们的实验表明,在三个需要非平凡规划或搜索能力的新任务上,思维树显著增强了语言模型的问题求解能力:24 点游戏(数学推理)、创意写作(连贯的多步写作)和迷你填字游戏(常识/世界知识)。
讲解:三个任务被选来测试 ToT 是有讲究的。24 点游戏测数学推理(有明确对错);创意写作测开放性任务(需要规划);迷你填字游戏测知识与约束满足(横竖必须同时满足)。这三类任务代表了不同的难度维度,ToT 在全部三个上都大幅超越了 CoT。
原文:For instance, in Game of 24, while GPT-4 with chain-of-thought prompting only solved 4% of tasks, our method achieved a success rate of 74%.
翻译:例如,在 24 点游戏中,GPT-4 使用思维链提示仅解决了 4% 的任务,而我们的方法实现了 74% 的成功率。
讲解:这是全文最震撼的一个数字对比。同样是 GPT-4,同样是解题,只是换了推理框架,成功率从 4% 跳到 74%,足足提升了 18.5 倍。这说明 LLM 的「智能」不仅取决于模型参数,更取决于我们如何组织它的推理过程。
第二部分:Introduction(引言)
双系统思维理论(System 1 vs System 2)
原文:In contrast to the "associative, fast" System 1 which drives human linguistic skills, we suggest that future LMs could benefit from a "deliberate, slow" System 2 reasoning process that involves maintaining a tree of possible paths and making more global decisions.
翻译:与驱动人类语言技能的「联想型、快速的」系统 1 相对,我们认为未来的语言模型可以受益于一种「深思熟虑的、缓慢的」系统 2 推理过程——这种推理维护着一棵可能路径的树,并能作出更具全局性的决策。
讲解:这里引用了心理学家 Daniel Kahneman 的「双系统理论」:
- 系统 1(System 1):快速、自动、直觉式。比如看到「2+2」立刻反应「4」,或者读一句话时大脑自动理解语义。
- 系统 2(System 2):缓慢、深思熟虑、逻辑推理式。比如计算「17×24」或者下棋时思考多步落子。目前的 LLM(包括 GPT-4)本质上都是系统 1 的:给一个输入,快速生成一个输出,没有「停下来想想」的过程。ToT 的目标是给 LLM 加上系统 2 的能力——让它能够放慢速度、探索多条路、反复评估。
CoT 的局限性
原文:While such a "chain" is locally directed by the model's immediate decisions, it falls short when explored from a global standpoint—for example, around 60% of CoT samples already failed the task after generating the first step, or equivalently, the first three words.
翻译:虽然这样的「链」在局部上由模型的即时决策来引导,但从全局角度来看却力有不逮——例如,约 60% 的 CoT 样本在生成第一步(即等效于前三个词)之后就已经在任务上失败了。
讲解:这个数据太直观了。在 24 点游戏里,CoT 模型刚写下「第一步」,60% 的情况已经走错了方向。但它并不知道自己走错了,还是埋头继续往前写。这就是「无法回溯」的代价——第一步的错误会把整条推理链都带偏。而 ToT 在第一步就可以生成多个候选,评估哪个更好,从而避免「一步错步步错」。
经典 AI 的智慧回归
原文:Newell, Shaw, and Simon in the 1950s characterized problem solving as search through a combinatorial problem space, represented as a tree. This classical perspective reveals the potential of a more deliberate LM reasoning that explores, evaluates, and backtracks when necessary.
翻译:纽厄尔、肖和西蒙在 20 世纪 50 年代将问题求解定性为在一个组合式问题空间中的搜索,该空间以树的形式表示。这一经典视角揭示了一种更为深思熟虑的语言模型推理方式的潜力——这种推理能够探索、评估,并在必要时进行回溯。
讲解:Newell、Shaw 和 Simon 是人工智能的奠基人,他们在 1950 年代就提出:解题本质上就是在一棵树中找路。棋盘上的每一步落子、数学题的每一次推导,都可以看成树上的一条路径。这个思想影响了 60 多年的 AI 研究(象棋程序、AlphaGo 等)。ToT 的创新在于:把这个经典思路和现代 LLM 结合起来——用 LLM 既作为走路的人(生成想法),又作为评判者(评估想法的好坏)。
原文:Additionally, we emphasize that ToT is general and flexible enough to be combined with any existing or future LM, and is applicable to any problem that can benefit from structured reasoning.
翻译:此外,我们强调,ToT 足够通用和灵活,可以与任何现有或未来的语言模型相结合,并适用于任何可以从结构化推理中受益的问题。
讲解:ToT 是一个框架(framework),不是一个新模型。它不改变 GPT-4 的参数,只是改变「如何使用 GPT-4」——通过精心设计提示词(prompt),让 GPT-4 扮演「生成者」和「评估者」两个角色。这意味着今天写好的 ToT 代码,明天换上 GPT-5 依然能用,甚至效果更好。
第三部分:方法(ToT 框架四大核心要素)
ToT 的核心框架可以用以下模型来理解:
解题过程 = 一棵树
- 树的节点(node) = 一个「状态(state)」,即「当前的解题进度」(输入 + 目前为止产生的所有想法)
- 树的边(edge) = 一个「想法(thought)」,即从当前状态迈出的一步
- 树根 = 原始输入题目
- 树叶 = 最终答案(或者死路)
解题过程就是在这棵树中找到一条从根到正确叶子的路径。
要素一:思维分解(Thought Decomposition)
原文:The first step in using ToT is to decompose the problem into a sequence of thoughts. The appropriate granularity of thoughts depends on the problem: thoughts could be a few tokens (e.g., a word for crosswords), a line (e.g., an equation for Game of 24), or a paragraph (e.g., a writing plan).
翻译:使用 ToT 的第一步是将问题分解为一系列「想法(thoughts)」。想法的适当粒度取决于具体问题:想法可以是几个词元(例如,填字游戏中的一个单词)、一行(例如,24 点游戏中的一个方程式),或者一段话(例如,写作规划中的一个段落)。
讲解:「粒度」这个概念很重要,意思是「一步有多大」。这需要人工根据任务来设计:
- 24 点游戏:一步 = 一个算式(如13 - 9 = 4),整个解题过程 = 3 步,形成深度为 3 的树
- 创意写作:一步 = 一段写作规划(大纲),整个过程 = 先规划再写作,形成深度为 2 的树
- 迷你填字游戏(5×5):一步 = 填一个单词,整个过程 = 5~10 步,形成较深的树类比:如果解题是「做一道菜」,「思维分解」就是决定「每步是切一刀还是做完整一道工序」。步子太小(每个词元都是一步),树会无比巨大;步子太大(直接一步出答案),又退化成 IO Prompting。找到合适的粒度是 ToT 应用的关键设计决策。
要素二:想法生成(Thought Generation)
原文:Given a tree state s = [x, z₁,...,zᵢ], we explore two strategies to generate the next thought step zᵢ₊₁:
(a) Sample: thoughts are independently and identically sampled from a CoT prompt.
(b) Propose: thoughts are sequentially proposed using a "propose prompt" that generates multiple thoughts at once.翻译:给定当前树节点状态 s = [x, z₁,...,zᵢ],我们探索了两种生成下一个想法步骤 zᵢ₊₁ 的策略:
(a)采样(Sample):从 CoT 提示中独立同分布地采样多个想法。
(b)提议(Propose):使用「提议提示」按顺序一次性生成多个想法。讲解:这是在每个节点上「产生分支」的两种方式。
策略 a(采样):就是「运行 CoT 多次」,每次都随机生成一个候选想法。好比你让同一个人独立解题 5 次,每次可能给出不同思路。适合开放式任务(如创意写作),因为答案空间广,多样性很重要。
策略 b(提议):让模型在同一个提示里一次性给出 k 个不同候选想法,并且避免重复。好比让专家「给出三种不同的解法」。适合约束型任务(如 24 点),因为需要系统性地覆盖所有可能,减少重复。
实际上,这两种策略对应不同的提示词(prompt)设计,背后都是同一个 GPT-4。
要素三:状态评估(State Evaluation)
原文:Given a tree frontier of states S, the value network V(pθ, S) → ℝ heuristically evaluates the states. We explore two strategies:
(a) Value each state independently: a value prompt reasons about the state and outputs a scalar value (e.g., 1-10) or a classification (e.g., sure/likely/impossible).
(b) Vote across states: a voting prompt asks the LM to directly compare multiple states and output the most promising one.翻译:给定当前树前沿的状态集合 S,价值网络 V(pθ, S) 对这些状态进行启发式评估。我们探索了两种策略:
(a)独立评估每个状态:通过价值提示对状态进行推理,输出一个数值分数(如 1-10)或分类标签(如 sure 确定/likely 可能/impossible 不可能)。
(b)跨状态投票:通过投票提示让语言模型直接比较多个状态,输出最有前景的一个。讲解:这是 ToT 中最有创意的部分——让 LLM 给自己的想法打分。
策略 a(独立评估):对每个候选想法,单独问模型「按照这条路走下去,能解出题吗?确定/可能/不可能?」。在 24 点游戏里,「13 - 9 = 4(剩余 4,4,10)」这个想法,模型会评估「4,4,10 这三个数还能凑出 24 吗?」,并给出分类。
策略 b(投票评估):把多个候选想法放在一起,让模型比较「哪一个最有希望?」,直接选出最好的一个。
类比:你是学生,做了 5 种解题草稿,现在让你(或另一个同学)看所有草稿,判断「哪个最有可能做对」,然后继续深入那条路。
术语解释:
- 启发式(heuristic):不保证完全准确、但能快速给出「大致上对」的评估方法,是搜索算法的核心工具
- 状态(state):当前节点的完整信息 = 原始输入 + 目前已走的所有步骤
要素四:搜索算法(BFS 与 DFS)
这是 ToT 的「导航系统」——决定在树上如何前进。
BFS(广度优先搜索,Breadth-First Search)
原文:Algorithm 1 (ToT-BFS): At each step t, maintain the b most promising states. For each state in the current frontier, generate k candidate thoughts, evaluate all candidates, and keep only the top-b states by summed values to advance to the next step.
翻译:算法 1(ToT-BFS):在每一步 t,维护 b 个最有前景的状态。对当前前沿的每个状态,生成 k 个候选想法,评估所有候选,只保留综合价值最高的 b 个状态,推进到下一步。
讲解:BFS 的核心思路是「每一层都只保留最好的 b 个候选,齐头并进」。
图示(以 24 点游戏、b=5 为例):
根节点:[4, 9, 10, 13] ↓ 第一步:生成所有可能的一步算式候选 候选1: 13-9=4, 剩[4,4,10] → 评分:sure 候选2: 13+9=22, 剩[4,10,22] → 评分:maybe 候选3: 10-4=6, 剩[6,9,13] → 评分:maybe ... (更多候选) ↓ 保留评分最高的 b=5 个,进入下一层 第二步:对这 5 个节点各自生成候选 ... ↓ 再次保留最好的 b=5 个 第三步:找到能等于 24 的方案术语解释:
- 广度优先(Breadth-First):先把当前层所有节点扩展完,再进入下一层。就像洪水蔓延,一圈一圈向外扩。
- b(breadth,宽度):每层保留的最佳状态数量。b=5 意味着每层最多走 5 条并行路径。
- 适用场景:任务深度(步骤数)较浅(如 T≤3),适合 24 点游戏和创意写作。
DFS(深度优先搜索,Depth-First Search)
原文:Algorithm 2 (ToT-DFS): At each step, explore the most promising state first. If a state's value falls below a threshold vth, prune that branch (treat it as impossible). When a path reaches the final depth or is pruned, backtrack to the next most promising unexplored node.
翻译:算法 2(ToT-DFS):在每一步,优先探索最有前景的状态。如果某个状态的价值低于阈值 vth,则裁剪该分支(将其视为不可能)。当一条路径达到最终深度或被裁剪时,回溯到下一个最有前景的未探索节点。
讲解:DFS 的核心思路是「先一路到底,走不通就回头」。
图示(以填字游戏为例):
根节点:空白5×5棋盘 ↓ 先填第1个横向单词 最佳候选:CRANE (5个字母) ↓ 继续填第2个横向单词 最佳候选:BEACH ↓ ...继续往下填 (某一步发现:按现有字母,某个竖向单词无解) ↑ 回溯!撤销上一步,换其他候选 换候选:BLAZE ↓ 继续尝试...术语解释:
- 深度优先(Depth-First):先走到底(最深处),走不通再回头换路。就像在迷宫里先一直往右走,撞墙再回头。
- 回溯(Backtrack):撤销当前步骤,退回上一个节点,尝试其他候选。这是 DFS 的关键能力,也是 CoT 完全不具备的。
- 剪枝(Pruning):当某个节点被评估为「不可能」(低于阈值 vth)时,直接放弃这整条分支,不再往下探索,节省计算资源。
- 适用场景:任务深度较深(如填字游戏,步骤数 5~10),需要细粒度回溯。
四大要素综合对比
| 要素 | 在 CoT 中 | 在 ToT 中 |
|---|---|---|
| 思维分解 | 隐含,步骤由模型自由决定 | 显式设计,人工定义步骤粒度 |
| 想法生成 | 每步只生成 1 个候选 | 每步生成 k 个候选(多条分支) |
| 状态评估 | 无(不评估中间步骤) | 有(打分/分类/投票,指导搜索方向) |
| 搜索算法 | 无(直线前进) | BFS 或 DFS(树状探索+回溯) |
第四部分:实验结果
实验一:24 点游戏(Game of 24)
任务描述
原文:Game of 24 is a mathematical reasoning challenge, where the goal is to use 4 numbers and basic arithmetic operations (+-*/) to obtain 24.
翻译:24 点游戏是一个数学推理挑战,目标是使用 4 个数字和基本算术运算(加减乘除)得到 24。
讲解:24 点是中国非常流行的一种扑克牌游戏。规则:给出 4 个数字,用加减乘除(可以加括号)让结果恰好等于 24。例如:给 4、9、10、13,一种解法是 (13 - 9) × (10 - 4) = 4 × 6 = 24。这个任务有明确对错,非常适合评估推理能力。
原文:We sample 100 games from 4nums.com (indices 901-1000, the hardest), and report task success rate. For ToT, we use 3 steps of thought (each step is one equation), propose 5 candidates per step via a propose prompt, and evaluate with a value prompt using sure/maybe/impossible classification over 3 samples.
翻译:我们从 4nums.com 抽取了 100 道题(索引 901-1000,最难的一批),并报告任务成功率。对于 ToT,我们使用 3 步思维(每步为一个算式),通过提议提示每步生成 5 个候选,并通过价值提示使用 sure/maybe/impossible 分类(每个想法采样 3 次)进行评估。
讲解:「索引 901-1000」是 4nums.com 上按难度排序的最后 100 题,也是最难的题目。这是为了避免选容易题让结果看起来很好。3 步、每步 5 个候选、评估打分——这就是 ToT 的具体运行方式。每步「sure/maybe/impossible」的评估,让模型能识别哪些中间结果有希望、哪些是死路。
实验结果
原文(结果表格内容):IO prompt: 7.3%; CoT prompt: 4.0%; CoT-SC (k=100): 9.0%; ToT (b=1): 45%; ToT (b=5): 74%.
翻译:IO 提示:7.3%;CoT 提示:4.0%;CoT 自我一致性(k=100):9.0%;ToT(b=1):45%;ToT(b=5):74%。
讲解:这张表数据值得细看:
| 方法 | 成功率 | 备注 |
|---|---|---|
| IO Prompt | 7.3% | 直接问答,无中间步骤 |
| CoT | 4.0% | 有中间步骤,但单条线性链 |
| CoT-SC (k=100) | 9.0% | 100 条独立 CoT 链投票 |
| ToT (b=1) | 45% | 思维树,每层只保留 1 个 |
| ToT (b=5) | 74% | 思维树,每层保留最好的 5 个 |
惊人发现:CoT(4%)比 IO(7.3%)还低!这说明对这道题,强迫模型「一步步想」反而有时会误导它走上错误的路。而 ToT 通过多候选+评估+回溯,把成功率推上了 74%。
原文:Around 60% of CoT samples already failed the task after generating the first step, or equivalently, the first three words.
翻译:约 60% 的 CoT 样本在生成第一步(等效于前三个词)之后就已经在任务上失败了。
讲解:这是对 CoT 失败原因的解剖。前三个词就走错了!这意味着 CoT 在 24 点游戏上的低成功率,主要不是「想不出最终答案」,而是「第一步就走歪了」。ToT 通过在第一步生成多个候选并评估,精确解决了这个问题。
实验二:创意写作(Creative Writing)
原文:Creative Writing requires generating a coherent passage with exactly 4 paragraphs that end with 4 random input sentences (one per paragraph). This involves both planning and execution.
翻译:创意写作任务要求生成一篇连贯的文章,正好包含 4 个段落,每段以一个随机输入的句子结尾(每个输入句子对应一个段落)。这既涉及规划,又涉及执行。
讲解:这是一个更开放的任务:给 4 个随机句子(比如「太阳落山了」、「猫叫了一声」),要求写一篇每段各以其中一句结尾的文章,且整体要连贯。这需要先想好「主题/大纲」(规划),再写每个段落(执行)。ToT 的做法是:第一步生成多个「大纲/写作计划」,评估哪个最好,然后按最佳计划写作。
原文:ToT (b=1): 7.56/10 by GPT-4 scoring, 41/100 blind human preference over CoT. IO: 6.19/10. CoT: 6.93/10.
翻译:ToT (b=1):GPT-4 评分 7.56/10,在与 CoT 的盲测人类偏好比较中,有 41/100 的人偏好 ToT;IO:6.19/10;CoT:6.93/10。
讲解:创意写作没有标准答案,所以用两种评估方式:①让 GPT-4 扮演评委打分(1-10 分);②让人类在不知道哪个是 ToT、哪个是 CoT 的情况下选「哪篇更好」。两种评估都显示 ToT 更好。注意这里 b=1(每步只保留 1 个最佳计划),比 24 点游戏的 b=5 保守得多,却依然赢了 CoT。
实验三:迷你填字游戏(Mini Crosswords)
原文:Mini Crosswords involves a 5×5 grid with 10 clues (5 horizontal, 5 vertical), requiring finding 5-letter words that satisfy intersecting constraints. This is a constraint satisfaction problem.
翻译:迷你填字游戏涉及一个 5×5 的格子,有 10 个提示词(5 个横向,5 个纵向),需要找出满足交叉约束的 5 字母单词。这是一个约束满足问题。
讲解:5×5 填字游戏的难点:横向和纵向的单词必须在交叉格子处共享同一个字母。这意味着当你填了第一个横向单词,就约束了所有纵向单词的某个字母,相互制约。这类问题用 DFS+回溯非常自然——填错了退回去换单词。
原文:Results on 20 test games: IO: 38.7% letters, 14% words. CoT: 40.6% letters, 15.6% words. ToT baseline: 78% letters, 60% words, 4/20 games fully solved.
翻译:在 20 道测试题上的结果:IO:38.7% 字母正确、14% 单词正确;CoT:40.6% 字母正确、15.6% 单词正确;ToT 基础版:78% 字母正确、60% 单词正确、20 道中 4 道完全解出。
讲解:评估指标有三层:①字母正确率(最宽松);②单词正确率(中等);③全盘解出数量(最严格)。ToT 在三个层面都大幅领先。CoT 从 38.7% 仅提升到 40.6%(几乎没用),而 ToT 直接跳到 78%。关键在于 DFS+回溯:填字游戏极度需要「发现矛盾、退回重填」,而这正是 CoT 做不到、ToT 能做到的。
原文:Ablation studies show that removing pruning (−pruning) drops performance to 65.4% letters and 41.5% words; removing backtracking (−backtracking) drops to 54.6% letters and 20% words.
翻译:消融实验表明,去除剪枝(−pruning)使性能下降到 65.4% 字母正确率和 41.5% 单词正确率;去除回溯(−backtracking)则下降到 54.6% 字母正确率和 20% 单词正确率。
讲解:「消融实验(ablation study)」是 AI 论文中的标准做法:每次去掉系统的一个组件,看性能下降多少,从而证明这个组件的重要性。这里的结论很清晰:剪枝和回溯都是 ToT 成功的关键——去掉任何一个,性能都显著下降。回溯尤其重要(去掉后单词正确率从 60% 跌到 20%),再次印证了「能退回来换路」对填字游戏是多么关键。
第五部分:与其他方法的对比总结
| 维度 | IO | CoT | Self-Consistency | ToT |
|---|---|---|---|---|
| 推理路径数量 | 1 | 1 | k(独立) | k(树状分支) |
| 中间步骤 | 无 | 有 | 有 | 有 |
| 路径间有交互吗? | - | - | 否(独立采样) | 是(共享搜索树) |
| 能评估中间步骤吗? | 否 | 否 | 否 | 是 |
| 能回溯吗? | 否 | 否 | 否 | 是 |
| 适合的任务类型 | 简单 | 中等 | 需要一致性 | 需要规划/探索/回溯 |
| 24 点成功率 | 7.3% | 4.0% | 9.0% | 74% |
第六部分:讨论与局限
计算成本
原文:ToT does demand more resources (LM prompts) than sampling methods. However, the modular nature of ToT allows for performance-resource tradeoffs, e.g. reducing b or k to lower cost, at the expense of task performance.
翻译:ToT 确实比采样方法需要更多资源(语言模型调用次数)。然而,ToT 的模块化特性允许在性能和资源之间进行权衡,例如通过减小 b 或 k 来降低成本,代价是牺牲任务性能。
讲解:ToT 的代价是显而易见的:每步生成 5 个候选(b=5),每个候选还要调用 LLM 评估,整体 API 调用次数是 CoT 的很多倍。从实验数据看,24 点游戏里 ToT 的成本约为 $0.74,而 CoT 只需 $0.47(但成功率从 4% 到 74%,这笔账依然值得)。不过,这也意味着 ToT 不适合低延迟、高并发的场景。
任务范围局限
原文:The present work explores tasks where deliberate reasoning is key. For tasks where GPT-4 already achieves high success rates, ToT may not be necessary.
翻译:当前工作探索的是深思熟虑推理至关重要的任务。对于 GPT-4 已经实现较高成功率的任务,ToT 可能并非必要。
讲解:ToT 不是万能药。对于简单的翻译、摘要、问答等任务,GPT-4 直接 IO 就够好了,没必要引入复杂的树状搜索。ToT 的价值主要体现在需要多步规划、存在多种可能路径、且错误代价较高的任务上。
未来方向
原文:Future work can extend ToT to more complex real-world tasks, and explore the possibility of training LMs with high-level counterfactual decision making, rather than just token-level prediction.
翻译:未来工作可以将 ToT 扩展到更复杂的现实世界任务,并探索用高层次的反事实决策来训练语言模型的可能性,而不仅仅是词元级别的预测。
讲解:这里有一个深刻的展望:当前的 LLM 训练是「预测下一个词元」,ToT 在推理阶段给了它「高层次决策」的能力(哪条路更好?要不要回头?)。未来是否可以把 ToT 的这种高层决策经验反过来用于训练?让模型在训练时就学会「树状思维」?这与强化学习(如 AlphaGo 的自我对弈)有内在联系,是非常有价值的研究方向。
第七部分:总结与核心贡献回顾
ToT 论文的核心贡献(三句话总结)
-
提出框架:将 LLM 推理从「单条线性思维链」升级为「可探索、可评估、可回溯的思维树」,将经典 AI 搜索(Newell & Simon 1950s)与现代 LLM 相结合。
-
四大组件:思维分解(定义步骤粒度)+ 想法生成(每步多候选)+ 状态评估(LLM 自我打分)+ 搜索算法(BFS/DFS),每个组件都可以独立定制。
-
实验验证:在 24 点游戏(4%→74%)、创意写作(6.19→7.56)、迷你填字游戏(40.6%→78% 字母正确率)上全面超越 CoT 和 Self-Consistency。
术语速查表
| 术语(英文) | 术语(中文) | 一句话解释 |
|---|---|---|
| Thought | 想法 / 思维节点 | 解题过程中每一个中间步骤的文字表示 |
| CoT (Chain-of-Thought) | 思维链 | 让模型一步步推理,但只走一条线性路径 |
| Self-Consistency | 自我一致性 | 多次运行 CoT 取投票结果,但路径互相独立 |
| ToT (Tree of Thoughts) | 思维树 | 树状推理:每步多候选+评估+搜索算法 |
| BFS (Breadth-First Search) | 广度优先搜索 | 每层保留最好的 b 个候选,齐头并进 |
| DFS (Depth-First Search) | 深度优先搜索 | 先走到最深处,走不通再回头 |
| Backtrack | 回溯 | 撤销当前步骤,退回上一节点,尝试其他路径 |
| Pruning | 剪枝 | 发现某条路「不可能」时直接放弃,不再探索 |
| State | 状态 | 当前节点的完整信息(原始输入 + 已走步骤) |
| Heuristic | 启发式 | 快速但不一定完美的估计方法,用于指导搜索 |
| Deliberate reasoning | 深思熟虑的推理 | 对应系统 2 思维,慢而有逻辑的决策过程 |
一句话记住 ToT
CoT 是闷头走迷宫;ToT 是带地图走迷宫——在每个岔路口评估方向,记住走过的路,此路不通就退回来换条路。
精读完成。本文覆盖:摘要(全部)、引言(核心段落)、方法章节(四大组件全部)、三项实验(24点/创意写作/填字游戏完整数据)、讨论与局限。附录略过。