什么是思维树 Tree of Thoughts?它相比 CoT 有什么优势?
- 标签:Prompt、思维树
🏛 业务架构师
思维树(Tree of Thoughts,ToT)是 CoT 的升级:CoT 是一条链走到底,ToT 让模型在推理过程中生成多个候选思路分支,评估各分支前景,择优扩展、可回溯重试——把"单链推理"变成"树状搜索"。
相比 CoT 的优势:
- 探索与回溯能力:CoT 走错一步满盘皆错;ToT 某分支评估不佳可以放弃换路——像下棋的"复盘推演"而非"直线下棋";
- 多路径择优:同一问题生成多条思路,评估比较后选最优——复杂问题的解空间探索更充分;
- 前瞻评估:每个中间状态(thought)被显式评估(打分/判断可行性),推理过程有"质量检查点"。
代价:多次 LLM 调用(生成分支+评估+选择),成本和延迟是 CoT 的数倍到数十倍——这是它没成为默认方案的原因。
适合的场景:需要全局规划的复杂任务——数学证明/难题(ToT 论文的经典场景:24 点游戏)、方案设计(多方案生成比选)、代码架构决策、策略博弈类问题;不适合:简单问答、高吞吐场景(成本受不了)。
2026 年的视角:ToT 的思想已渗透进 Agent 工程——LangGraph 的分支+评估+回退、Reflexion 的失败反思重试、MCTS 类搜索与推理模型结合(o1 类的内部探索)本质都是"树状搜索"的变体。面试讲 ToT 的正确姿势:不只讲结构,而要讲清"它把推理从贪心单链升级为带评估的搜索"这一本质,以及成本约束下的适用边界。
🏗 系统架构师
思维树(Tree of Thoughts, ToT)= 把推理组织成树的搜索过程——CoT 的单链推广为多分支探索。机制三点:
- 思维分解:把推理拆成"思维步"(一段推理/一个中间方案),每步是一个树节点;
- 分支生成与评估:每节点用 LLM 生成 k 个候选后续思维(分支),同时用 LLM 评估各候选的前景(状态打分/可行性判断)——生成与评估分离;
- 搜索策略:BFS(逐层扩展保留最优)或 DFS(深挖 + 回溯)+ 剪枝(放弃低分分支)——把经典搜索算法(A*式启发搜索)套在 LLM 推理上。
相比 CoT 的优势:
- 可回溯:CoT 一条道走到黑,中间错了全错;ToT 发现死路能退回分叉点换路线——探索式问题求解(24 点游戏、创意写作规划、密码解谜类任务上大幅超越 CoT);
- 前瞻与全局比较:分支评估相当于对"未来"打分,避免局部最优;
- 中间状态可组合:不同分支的优质片段可融合(CoT 做不到)。
代价(架构师账本):ToT 的 LLM 调用次数是 O(分支 × 深度 × 2)(生成 + 评估)——成本与延迟是 CoT 的 10~100 倍;且需要任务可分解、状态可评估(开放对话类不适用)。
选型谱系:CoT(便宜默认)→ Self-Consistency(投票,×N 成本)→ ToT(搜索,×几十成本)——按"任务探索性 × 答案价值"升级;需要深度探索+验证的高价值任务(研究规划、复杂规划类 Agent)才上 ToT,日常推理增强模型 + CoT 已覆盖大多数场景。
💻 全栈开发专家
思维树(Tree of Thoughts, ToT):把推理组织成树形搜索——每步生成多个候选「思考分支」,对分支评估打分,择优扩展,坏分支剪掉/回溯——CoT 的单链变成了带评估的系统性搜索。
相比 CoT 的优势:
- 探索 vs 直线:CoT 一条路走到黑,一步错步步错;ToT 在关键决策点分叉多条路,错了能回溯换分支——适合「需要试错与前瞻」的任务;
- 显式评估:每步用 LLM 给分支打分(「这个思路有前景吗 1~10 分」),搜索有 heuristic 引导,不是随机游走;
- 全局规划能力:24 点游戏、创意写作、跨约束规划这类解空间大、需要回溯的任务上,ToT 对 CoT 是质变(论文里 24 点 GPT-4 从 4% 提到 74%)。
实现骨架(BFS 版):
python
def tot_solve(problem):
frontier = [initial_state]
for depth in range(MAX_D):
candidates = []
for s in frontier:
thoughts = llm_generate_thoughts(s, k=3) # 分叉
for t in thoughts:
score = llm_evaluate(s + t) # 打分
candidates.append((score, s + t))
frontier = top_n(candidates, n=2) # 剪枝保留优枝
if any(is_solution(s) for s in frontier):
return best_solution(frontier)
return None # 或回溯策略工程取舍(清醒的部分):LLM 调用量是 CoT 的几十倍(生成×评估×多深度),成本和延迟陡增——只用于高价值、解空间复杂的任务(数学证明、方案设计);简单推理 CoT 或推理模型直答更划算。LangGraph 实现很自然(分支节点+条件边+回溯),比 CoT 更贴合图编排。