编程 Tree of Thoughts 与 MCTS 在 LLM 中的应用:当模型不再只猜一次时会发生什么

2026-09-06 02:13:03

Tree of Thoughts 与 MCTS 在 LLM 中的应用:当模型不再只猜一次时会发生什么

一位开发者在 Dev.to 上发表文章,探讨了 Tree of Thoughts(ToT,思维树)和 MCTS(蒙特卡洛树搜索)在大语言模型中的应用。核心观点是:传统的 LLM 推理方式是让模型"一次性猜答案",而 ToT 和 MCTS 让模型能够探索多条推理路径、评估中间结果、选择最优路径,从而显著提升复杂推理任务的性能。

背景:LLM 的一次性推理问题

传统的 LLM 推理方式(包括标准 prompting 和 Chain-of-Thought)本质上是让模型"一次性猜答案":

  • 模型从左到右生成 token,每一步都基于之前的上下文
  • 一旦生成了某个 token,就无法回退或修改
  • 推理路径是线性的,没有分支和回溯
  • 模型无法在多个可能的推理路径之间进行比较和选择

这种方式对于简单任务足够有效,但对于复杂推理任务存在明显局限:

  • 早期的错误会沿着推理路径传播,无法纠正
  • 模型无法探索多个可能的解决方案
  • 无法评估中间推理步骤的质量
  • 对于需要全局最优的问题,容易陷入局部最优

Tree of Thoughts(思维树)

Tree of Thoughts 是由普林斯顿大学和 Google DeepMind 的研究者提出的框架,旨在让 LLM 能够进行更灵活的推理。

核心思想

ToT 的核心思想是将推理过程组织成一棵树:

  • 节点:表示一个推理状态(部分解决方案或中间思考)
  • :表示从一个状态到另一个状态的推理步骤
  • 根节点:初始问题
  • 叶节点:完整的解决方案

模型在推理过程中可以:

  1. 分支:从一个状态生成多个可能的下一步
  2. 评估:评估每个中间状态的质量("这个思路看起来对吗?")
  3. 搜索:在树中搜索最优路径(广度优先、深度优先或其他策略)
  4. 回溯:放弃不好的路径,回到更好的分支

与传统方法的对比

方法推理结构能否探索多路径能否评估中间结果能否回溯
Input-Output单步
Chain-of-Thought线性链
Self-Consistency多条独立链是(但独立)
Tree of Thoughts

典型流程

一个典型的 ToT 推理流程包括:

  1. 思维分解:将问题分解为多个推理步骤,每个步骤生成若干候选思维
  2. 思维生成:对于每个当前状态,生成多个可能的下一步思维
  3. 状态评估:让模型评估每个候选状态的质量(可以是打分或分类)
  4. 搜索算法:使用搜索算法(BFS/DFS/beam search)选择要探索的路径
  5. 输出选择:从所有完整的解决方案中选择最优的一个

示例:24 点游戏

24 点游戏是 ToT 的经典测试场景:给定 4 个数字,通过加减乘除得到 24。

传统 CoT 方式:模型一次性尝试生成完整的解题过程,一旦中间步骤出错就无法纠正,成功率较低。

ToT 方式:

  1. 第一步:从 4 个数字中选择 2 个,生成所有可能的运算结果
  2. 评估:哪些中间结果看起来有希望(接近 24 的因数)
  3. 第二步:从有希望的中间结果继续,生成下一步
  4. 重复直到得到 24 或确认无解
  5. 选择最优的解题路径

研究表明,ToT 在 24 点游戏中的成功率从 CoT 的约 4% 提升到了约 74%。

MCTS(蒙特卡洛树搜索)

MCTS 是一种在博弈树中进行随机搜索的算法,因 AlphaGo 而闻名。将 MCTS 与 LLM 结合,可以实现更高效的推理搜索。

MCTS 的四个步骤

MCTS 每次迭代包括四个步骤:

  1. 选择(Selection):从根节点开始,根据选择策略(如 UCB1)选择一个未完全展开的节点
  2. 扩展(Expansion):在选中的节点上生成一个或多个子节点
  3. 模拟(Simulation):从新节点开始,进行随机或启发式的模拟,直到达到终止状态
  4. 回溯(Backpropagation):将模拟结果回溯更新到路径上的所有节点

重复这四个步骤,直到达到计算预算,然后选择最优的下一步。

LLM + MCTS 的结合方式

将 LLM 与 MCTS 结合有几种方式:

方式一:LLM 作为策略和价值函数

  • LLM 负责生成候选动作(策略函数)
  • LLM 负责评估状态的好坏(价值函数)
  • MCTS 负责搜索和选择
  • 这类似于 AlphaGo 中神经网络 + MCTS 的方式

方式二:LLM 作为推理器,MCTS 作为搜索框架

  • LLM 在每个节点生成推理步骤
  • MCTS 管理搜索树,决定探索哪些分支
  • LLM 评估中间结果的质量
  • MCTS 根据评估结果调整搜索方向

方式三:渐进式解码

  • 将 LLM 的解码过程本身组织成树搜索
  • 每个节点表示部分生成的文本
  • MCTS 决定在哪些分支上继续生成
  • 最终选择最优的完整文本

与 ToT 的区别

虽然 ToT 和 MCTS 都涉及树搜索,但它们有一些区别:

特性ToTMCTS + LLM
搜索策略通常 BFS/DFS/beam search蒙特卡洛随机搜索
评估方式LLM 直接评估状态模拟 + 回溯更新
计算预算固定深度或宽度可灵活控制迭代次数
探索 vs 利用较难平衡UCB1 天然平衡
实现复杂度中等较高

实际应用场景

1. 数学推理

ToT 和 MCTS 在数学推理任务中表现突出:

  • 多步骤数学问题
  • 方程求解和证明
  • 逻辑推理
  • 组合优化问题

通过探索多种解题路径并评估中间步骤,模型可以避免早期错误导致的整体失败。

2. 代码生成

在代码生成中,ToT 和 MCTS 可以:

  • 探索多种实现方案
  • 评估代码的正确性和效率
  • 自动调试和修复错误
  • 选择最优的实现

研究表明,ToT 在代码生成任务中可以显著提升正确率。

3. 规划和决策

对于需要多步规划的任务:

  • 任务分解和调度
  • 资源分配
  • 路径规划
  • 战略决策

ToT 和 MCTS 可以评估不同规划方案的优劣,选择最优方案。

4. 科学发现

在科学研究中:

  • 假设生成和验证
  • 实验设计
  • 数据分析
  • 文献综述

ToT 和 MCTS 可以帮助系统地探索多种假设和研究路径。

实现挑战和注意事项

1. 计算成本

ToT 和 MCTS 需要多次调用 LLM,计算成本远高于单次推理:

  • 一棵有 100 个节点的树可能需要 100 次 LLM 调用
  • 每次调用都有延迟和费用
  • 需要在性能和成本之间找到平衡

缓解方法

  • 设置合理的搜索预算(节点数、深度、时间)
  • 使用便宜的模型进行搜索,高端模型进行最终生成
  • 缓存重复的状态评估
  • 并行化搜索过程

2. 状态评估的准确性

ToT 和 MCTS 的效果很大程度上取决于状态评估的准确性:

  • LLM 可能错误地评估中间状态的质量
  • 不好的评估会导致搜索方向偏离最优路径
  • 某些任务难以在中间步骤评估好坏

缓解方法

  • 使用更强大的模型进行评估
  • 结合多种评估方式(LLM 评估 + 规则检查 + 验证器)
  • 对评估结果进行校准
  • 在不确定时增加探索

3. 树的爆炸问题

搜索树可能迅速膨胀:

  • 每个节点生成多个子节点,指数级增长
  • 大量节点消耗计算资源
  • 需要有效的剪枝策略

缓解方法

  • 使用 beam search 限制宽度
  • 设置最大深度
  • 及时剪枝明显不好的分支
  • 使用 MCTS 的 UCB1 策略智能分配计算资源

4. 与现有框架的集成

将 ToT 和 MCTS 集成到现有 LLM 应用中需要一定的工程工作:

  • 需要管理搜索树的状态
  • 需要实现搜索算法
  • 需要处理异步和并行
  • 需要监控和调试

现有工具

  • LangChain 提供了 ToT 的基础实现
  • HuggingFace Transformers 支持一些搜索算法
  • 有专门的库如 tree-of-thoughtsllm-mcts

总结

Tree of Thoughts 和 MCTS 代表了 LLM 推理方式的重要演进:从"一次性猜答案"到"系统性地探索和评估多条推理路径"。

核心要点:

  1. 传统 LLM 推理的局限:线性、无回溯、无法评估中间结果
  2. ToT 的价值:将推理组织成树,支持分支、评估、搜索和回溯
  3. MCTS 的优势:通过蒙特卡洛搜索智能平衡探索和利用,计算预算灵活可控
  4. 显著的性能提升:在数学推理、代码生成、规划决策等复杂任务中,性能提升明显
  5. 实际挑战:计算成本、评估准确性、树爆炸、工程集成

对于需要处理复杂推理任务的开发者来说,ToT 和 MCTS 是值得了解和尝试的技术。它们不是要替代传统的推理方式,而是在需要更高推理质量的场景中提供更强大的工具。

正如文章标题所说:当你不再让模型只猜一次,而是让它系统性地探索和评估时,会发生什么?答案是:推理质量会显著提升,但代价是更高的计算成本和更复杂的工程实现。在合适的场景下,这个代价是值得的。

原文链接:https://dev.to/shrsv/tree-of-thoughts-and-mcts-for-llms-what-happens-when-you-stop-making-the-model-guess-once-3dmm

推荐文章

程序员茄子在线接单