Tree of Thoughts 思维树:什么时候值得增加模型调用?

Tree of Thoughts(思维树)通过生成分支、评估中间状态和剪枝,让应用在答案完成前调整解题路径。本文结合 24 点游戏,解释思维树与思维链、自一致性的区别,拆解模型调用预算,并说明评估器、控制器和最终校验如何配合,帮助开发者判断何时值得增加搜索,何时先用推理模型就已足够。

发布于

Tree of Thoughts 思维树:什么时候值得增加模型调用?

Tree of Thoughts(思维树)提示方法是否值得增加模型调用,关键在于:能否在解答完成之前,判断中间方案的好坏。按下文的示例预算,一次小规模搜索就会把 1 次调用的基线方案变成 21 次调用。先测试推理模型的基线表现,只在搜索确实能解决的失败案例上增加分支。

来源核验于 2026 年 10 月 24 日。 下文的基准测试结果均来自 Shunyu Yao 及其合作者的 2023 年原始论文。文中的分支演示和模型调用预算用于解释机制,是示例推算,并非已报告的生产环境结果。

Tree of Thoughts 思维树如何搜索解题路径?

Tree of Thoughts(ToT,思维树)让应用能够比较尚未完成的解答,并决定哪些值得继续探索。大语言模型(LLM)提出下一步,评估器判断由此得到的状态,再由搜索程序决定保留、扩展或放弃哪些状态。Yao 等人于 2023 年 5 月提出这一框架。原论文的方法部分。

可以把它想成在一栋楼里规划路线:走到岔路口时,先查看几条走廊,再决定往哪走。已经堵死的走廊不该继续耗费精力;看起来可行的路线则可以先保留,同时探查其他方向。它的价值在于趁改道的代价还低,及时调整方向。

这里的**思维单元(thought)**是有意义的一段中间成果,可以是一条算式、一个候选填字答案,也可以是一份写作计划。**状态(state)**则记录原始问题和当前的部分解答。思维单元既要足够完整,能够接受评估,又要足够小,让尝试其他方案仍有意义。

整个循环有三个明确的操作:

  • **分支生成:**从当前状态出发,提出不同的下一步。
  • **评估:**检查每个新状态是否满足约束,以及它是否有望通向有效答案。
  • **剪枝:**停止扩展被否决的状态,把剩余预算用在更有希望的候选方案上。

论文将这些操作与广度优先搜索和深度优先搜索结合使用。前者在同一层保留有希望的候选状态,后者沿一条分支向下探索,失败时可以回溯。应根据任务选择搜索方式,两种方式都不需要训练新模型。框架与搜索算法。

对开发者而言,核心变化是应用能够控制中间阶段的备选方案。仅仅要求模型表现得更善于思考,并不能赋予应用这种控制能力。

思维链与思维树有什么区别?

两者的区别在于比较备选方案的时机:是在解答尚未完成时比较,还是等完整答案生成后再比较。

方法生成什么在哪里进行选择
思维链(Chain-of-thought)一条包含中间步骤和答案的连续路径标准设置下,没有显式的外部分支选择
自一致性(Self-consistency)多条完整推理路径汇总各条路径的最终答案
思维树(Tree of Thoughts)多个备选的部分解答在搜索过程中评估和选择

这一区别来自 Yao 等人的背景与方法说明。标准的自一致性方法会采样完整的推理链,并选择出现次数最多的答案。它需要能够合理判断哪些答案等价;对不受格式约束的文本投票,比对数值结果投票更难直接处理。

思维链提示有助于表达中间过程。自一致性增加的是完整尝试之间的多样性。ToT 则增加了一个控制器,可以在付出完成整条路径的成本之前,先停掉较弱的路线。但控制器也带来了新的失败方式:把原本能够成功的路线剪掉。

另外两种相关技术解决的是不同问题。少样本提示通过示例说明所需行为或输出格式,因此能帮助生成器或评估器遵守约定。提示链则把多个阶段串起来,例如先提取事实,再起草回复。固定的阶段序列只有在保留备选方案、并决定探索哪些方案时,才构成搜索。

选择能解决当前问题的最简单结构。格式不一致,就补充更清楚的示例或校验;缺少证据,就加入检索。这些问题本身都不意味着需要一棵搜索树。

用一个例子看懂分支、评估与剪枝

中间算式即使算对了,也可能走进死路。评估器必须能分清这两件事。

以论文中的 24 点游戏为例:用 4、9、10 和 13 这几个数,每个数恰好用一次,通过基本四则运算得到 24。下面的过程是为演示机制而构造的,并非模型对话实录。哪些状态有解、哪些无解,已经通过枚举剩余运算组合检查过。论文中的示例输入。

  1. 从初始状态生成分支

    候选 A 计算 4 + 9 = 13,剩余数值为 10, 13, 13。

    候选 B 计算 13 - 9 = 4,剩余数值为 4, 4, 10。

    两种计算都符合规则。重复出现的数字代表各自独立的剩余数值,状态中必须保留它们各自的数量。

  2. 评估生成的状态

    候选 A 即使把剩余数值各用一次,进行加、减、乘、除,也无法得到 24,因此将其剪枝。

    候选 B 存在有效的后续步骤:用 10 减去其中一个剩余的 4,再乘以另一个 4,因此将其保留。

    这个例子采用精确的算术检查,让判断依据可以核验。论文中的搜索使用的是模型给出的价值估计,这种估计可能出错。

  3. 扩展保留下来的分支

    从 4, 4, 10 出发,可以计算 4 + 4 = 8,剩下 8, 10;也可以计算 10 - 4 = 6,剩下 4, 6。

    第一种状态无法用剩余的一次运算得到 24。第二种可以:4 × 6 = 24。保留这条路径,再核验完整表达式。

  4. 检查最终答案

    (13 - 9) × (10 - 4) = 24 恰好使用了每个原始数字一次,计算结果也达到目标。结果通过任务检查,搜索随之结束。

算术搜索通过分支排除状态 10, 13, 13,保留经过 4, 4, 10 并最终得到 24 的路径。
基于论文示例输入的搜索演示。某一步运算成立,并不代表剩余状态仍然有解。

对这样的小型算术题,穷举求解器就能完成全部工作,加入 LLM 只是增加不必要的工程复杂度。这个例子是为了说明循环机制。在实际应用中,常见的有效分工是:由模型提出可能可行的计划,再由代码检查那些不应让模型猜测的约束。

思维树论文报告了哪些结果?

原论文的结果表明,在作者选择的任务上,有计划的搜索确实带来了帮助。但这些结果不能直接说明,当前的生产工作负载能获得多大提升。

在 24 点游戏任务上,作者用 100 道相对较难的题测试了 GPT-4。实验于 2023 年 5 月进行。表 2 报告的成功率如下:

方法论文中的设置24 点游戏成功率
思维链CoT 提示4.0%
自一致性采样 100 条 CoT 链9.0%
思维树搜索宽度为 145%
思维树搜索宽度为 574%

来源:Yao 等人的表 2 与 24 点游戏实验设置。

搜索宽度指保留的状态数,不是模型调用次数。 生成候选方案和评估候选方案都需要额外工作。在 24 点游戏的配置中,作者对每个候选状态的价值进行了三次采样。实验设置。

论文还研究了创意写作和迷你填字游戏。这些任务各不相同,评估方法也不同。实际能得出的结论比“ToT 让模型变得更强”要窄:当中间方向的选择很重要,而且能够评估时,搜索可能有帮助。开发者在加入控制器之前,仍需要用自己的工作负载验证效果。

增加分支会多出多少次模型调用?

生成、评估和最终输出应分开计数。评估器消耗的调用次数,可能比候选生成器还多。

下面用一个有边界的搜索示例来算账,它独立于论文中的配置。这里的一次调用,指应用发出的一次模型请求。假设每个父节点只发出一次提案请求,就能生成它的全部子节点;每个子节点则分别调用模型进行评估。搜索到指定深度后停止,不重试,也不提前退出,最后再调用一次模型生成回复。

每个被扩展的父节点生成三个子节点,每层结束后保留两个状态,共扩展三层。各层需要扩展的父节点数依次为 1、2 和 2。因此:

  • 生成:1 + 2 + 2 = 5 次调用。
  • 评估:3 × (1 + 2 + 2) = 15 次调用。
  • 最终回复:1 次调用。
  • 合计:5 + 15 + 1 = 21 次调用,相当于 1 次调用基线的 21 倍。

如果每个候选方案都重复评估三次,同一棵树就需要 5 + 45 + 1 = 51 次调用。如果把每层的所有候选评估合并为一次请求,则变成 5 + 3 + 1 = 9 次调用。合并评估会改变评估器的上下文和判断条件;它是一种实现选择,并不保证质量相同。

作为对照,如果自一致性方法分别请求五个样本,再由确定性代码完成最终投票,就需要五次模型调用。额外引入模型裁判会增加调用次数,也会改变这一比较。

通用的计数公式是 C = Σ nₜ(g + kv) + f。其中,nₜ 是第 t 层被扩展的父节点数,g 是每个父节点的生成请求数,k 是每个父节点的子节点数,v 是每个子节点的评估请求数,f 是最终输出请求数。这个公式假设各子节点分别评估;采用批量评估时,应直接按合并后的请求数计算。

如何在 LLM 应用中控制思维树搜索?

把搜索状态和停止规则放在应用代码中管理。让模型提出和评估范围明确、能够检查的中间产物。

这套架构的瓶颈是评估器的判断质量。如果评估器分不清可行的部分解答和看似有说服力的死路,扩展更多分支,只会增加它选错的机会。

  1. 定义可以检查的状态

    以带约束的排程功能为例,状态可以包括已分配任务、剩余任务、已占用时段和尚未满足的约束。把下一步思维单元定义为一项拟议的任务分配,并分别存储状态、候选标识符、父节点标识符和依据。

    选择在当前阶段就能检查的产物。如果只是笼统地写一段“这个策略很好”,就很难可靠地判断是否应该剪枝。

  2. 明确生成器和评估器各自的职责

    给生成器的指令可以是:“根据当前状态,提出不同的下一步分配方案。返回每个候选方案的分配内容和更新后的状态。遵守所列约束。”

    给评估器的指令可以是:“逐一检查候选方案是否满足约束。返回候选标识符、违反的约束,以及后续是否可行、尚不确定或已无可能。引用支持判断的状态字段。”

    对于时段重叠、必填字段缺失等规则,优先使用确定性检查。如果需要模型判断,就通过 LLM-as-a-judge 评估流程,用已知案例验证其判断。

  3. 明确剪枝规则与预算上限

    排除违反硬性约束的状态,对剩余候选进行排序,保留数量有上限的待扩展状态集合,并去除重复状态。预算允许时,保留尚不确定的候选方案;评估器信心不足,并不证明该分支走不通。

    由控制器强制执行请求次数、深度、token 用量和耗时限制,并把评估与重试计入这些限制。记录丢弃了什么、为什么丢弃,方便排查成功路径被剪掉的情况。

  4. 先验证,再接受结果或执行操作

    设置终局检查,例如排程满足全部约束,或相关软件测试通过。如果预算耗尽前没有候选方案达标,就返回未解决的结果,或转交审核。

    分支探索应留在沙盒中,或仅以拟议操作的形式存在。探索中的排程分支不应发送邀请;控制器还在比较候选方案时,代码分支也不应部署改动。

架构剖面图将状态存储、候选生成、评估与选择分开,并以回路表示继续循环或停止。
控制器负责整个循环。模型调用提供候选方案和判断,应用负责执行选择与停止规则。

除了最终答案,也要衡量评估器的表现。错误的否决可能永久移除有用的分支;错误的接受则可能把剩余预算都花在扩展死路上。这两类失败需要不同的修正方式。

什么时候推理模型已经够用,无需额外引入 ToT?

如果推理模型已经满足质量和延迟要求,而且应用不需要控制中间阶段的备选方案,就没有必要再加一层外部 ToT 搜索。

推理模型会在作答前进行内部处理。Anthropic 当前的提示指南建议,给其思考型模型提供总体目标,而不是规定每一步推理。这支持先把任务、约束和验收标准说清楚的做法,但不能据此断言某个具体模型在内部实现了 Yao 等人的 ToT 算法。Anthropic 提示指南。

假设要为应用增加一个小规模代码转换功能,先尝试合适的推理模型,并用相关测试检查结果。如果基线方案已经达到发布标准,外部搜索树只会增加状态管理、评估和故障处理,而没有已经证实的收益。

当应用能提供额外能力时,仍值得考虑外部搜索,例如模拟器、约束检查器、隔离测试环境,或必须保留不同候选计划的要求。更强的模型依然可以充当搜索中的生成器。模型自身的推理能力与应用控制的搜索,是两项独立的设计选择。

最终要靠实测决定:只有经过验证的结果改善足以抵偿测得的资源消耗,才保留搜索树。答案更长、过程记录更复杂,都不是成功标准。

关于思维树,哪些说法被夸大了?

让几位虚构专家展开讨论的提示词,本身并不构成可控的树搜索。它也许能生成备选方案,但生产环境中的 ToT 实现需要明确的状态、评估、分支选择和停止策略。如果这些只存在于一次生成的文本内部,就不能假定你描述的搜索已经按预期执行。

另一种夸大是认为分支越多,答案就一定越好。分支可能反复提出同一个想法;裁判可能与生成器持有同样的错误假设;过早剪枝可能丢掉唯一有用的后续路径。语气再有把握,也代替不了任务检查。

最后,论文在 24 点游戏上的最佳结果,并不能证明每项业务流程都需要 ToT。文档提取器的输出不符合 schema,可能需要更好的示例与校验;客服助手缺少某项政策信息,可能需要补上正确来源。在同样缺少信息的前提下多搜几条路径,并不会补出缺失的事实。

当备选决策可以被评估时,再用搜索。缺上下文或接口约定出了问题,就直接修复这些问题。

这周该如何调整你的应用?

如果失败案例包含本可补救的早期选择,而且你有可信的方法为中间状态评分,就可以开始尝试。例如,在隔离环境中检查候选代码改动,或根据明确的排程约束测试计划。先只为这类案例开一条适用范围较窄的处理路径,并设定固定的搜索预算。

如果你还说不清为什么某个部分解答比另一个更好,就先别扩大搜索。整理一组可接受和不可接受的状态,检查评估器的决策,先改善判断质量,再增加搜索宽度。

如果现有流程只是简单的提取、分类,或已经达到验收标准的固定步骤序列,基本无需调整,继续保留更简单的结构即可。

周一就能动手的具体做法是:从当前思维链流程中挑出失败案例,在同一组留出测试任务上,比较推理模型基线与限定预算的 ToT 版本。最终验证器保持不变,记录通过验收的结果、模型调用次数、token 用量、延迟,以及剪枝误删成功路径的情况。只在结果证明有效的那部分任务上采用搜索。

思维树常见问题

推理和思维链是一回事吗?

推理是解决问题的一种更广泛的能力。思维链则是一种使用中间步骤的提示方法。模型可以进行内部推理,而不在答案中输出这些步骤。

AI 中的“树”指什么?

树用来表示状态及其可能的下一步操作。每个节点是一种状态,子节点则是再走一步后得到的不同备选状态。在 ToT 中,这些状态代表部分解答。

什么是推理树?

在本文语境下,它指把不同的部分解答组织成分支,对其进行评估,再选择哪些继续推进。Yao 等人提出的具体框架叫作 Tree of Thoughts。

什么是思维树提示方法?

它用语言模型提出和评估中间阶段的备选方案,再结合搜索程序,决定扩展哪些状态。实际价值在于:不必等整个答案完成,就可以重新考虑之前的决策。

提示词的“三个 C”是什么?

Yao 等人的 ToT 算法没有定义“三个 C”规则。这种记忆口诀并非其算法规范;论文描述的是思维单元拆分、生成、状态评估和搜索。

思维链和思维树最主要的区别是什么?

标准 CoT 生成一条连续的推理路径。ToT 则显式考虑不同的部分路径,并在搜索过程中进行评估。自一致性又有所不同:它采样完整路径,再汇总最终答案。

能举一个思维链提示的例子吗?

一段算术解题示范可以先写 13 - 9 = 4,再写 10 - 4 = 6,最后写 4 × 6 = 24。把这样的中间步骤作为示例提供,就是在演示 CoT。如果进一步比较不同的下一步,并决定保留哪个分支,就加入了 ToT 的搜索机制。

用简单的话说,什么是思维链?

它通过计算或推导等中间步骤,把问题连接到答案。这些步骤能让解题过程更容易理解,但其中仍然可能有错误。

思维链具体是怎么工作的?

在标准提示设置下,模型根据问题和此前已生成的文本,依次生成中间步骤,再给出答案。仅有这段步骤序列,既不能独立检查正确性,也不会形成由应用管理的待扩展状态集合。

订阅邮件通讯,获取构建可靠 AI 工作流的实用指南。

发布日期
分类
Build
Airtable 替代品怎么选?NocoDB、Baserow 等工具的价格与适用场景

Airtable 替代品怎么选?NocoDB、Baserow 等工具的价格与适用场景

想换掉 Airtable,先分清是席位太贵、容量不够,还是缺少客户门户。本文对比 NocoDB、Baserow、SeaTable、Grist、Smartsheet、Notion 和 Softr,拆解价格、免费额度、自托管、API、自动化与权限差异,帮你按真实工作流选型,并在迁移前验证关联数据、集成和恢复方案。2026年11月10日Build
2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

2026 年 proxy 代理服务推荐:Bright Data、Oxylabs、Decodo 等 7 家怎么选

proxy 代理服务该怎么选?对比 Bright Data、Oxylabs、Decodo、Webshare、ThorData、IPRoyal 与 NetNut,梳理住宅、数据中心、ISP 和移动代理的价格、试用、KYC 与会话控制,分清原始网络、托管解封和抓取 API 的职责,按有效记录成本和实际任务需求筛选。2026年11月10日Build
NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

NVIDIA OpenShell:为 AI 智能体划定可执行的权限边界

NVIDIA OpenShell 如何限制编程智能体的文件、网络和凭据访问?本文梳理受支持的平台、CLI 安装与 OpenCode 启动流程,解释哪些策略可实时更新、哪些变更需要重建沙箱,并给出可审查的编程策略模板、权限测试方法和团队落地场景,帮助平台团队在开放真实项目与服务前看清实际授予的权限。2026年11月9日Build
CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格详解:席位费用、用量限制与附加收费

CodeRabbit 价格怎么算?本文梳理 Essentials、Team、Advanced 与 Enterprise 的席位收费、年付折扣、PR 审查额度及关联仓库限制,并列出不同团队规模的预算算例。了解免费版和开源方案的适用范围,分清超限文件审查、Agent 分钟数与安全扫描费用,再按实际工作流和安全需求选择套餐。2026年11月9日Build
2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

2026 企业杀毒软件怎么选:六款小企业方案、价格与响应服务对比

企业杀毒软件怎么选,关键在于谁来管理设备、谁来处理告警。本文对比 Bitdefender、Microsoft Defender、ESET、Sophos、CrowdStrike 与 Malwarebytes,梳理美元价格、设备额度、服务器授权和托管响应范围,帮助小企业按现有订阅、设备类型与管理能力确定候选方案。2026年11月8日Build
Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 评测:多智能体协作怎么管,部署前要看什么

Paperclip AI 能把分散的 AI 智能体组织成可追踪的工作流,但安装管理面板并不等于完成权限与验收配置。本文梳理官方安装方式、运行时与模型支持、任务交接、预算策略和审批边界,并对比 OpenClaw 与 Hermes Agent,帮你判断是否值得花一个周末试用,以及上线前应检查什么。2026年11月7日Build
Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么?看懂 AI 应用背后的数据库、权限与后端

Supabase 是什么,为什么 AI 应用构建工具常用它做后端?本文从 Postgres 数据库、登录认证、文件存储、实时更新与向量搜索讲起,梳理 Lovable、Bolt、v0 和 MCP 的接入方式,解释 RLS 权限、项目控制权与迁移边界,帮你在接收真实客户数据前,明确需要验证的隔离、恢复和交接事项。2026年11月7日Build
AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?2026 年 Cursor、VS Code、Zed 等 6 款编辑器对比

AI IDE 怎么选?比较 Cursor、VS Code 搭配 GitHub Copilot、Windsurf(现为 Devin Desktop)、Zed、Kiro 与 JetBrains AI,梳理价格、免费方案、智能体模式、模型接入、BYOK、本地推理、隐私边界与团队管控,帮你按工作流判断是否值得迁移。2026年11月6日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。