大模型为什么连 24 点都算不对?Tree of Thoughts 让它学会「试错和回头」,成功率从 4% 飙到 74%
大模型为什么连 24 点都算不对Tree of Thoughts 让它学会「试错和回头」成功率从 4% 飙到 74%你让 GPT-4 算一道 24 点用 4 个数字加减乘除凑出 24它大概率会卡壳。不是因为它不会算——459这种它门儿清。而是因为它太「一根筋」一旦第一步选错了路它就一路错到底永远不会说「算了我换条路」。论文里有个扎心数字在 100 道高难度 24 点上标准推理方法CoT成功率只有4%。而给它加上一个叫Tree of Thoughts思维树ToT的框架后——同一个 GPT-4成功率直接干到74%。差了快 20 倍。没换模型没加参数没有微调。只是让它学会了「试错和回头」。这篇是长文建议先点收藏慢慢看。我会从「为什么需要它」一直讲到「它怎么落地、坑在哪、下一步是什么」争取一篇讲透。〇、先对齐背景CoT 和 SC 分别解决了什么要懂 ToT得先懂它的两个前辈否则你会觉得 ToT 莫名其妙。CoT思维链Chain of Thought让模型把推理写成「一条线性链」——问题 → 步骤1 → 步骤2 → 步骤3 → 答案」。它把难预测的一步拆成一串易预测的小步。比如「小明买 3 斤苹果每斤 12 元…」这类题CoT 已经能稳定答对。SC自一致性Self-Consistency同一个题用较高温度采样生成 N 条独立的 CoT对最终答案做多数投票滤掉单条随机错误。适合有标准答案、想用算力换稳的题如数学 GSM8K。它们共同的根本限制来自 ToT 论文Yao et al., 2023的原话语言模型在推理期仍然被限制在「token 级、从左到右」的决策过程里。这句话是理解全文的钥匙。它带来两个死穴不可回溯某步写错错误一路带到底无法回头换路。无法前瞻/规划面对「得先试几步、发现走不通再换思路」的任务线性或平行链都无能为力。用两个任务一对比就清楚了任务CoT / SC 表现原因小明买苹果3×12−52×1255CoT 已能稳定答对单链线性推理足够无需试错Game of 24用 4 个数凑 24CoT 仅4%必须先「试运算、看是否走得通、不通就换」一句话定位ToT 把「推理」从「写一条链」重新建模成「在一棵思维树上做搜索」——可以生成多个分支、自评每个分支、前瞻与回溯。它是 CoT / SC 的自然推广论文原文IO、CoT、CoT-SC、self-refine 都是 ToT 在「树深/树宽受限」时的特例。一、大模型为什么这么「一根筋」CoT 很强但天生死穴就是上面说的从左到右写错了就只能错到底。于是有人想那让它想 100 遍、投票决定呢论文也试了——想一遍CoT4%想 100 遍投票SC9%为什么没救因为每一次「想」它都是一根筋往前冲。100 个一根筋的人没有一个会中途回头。多采样只是在重复同一个不会回头的错误。这就引出一个关键洞察24 点这种题难点根本不是「会不会算」而是「要不要试错和回头」——而这恰恰是 CoT/SC 最不会的东西。二、ToT 是什么把推理变成「在一棵树上搜索」Tree of Thoughts 的思路特别像人解题不是「想出一条路」而是「同时想几条路边想边判断哪条靠谱走不通就换一条」。它把推理从「写一条链」变成「在一棵思维树上做搜索」。四个关键词思维thought不是单个 token而是「一个有意义的中间步骤」——一步运算、一段话的提纲、填字的一个词。树tree同一状态可以分出多个候选分支而不是一条道走到底。自评self-evaluate每个状态都被打分决定保留还是剪掉。搜索search用 BFS / DFS 等算法在树上导航。三者关系一句话CoT 是「想一条路」SC 是「想多条路再投票」ToT 是「想多条路、边想边判断哪条靠谱、不通就回头」。而且论文明确说CoT、SC 全是 ToT「缩水版」的特例。ToT 不是替代它们是它们的升级档——按任务难度「升档」使用。三、ToT 不是什么先破除 3 个误解讲原理前先排掉最容易踩的坑❌不是新训练了一个模型ToT完全不训练无奖励模型、无策略梯度、无微调跑的是冻结的预训练 LM。❌不是一句 prompt 就能触发它是一套需要外部代码控制器的推理期框架详见第五节。❌不是 CoT 的替代品它是 CoT 的推广按任务难度升档使用。这三点很重要因为网上很多「ToT prompt 模板」其实只是轻量变体后面第九节会讲和论文里真正的框架是两回事。四、内部机制4 个可插拔模块ToT 是模块化框架由 4 个组件构成。下面仍以 24 点贯穿讲解。4.1 思维分解Thought Decomposition先决定「一个 thought 多大」这定义了搜索的状态粒度。24 点每个 thought 一步运算如13−94状态 当前剩下的数字集合。创意写作每个 thought 一段提纲 / 一段正文。填字游戏每个 thought 填一个词。4.2 候选生成Thought Generation给当前状态用 LLM生成 k 个下一步候选 thought。论文用两种策略策略做法特点Sample独立采样同一状态独立采样 k 次彼此无关多样性高Propose顺序提议基于已有 thought 续写下一个更连贯但更贵24 点每状态生成 k 个候选运算论文约 k5。4.3 状态评估State Evaluation★ 关键分水岭这是 ToT 与 CoT / SC 最大的不同每个状态都单独被打分。两种方式方式做法24 点用法Value打分让 LLM 给状态打 0–1 分few-shot—Vote投票让 LLM 对多个状态比较、选最优判断「剩余数字能否凑出 24」标sure / maybe / impossible每状态采样 3 次取多数评估器通常就是 LLM 自己自洽地当裁判。4.4 搜索算法Search Algorithm按评估结果组织探索论文主推两种BFS广度优先每一层只保留top-b个最有希望的状态逐层展开24 点用 BFSb5depth3。DFS深度优先沿一条分支深探走到死路impossible 或超步数就回溯到上层换分支填字游戏用 DFS。论文还提到 A* / MCTS 是更先进的未来方向。五、剪枝与回溯算法级真相最容易被误读的部分这是 ToT 真正的精髓也是最多人讲错的地方。我把「剪枝怎么剪、回溯怎么回」在算法层面拆开——它们不是模型「想通了往回走」而是搜索算法的显式操作。5.1 剪枝Pruning剪枝 根据评估分数把不值得展开的状态直接丢弃不再为它生成子节点。分类式评估状态被贴impossible→ 立即剪掉连子节点都不生成。数值式评估打 0–1 分 → 按分数排序只保留最高的 b 个beam width b其余全丢。剪枝不删除已生成的 token只是「不再继续往下生成这条分支」。5.2 回溯Backtracking★ 破除最大误区回溯不是把已生成的 token 撤销、退回去重算Transformer 生成的 token 不可逆。ToT 的「回溯」是搜索控制流——当一条分支走死算法放弃它转去处理 frontier待探索集合里另一条还活着的分支。每个节点 「到目前为止的 thought 序列」一个状态。ToT 在内存维护一棵树 一个待探索集合队列 BFS / 栈 DFS。「回到 A2 / B 分支」 用 A2 或 B 的 thought 前缀新开一次 LLM 调用而不是把 A1 的 token 抹掉。树是由很多次独立调用拼出来的不是一次连续生成。5.3 BFS 版伪代码frontier[初始状态]# 第 0 层fordepthinrange(max_depth):next_frontier[]forstateinfrontier:childrengenerate_k(state)# 模块2生成 k 个候选forcinchildren:c.scoreevaluate(c)# 模块3状态评估children.sort(byc.score,descTrue)next_frontierchildren[:b]# 剪枝只留分数最高的 b 个frontiernext_frontier# 被丢弃的 剪枝ifany(solved):returnsolution# 找到 24 就停returnNone这里「回溯」表现为A1 分支死掉后它根本没进next_frontier算法自然去处理同层的 A2、B。没有回退动作只是不追这条了。5.4 DFS 版伪代码defdfs(state,depth):ifsolved(state):returnstate# 命中 24ifdepthmax_depth:returnNone# 超深死forcingenerate_k(state):c.scoreevaluate(c)ifc.scoreimpossible:continue# 剪枝跳过此子节点resdfs(c,depth1)# 深入下一层ifres:returnres# 下游找到了一路返回returnNone# 所有子节点都死 → 回溯到上层dfs(初始状态,0)这里「回溯」是字面意义return None把调用栈弹回父节点父节点for循环continue试下一个子节点。5.5 回溯是「承重墙」消融证据论文做了去掉组件的消融实验在填字游戏上去掉回溯退化为 b1 贪心 BFS词级成功率从60% 跌到约 20%。这意味着回溯不是锦上添花而是 ToT 生效的关键机制。少了它整个方法塌房。六、实战24 点完整走查题目用4、9、10、13四个数加减乘除各用一次凑出 24。规则每个数用一次thought 一步运算状态 剩余数字集合。搜索树绿色保留/求解红色评估器剪枝{4, 9, 10, 13} / | | \ A:13-94 B:10-46 C:91019✗ D:4×936✗ {4,4,10} {6,9,13} (剪枝) (剪枝) / \ A1:10-46 A2:448 {4,6} {8,10} │ (无法凑24✗) A1a:6×424 ✓逐层走查思维分解切成「一步一运算」状态 剩余数字集合。生成候选从根同时提 4 个第一步候选见上表C、D 被评估为impossible剪枝只留 A、B。沿 A 展开{4,4,10}生成 A110−46→{4,6}、A2448→{8,10}。A1 求解{4,6}→6×424 ✓。完整路径13−94→10−46→6×424。如果走错了回溯演示假设 A1 没成它的子节点全被剪算法从 frontier 取A2{8,10}或B{6,9,13}继续——这就是「换分支」。CoT / SC 永远没有这一手。同题对比范式24 点表现原因CoT贪心~4%随机选一条常是4×936死路一条、无法回头SC多链投票~9%多条独立链投票但每条链内部仍贪心规划力有限ToT树搜索~74%显式剪枝 回溯七、ToT 是框架不是 prompt成本量化这一节很多教程会跳过但它决定了你能不能真用起来。CoT / SC 是「改 prompt 就能跑」ToT 不行它需要一个控制器循环维护状态树、反复调用 LLM、解析输出成状态、按评估分数决定展开/剪枝/回溯。成本论文数据24 点GPT-4每题约5.5k 补全 token约等于并行跑 100 次独立 CoT 试错的总量约 100 倍单次直答成本。实测约100 次 LLM 调用 / 题量级。比 SC 的「100 条独立链」更省因为剪枝提前砍掉死路但远高于单次 CoT。一句话ToT 用「算力换正确率」只在「值得试错」的难题上划算。八、评估器不可靠ToT 的致命弱点前面说评估器通常就是那个 LLM。如果它看走眼把本该保留的好分支误判为impossible→ 错剪把死路误判为likely→ 浪费算力还走错。这连回一个老问题模型自评不一定反映真实推理不忠实 CoT。解法用确定性 verifier 替代 / 补充。24 点里「剩余数字能否凑 24」其实可以写段代码确定性验证不一定要 LLM 自评。论文四组件可插拔→ 评估器可以换成硬规则 verifier、外部工具、或训练好的过程奖励模型PRM。这把 ToT 从「纯 LLM 自评」升级为「LLM 生成 可靠验证」的混合系统大幅降低误剪风险。九、适用场景与边界照着选别乱用适合用 ToT场景类型例子为什么有效组合 / 数学规划Game of 24、约束满足需要试运算、前瞻、回溯约束满足5×5 填字中间词必须互相一致需回溯改字带硬约束的创作给定结尾句写连贯文章全局约束需回溯调整提纲博弈 / 排程 / 策略多步决策、路径规划初始决策关键需试错不适合 / 要慎用❌一眼能答的简单题增益≈0还白白多烧几十倍 token。❌纯事实 / 知识问答ToT 不补知识不懂还是不懂该用检索 / RAG。❌实时 / 高并发搜索是多轮生成延迟扛不住。❌状态难定义很多任务拆不出干净的 thought评估器无从打分。❌小模型当评估器评估器本身得够强小模型自评不可靠。三档选型对照档位方法适用成本1CoT多步但能一次走对低2Self-Consistency有标准答案、想用算力换稳中N 倍3ToT必须规划 / 试错 / 回溯高百倍级十、论文实测结果已核对原文 Yao et al., 2023以下数字来自 ToT 论文arXiv:2305.10601GPT-4经核对原文与官方数据集。Game of 24100 道难题方法成功率IO输入-输出 prompt7.3%CoT贪心4.0%CoT-SCk1009.0%ToTb1退化为贪心45%ToTb5BFS74%即便「best-of-100 的 CoT」也只有 49%——说明搜索更多节点胜过重复采样链。Creative Writing给定 4 个随机结尾句写 4 段连贯文章ToT 连贯性评分 7.56高于 CoT 的 6.93人类两两偏好 ToT 胜 CoT 41/100 对CoT 胜 21/100。Mini Crosswords5×5 填字ToTDFS词级成功率 60%、整局 20%远高于 CoT 的 15.6% / 1%。消融实验填字词级完整 ToT 60%用 oracle 最优状态 82.4%去掉剪枝 65.4%去掉回溯 ~20%——再次印证回溯是承重墙。十一、方法版图与延伸ToT 之后看这些GoTGraph of Thoughts, 2023把 ToT 的「树」放宽为「图」允许不同分支的结论汇聚/合并适合「多思路融合产出最终解」。MCTS 路线如 rStar-Math用蒙特卡洛树搜索替代 BFS/DFS带「探索-利用」权衡更接近 AlphaGo。区别在于 MCTS 常在训练时用树搜索蒸馏进权重ToT 是推理期、纯 prompt的对应物不训练。两篇都叫「Tree of Thoughts」的论文命名澄清Yao et al., 2023本文所讲通用 BFS/DFS/beam 搜索vs Long, 2023用强化学习训练 ToT Controller 驱动搜索策略。查资料别撞车。轻量变体 Tree-of-Thought PromptingHulbert, 2023把 ToT 思想压进单个 prompt如「想象三位专家各自写一步错了就离场」无需外部控制器但搜索深度/质量远弱于完整框架。想「零代码尝鲜」可用。ToT 与 PRM 的关系ToT 的评估器是手写的、未训练的启发式PRM「Let’s Verify Step by Step」把它换成训练好的逐步验证模型。前者即插即用、零训练后者更准但需标注数据。十二、为什么你现在就该搞懂它2026 年整个行业都在卷「推理」。你听到的 o1、DeepSeek-R1还有各种 reasoning 模型底层到处都是「搜索 回溯 逐步验证」的影子。而ToT是这套思想最早、最干净、最好懂的一版原貌。读懂它你就不只是「会用 prompt」的人了而是真正理解了——「让 AI 学会思考」这件事在架构上到底长什么样。 关注看后续 顺手推荐一个开源工具deepSeekHarenss Desktop—— DeepSeekHarness 客户端工具一键安装 deepSeekHarenss。 下载地址https://github.com/qweqe417/dsh-desktop有兴趣的朋友可以去下一个玩玩顺便点个 ⭐Star支持作者 一张图看懂线性链 vs 思维树线性链CoT / SC—— 一根筋走到底问题 │ ▼ 步骤 1 │ ▼ 步骤 2 │ ▼ 步骤 3 │ ▼ 答案 ← 错了只能错到底思维树ToT—— 多路并行能回头┌─→ 候选 A ─┐ │ │ 问题 ── 生成 ──┬─→├─→ 候选 B ─┼─→ 评估 ─→ 剪枝/保留 ─→ 答案 │ │ │ │ │ └─→ 候选 C ─┘ │ │ │ └──────── 回溯换路 ───────────┘一句话线性链「一根筋」错了只能错到底思维树「多条路并行 评估 剪枝 回溯」错了能换路 —— 这就是 ToT 把 24 点从 4% 飙到 74% 的关键。

相关新闻

depot_tools命令无响应:系统性诊断与解决方案全解析

depot_tools命令无响应:系统性诊断与解决方案全解析

1. 项目概述:当构建工具“沉默”时在开发工作中,尤其是涉及大型开源项目(如 Chromium、WebRTC、V8 等)时,depot_tools几乎是绕不开的一套工具链。它封装了 Git、代码同步、依赖管理等一系列复杂操作,让开发…

2026/9/21 3:05:52 阅读更多 →
VLAN的基本配置

VLAN的基本配置

Vlan的基本配置今天我们来介绍简单vlan的基本配置相同vlan之间可以通信&#xff0c;不同vlan之间不通信的情况交换机基本命令<Quidway>system-viewEnter system view , return user view with CtrlZ.[Quidway]sysname Switch[Switch]vlan batch 2 to 3[Switch]vlan 2[Swi…

2026/9/18 16:33:40 阅读更多 →
【内网权威测速工具iperf3】Windows分享

【内网权威测速工具iperf3】Windows分享

iperf3 使用完整教程&#xff08;Windows&#xff0c;用来测内网网线/交换机/网卡链路质量&#xff0c;排查你刚才那套物理链路&#xff09;注意&#xff1a;是 iperf3&#xff0c;不是 iperf&#xff0c;老版本iperf不要用。 作用&#xff1a;内网打流&#xff0c;测试带宽、抖…

2026/9/18 10:37:23 阅读更多 →

最新新闻

GD32H759 RT-Thread实战:I2C与RTC驱动开发及工控避坑指南

GD32H759 RT-Thread实战:I2C与RTC驱动开发及工控避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/22 6:22:07 阅读更多 →
拆解日赚万元副业:从源码解析看Python与Node.js选型差异

拆解日赚万元副业:从源码解析看Python与Node.js选型差异

拆解日赚万元副业:从源码解析看Python与Node.js选型差异 刚复制来的爬虫代码,本地一跑就报错 ModuleNotFoundError…

2026/9/22 6:22:07 阅读更多 →
财务审批流程源码拆解与速查手册:3步搞定环境配置痛点

财务审批流程源码拆解与速查手册:3步搞定环境配置痛点

财务审批流程源码拆解与速查手册:3步搞定环境配置痛点 配置环境就卡半天?别急,这份财务审批流程源码速查手册专治各种不服。很多后端工程师接手旧系统时,发现审批逻辑像黑盒,改个节点就崩,其实核心就在那几行状态机代码里。今天不聊虚的,直接扒开主流…

2026/9/22 6:22:07 阅读更多 →
无极天眼面试通关指南:3个高频坑点与实战代码拆解

无极天眼面试通关指南:3个高频坑点与实战代码拆解

无极天眼面试通关指南:3个高频坑点与实战代码拆解 学会语法却不知怎么搭项目,这是无数转行学员的噩梦。你背了无数条命令,敲通了Hello…

2026/9/22 6:22:07 阅读更多 →
股票分红源码解析:新手避坑指南

股票分红源码解析:新手避坑指南

股票分红源码解析:新手避坑指南 刚学完Python语法,对着屏幕发呆?很多人卡在“怎么把语法变成项目”这一步。做股票分红计算这种实战项目,是检验代码能力的试金石。新手避坑的关键,不是背语法,而是理解数据流。 入口定位:找到核心逻辑…

2026/9/22 6:22:07 阅读更多 →
ESP32双网络语音识别实战:唤醒词与命令词协同架构设计

ESP32双网络语音识别实战:唤醒词与命令词协同架构设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/22 6:21:07 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事&#xff1a;用Flutter给OpenHarmony做一款游戏集合类的App&#xff0c;说白了就是把若干小游戏塞进一个壳里&#xff0c;用统一入口分发。这个方向本身不算新鲜&#xff0c;真正让我花了不少心思的&#xff0c;是首页那堆游戏卡…

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档&#xff0c;最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事&#xff1a;今天在表后面多加了两个空白行&#xff0c;明天给客户交稿前发现整个章节的编号全部错位&#xff0c;光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/22 4:38:57 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年&#xff0c;说实话&#xff0c;第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年&#xff0c;流量惨淡、功能臃肿、代码自己都懒得看第二遍之后&#xff0c;我才慢慢琢磨明白一个道理&#xff1a;第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践&#xff1a;原型怎样变成可用功能分类&#xff1a;[AI/大模型]细分主题&#xff1a;AI 增强型 CI/CD 流水线自动化与 GitOps 实践&#xff1a;Agent 工作流、工具调用与任务拆解&#xff1a;从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战&#xff1a;复盘记录怎样真正派上用场分类&#xff1a;[工程技术]细分主题&#xff1a;Kubernetes 生产环境运维与排障实战&#xff1a;可复制的项目复盘模板与决策记录大部分团队的事故复盘报告&#xff0c;最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理&#xff1a;核心链路应该先拆哪一步分类&#xff1a;[工程技术]细分主题&#xff1a;Docker 容器化技术与镜像安全管理&#xff1a;核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用&#xff08;包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →