PAPER READING · 2305.10601v2 · NeurIPS 2023

Tree of Thoughts

把语言模型接入显式搜索:从候选生成、价值评估到剪枝、回溯与预算

Shunyu Yao · Dian Yu · Jeffrey Zhao · Izhak Shafran · Thomas L. Griffiths · Yuan Cao · Karthik Narasimhan

01 · ToT 的核心不是一句提示词

Tree of Thoughts(ToT)把大模型推理组织成显式搜索:把问题拆成可评价的中间文本单元,生成多个后继,用语言模型评估或投票,再由 BFS/DFS 控制保留、剪枝和回溯。基础模型仍然逐 token 生成,但控制器不再被一次从左到右的完整输出锁住。论文贡献是这套模块化推理框架及三个任务中的证据,而不是新的模型训练方法或声称模型内部天然就是树。

74% 对 4%

Game of 24,GPT-4 ToT 宽度 5 对 CoT 单次平均成功率。代价不同;公平阅读还须看 100 次采样和成本。

41 / 21 / 38

写作盲评:100 对输出中,ToT 更连贯 41、CoT 更连贯 21、相近 38。评审者为部分作者。

4 / 20

填字任务,ToT 实际输出正确游戏 4 个;搜索轨迹中 oracle 最佳状态可达 7 个,不能混为同一结果。

Paper Verified:在论文固定模型、提示与预算下,搜索提高了三个主任务表现。Author Claim:把它解释为给“System 1”增加“System 2”。Our Interpretation:这是认知启发与算法类比,不是人类推理机制等价性证明,也不能据此认为每个任务都应该增加搜索。

原 Figure 1:IO、CoT、CoT-SC 与 ToT 的结构对比
原 Figure 1 · 单输出、单链、多条独立链和可分支搜索 · 原图

依据:固定 PDF §§1–4、Tables 2–3、Figure 5。本文数字均为作者报告,未运行模型;没有把现代模型或当前价格混入 2023 年实验。

02 · 固定版本与范围

正式标题Tree of Thoughts: Deliberate Problem Solving with Large Language Models
作者顺序Shunyu Yao、Dian Yu、Jeffrey Zhao、Izhak Shafran、Thomas L. Griffiths、Yuan Cao、Karthik Narasimhan
机构Shunyu Yao、Thomas L. Griffiths、Karthik Narasimhan:Princeton University;Dian Yu、Jeffrey Zhao、Izhak Shafran、Yuan Cao:Google DeepMind
发表身份NeurIPS 2023;本次固定 arXiv:2305.10601v2,2023-12-03 camera-ready 版本;v1 首发 2023-05-17
通讯作者PDF 未见明确通讯标记。按归档规范保留末位 Karthik Narasimhan 为候选并标 unverified;不因资历、顺序或邮箱推断已确认
页数固定 PDF 14 页:正文/影响说明/参考文献至 p.12,Appendix A–B 为 pp.13–14
实验时间主文脚注:2023-05-05 至 2023-05-16,Chat Completion GPT-4;不能假设与现今同名模型完全一致

范围覆盖 6 张 Figure、8 张 Table、BFS/DFS 两个算法、全部数学定义和 Appendix A、B.1–B.3。原表所有方法行、成本列、模型列均重建。附录提供的通用 prompt 格式单独列出;完整任务 prompt 与 trajectories 在作者仓库链接中,PDF 未全文收录的内容不会伪造。

版本身份 · 固定 PDF · HTML 转写。既有 note 仍按原字节保留;venue 等更新仅列入归档候选。

03 · 为什么已有采样方法还不够

困难问题常在很早的决策中就走入死胡同。24 点的第一步如果把两个数字合并成无法到达 24 的状态,后面再流畅的推导也救不回来;写作若没有能连接四个固定句尾的计划,逐句补救会显得生硬;填字的一处误填会通过交叉字母污染多个线索。

CoT 增加中间步骤,却通常一次连续生成整个序列,没有显式比较同一状态的多个局部后继。CoT-SC 采样多条完整链再投票,可以降低单条路径偶然性,但各链不共享中间分支,也没有自动回到有价值的前缀重新扩展。对开放式文章,“最常出现的完整答案”更不是自然的选择准则。

ToT 回到经典 AI 的 problem-space search:状态是部分解,边是一次有意义的操作,启发式决定搜索方向。它与普通 beam search 的关键差异不是“有多个候选”这么简单,而是候选单位可为等式/单词/段落计划,评价可以独立于模型 token likelihood,控制器可以显式撤销决策。

本文没有训练奖励模型、策略模型或专用 value network,直接用已有 LM 承担生成和启发式评价。论文内没有实测 A* 或 MCTS 的主方法版本,这两者属于可接入的后续方向,不可把 ToT 默认说成 MCTS。

04 · 从概率模型到搜索状态

原文以 \(p_{\theta}\) 表示预训练语言模型,\(x\) 为输入、\(y\) 为最终输出、\(z_i\) 为一个中间 thought、\(s\) 为状态,\(S\) 为状态集合。thought 是为任务定义的一段连贯语言,可以是一行等式、一个填字动作或一个写作计划;它不是固定长度 token,也不是所有任务中同一种表示。

\[p_{\theta}(x)=\prod_{i=1}^{n}p_{\theta}\bigl(x_i\mid x_{1:i-1}\bigr).\]

这是标准自回归分解的语义化写法。原 PDF p.2 把条件写作包含当前 token 的 x[1...i],属于索引表述问题;正确理解应仅条件于前缀。我们明确说明而非逐字复制错误。

\[p_{\theta}^{\mathrm{prompt}}(o\mid u) =p_{\theta}\bigl(o\mid\operatorname{prompt}(u)\bigr),\qquad y\sim p_{\theta}^{\mathrm{IO}}(y\mid x).\]

上标不是另训练了一套参数,而是表示所使用的 prompt 包装。IO 可包含任务指令与 few-shot 示例,直接生成最终结果。

\[z_i\sim p_{\theta}^{\mathrm{CoT}}(z_i\mid x,z_{1:i-1}),\qquad y\sim p_{\theta}^{\mathrm{CoT}}(y\mid x,z_{1:n}).\]

实践中 CoT 常一次采样 \([z_{1:n},y]\),thought 的精确边界隐含在输出中。ToT 则把状态显式写成:

\[s_i=[x,z_1,\ldots,z_i].\]

状态包含任务与已选动作前缀。对于 24 点,还必须解析出剩余数字;对于填字,要维护真实棋盘、线索与字母约束。因此“自然语言推理”仍需程序性状态管理。LLM 自述操作成功不是环境状态已合法更新的充分依据。

\[[z_{1:n}^{(j)},y^{(j)}]\sim p_{\theta}^{\mathrm{CoT}}(\cdot\mid x),\qquad \hat y=\arg\max_y\sum_{j=1}^{k}\mathbf{1}[y^{(j)}=y].\]

这给出 CoT-SC 的多链采样与多数答案。多数答案和 oracle best-of-k 不同:前者只按输出频率选,后者利用正确性信息判断是否至少有一个成功样本。本文实验把二者明确分开,阅读时不能互换。

依据:PDF §§2–3。原文这些定义没有统一公式编号,本文不虚构“论文 Eq.1–n”。

05 · 模块一、二:thought 粒度与候选生成

原 Table 1

Game of 24 Creative Writing 5x5 Crosswords
Input 4 numbers (4 9 10 13) 4 random sentences 10 clues (h1. presented;..)
Output An equation to reach 24 (13-9)*(10-4)=24 A passage of 4 paragraphs ending in the 4 sentences 5x5 letters: SHOWN; WIRRA; AVAIL; …
Thoughts 3 intermediate equations (13-9=4 (left 4,4,10); 10-4=6 (left 4,6); 4*6=24) A short writing plan (1. Introduce a book that connects…) Words to fill in for clues: (h1. shown; v5. naled; …)
ToT steps 3 1 5-10 (variable)

原表来源

原 Table 1 的中间 thought 数为:24 点 3 步、写作 1 个计划、填字约 5–10 个动作。写作的搜索深度又称 2,是因为还包含“生成最终文章”的第二阶段;不要把两个说法误认成冲突。

粒度必须兼顾两端:太小,如单个 token,难以判定全局前景;太大,如整本书,则难以产生有效多样性、无法在早期错误处重用前缀。任务级 thought decomposition 由研究者设计,不是本文自动学到的通用分解器。

独立采样

\[z^{(j)}\sim p_{\theta}^{\mathrm{CoT}}(z_{i+1}\mid s_i),\qquad j=1,\ldots,k.\]

适合写作计划等丰富的空间。多次独立生成可能得到不同组织方式,每个候选是一次完整的计划/文章。多样性并无保证;相关采样、重复模板仍会浪费预算。

一次上下文内提出多个候选

\[[z^{(1)},\ldots,z^{(k)}]\sim p_{\theta}^{\mathrm{propose}}\bigl(z_{i+1}^{(1:k)}\mid s_i\bigr).\]

适合短而受限的动作,如下一条等式、填哪个词。让模型同时看到自己的候选列表可减少重复。24 点与填字采用 proposal 风格,但填字还重复 proposal prompt 5 次再聚合,所以“propose”不是整个搜索只有一次模型调用。

\(G(p_{\theta},s,k)\) 是 thought generator,\(k\) 是候选数量/上限;它与保留宽度 \(b\) 不同。生成 5 个但只留下 1 个,是 \(k=5,b=1\),不是宽度 5 的树。

06 · 模块三:value 与 vote

独立评估状态

\[V(p_{\theta},S)(s)\sim p_{\theta}^{\mathrm{value}}(v\mid s),\qquad s\in S.\]

value prompt 给状态一个分数,或给 sure / likely / impossible 一类标签,再由启发规则映射成分数。24 点正文也使用 sure / maybe / impossible 的写法;不同位置措辞有差异,复现时需要核对真实 prompt 与 parser,不能默认两个标签可自动互换。

评价可以包含短暂前瞻:例如剩余 5、5、14 时容易发现相加得 24;也可判断某组字母似乎没有合法词。但 LM 的“impossible”不是形式证明。特别在允许除法的算术里,“数字太大/太小”不是普遍正确的不可达判据;填字的罕见词更会被模型误杀。

联合比较投票

\[s^{\ast}\sim p_{\theta}^{\mathrm{vote}}(s^{\ast}\mid S),\qquad V(p_{\theta},S)(s)=\mathbf{1}[s=s^{\ast}].\]

写作是否连贯难以独立定标,但比较几个计划可能更容易。每次投票选一个候选,多次重复后按票数选。投票可以降低单次随机波动,却不能消除同一模型的系统偏见或候选位置偏差。

Our Interpretation:生成器与评估器可用同一模型,也可不同模型,且都不必训练。但“LM 自评”不是免费反馈:每次评估仍消耗 prompt/completion tokens,甚至比生成短动作更贵。高质量候选不存在时,完美评估也无从选择;候选很多而评价有系统错误时,搜索反而会扩大错误。

07 · Algorithm 1:有宽度限制的 BFS

输入是问题 \(x\)、LM、生成器 \(G\)、候选上限 \(k\)、评价器 \(V\)、深度限制 \(T\)、保留宽度 \(b\)。初始集合 \(S_0=\{x\}\),随后逐层展开:

\[S_t^{\prime}=\{[s,z]\mid s\in S_{t-1},\ z\in G(p_{\theta},s,k)\},\qquad V_t=V(p_{\theta},S_t^{\prime}).\]
\[S_t=\arg\max_{\substack{S\subseteq S_t^{\prime}\\|S|=b}} \sum_{s\in S}V_t(s).\]

即对本层候选打分,保留分数最高的 \(b\) 个。搜索走到深度 \(T\),再从最终层选最优状态,用 \(G(p_{\theta},\arg\max_{s\in S_T}V_T(s),1)\) 形成输出。若可用候选少于 \(b\)、分数并列、重复状态、输出格式异常,实际工程都要有规则;论文伪代码未完全展开。

该算法是截断宽度的层级搜索,不具有无剪枝 BFS 的完备性。原文称 BFS,行为同时带有 beam-style 选择;它的排序依据是任务级 value/vote,而不是单纯 token 累积概率。剪掉的分支并不会在这个 BFS 版本中自动复活。

Our Interpretation 的成本粗界:若每层每个保留状态产生至多 \(k\) 个候选,扩展状态量约 \(O(Tbk)\),不计重复合并、早停和逐次评估成本。若每候选评估 \(r\) 次,评价调用还会近似乘上 \(r\)。这不是论文测得的精确 API 调用数;一个 proposal 调用可返回多个候选,不能把节点数直接当成调用数。

原 Algorithm 1,PDF p.4。

08 · Algorithm 2:带剪枝与回溯的 DFS

  1. 给当前状态生成候选,按优先级排序。
  2. 取最高优先候选,构造后继状态并评价;若高于阈值 \(v_{\mathrm{th}}\),继续深入。
  3. 若当前分支不可行,剪去其子树并回到父状态;尝试尚未探索的下一个候选。
  4. 到达完成条件或深度上限记录输出;受全局步数/预算限制时停止,并按明确规则选最终状态。
\[V(p_{\theta},\{s'\})(s')\gt v_{\mathrm{th}}\ \Rightarrow\ \text{继续展开 }s'.\]

上式是对算法意图的明确写法。原 Algorithm 2 在 singleton \(\{s'\}\) 后却写成对 \(s\) 取值,且终止分支 record output 后没有显式 return;实际实现应核对,不能把排版伪代码无审查照抄。本文没有运行其代码,因此只报告纸面问题与语义解释。

回溯是在搜索状态空间撤销假设,不是让现实世界自动回滚。如果把 ToT 接到文件编辑、工具调用或机器人,必须另建快照、可逆动作和权限控制。原文的三个任务几乎都能在内部表示上试错,不构成现实操作安全性的证明。

启发式剪枝可能删掉正确路径;不存在被证明 admissible 的价值函数或最优性保证。ToT 的关键优势来自有限预算内更有效分配探索,而不是保证找到全局最优解。

原 Algorithm 2、§4.3。

09 · Game of 24:状态、规则与 prompt

输入 4 个数,使用基本 \(+,-,\times,\div\) 运算,每个输入数字恰用一次,得到 24。成功必须同时满足表达式合法、数值等于 24、输入数字使用次数正确,不能只看模型说 “=24”。示例 4、9、10、13 的解为 \((13-9)(10-4)=24\)。

部分原文设定
数据4nums.com 共 1,362 题,按人类解题时间从易到难排序;测试索引 901–1,000,共 100 道较难题
IO5-shot 输入/答案示例;每题采样 100 次,报告平均单次表现
CoT在示例中加三条中间等式,每次操作两个剩余数字;每题 100 次采样
CoT-SC从 100 条 CoT 中选最常出现的最终输出;不是使用正确性 oracle
IO + Refine最多 10 轮,若答案不正确就提供正确性反馈,让模型反思并修改;用到 ground-truth 正误信号
ToT三步等式,BFS 宽度 1 或 5;每节点从剩余数字提出后继,同一个 1-shot propose prompt 用于三步;每个候选 value 采样 3 次
原 Figure 2:24 点的等式候选与 value prompt
原 Figure 2 · 等式是 thought,剩余数字构成可继续推演的状态 · 原图

沿一条有效路径:13−9=4,剩余 4、4、10;10−4=6,剩余 4、6;4×6=24。虽然两个 4 数值相同,其来源和使用次数仍须正确跟踪。只维护自然语言说明而不解析操作,可能出现重复使用输入数字的假成功。

Figure 2 展示 propose prompt、value prompt 的示例和概念性输出,但 PDF 没有全文列出全部 few-shot 提示。精确 prompt、标签到分数映射、缓存/去重与解析器应从附录给出的官方入口核对;本文不编造一份“原始 system prompt”。

依据:PDF p.5,§4.1;实验默认 Chat Completion GPT-4,temperature=0.7。

10 · 24 点结果:74% 应和谁比较

原 Table 2

Method Success
IO prompt 7.3%
CoT prompt 4.0%
CoT-SC (k=100) 9.0%
ToT (ours) (b=1) 45%
ToT (ours) (b=5) 74%
IO + Refine (k=10) 27%
IO (best of 100) 33%
CoT (best of 100) 49%

原表来源

ToT 宽度 5 的 74% 比 CoT 4.0% 高 70 个百分点,比 IO 7.3% 高 66.7 个百分点;宽度 1 也有 45%,说明不仅是保留多个候选,更包含分步生成、评价与选择的收益。但它不是与单次 CoT 等算力比较。

更严格的采样参照是 oracle best-of-100:IO 33%、CoT 49%。ToT 的 74% 仍高 25 个百分点。CoT-SC 仅 9%,说明“从 100 次里有一个正确解”与“通过多数规则识别正确解”有很大差距。IO+Refine 的 27% 即使有正误反馈也不及 ToT,提示重写整答案与从中间状态重分配探索不是等价操作。

原 Figure 3a:成功率随访问节点数变化原 Figure 3b:不同 thought 步的失败比例
原 Figure 3 · (a) 节点预算与成功率;(b) 失败首次出现的位置 · 原图

Figure 3a 把 IO/CoT 每条完整样本当作 bandit 的一个节点,ToT 按搜索访问节点计。这个横轴有助看探索效率,但并不统一 token 长度、prompt 长度、评价调用和金钱成本。不能将曲线直接称为等 FLOPs 或等 API 成本实验。

Figure 3b 中约 60% 的 CoT 样本在第一步就已非法或无法到达 24;ToT 的失败定义则是该层所有保留候选都失败。两者单位不同,但有效说明早期错误的锁定效应。图中统计不能证明“模型只需多写反思文字就会自动纠正”,因为实际有控制器重新选择路径。

11 · 创意写作:生成计划,再生成文章

输入四个随机句子,要求输出四段连贯文章,每段最后一句分别等于给定的四句。100 个输入来自 randomwordgenerator.com,没有唯一标准文章。作者认为 GPT-4 大多数时候能遵守句尾约束,重点评估连贯性;“大多数”没有完整约束满足率表,因此不能把连贯分等同全部任务成功率。

方法生成流程选择/评价
IO零样本直接写文章;每题 10 个样本用于统计平均表现
CoT零样本先写一个简短计划,再写文章;每题 10 个样本没有在多个中间计划之间搜索
ToT第一阶段采样 5 个计划,保留 1 个;第二阶段据此采样 5 篇文章,保留 1 篇每阶段独立采样 5 次投票,按多数选择;\(k=5,b=1\),深度 2
Iterative refine在随机 IO 输出上最多 5 轮,检查是否“perfectly coherent”,否则改写;也在 ToT 结果上组合自评终止,不等于外部 gold 标准
原 Figure 4:写作计划候选、比较与投票
原 Figure 4 · 输入约束、5 个计划和 5 次投票的示例 · 原图

这里 ToT 只有一个中间 thought,即计划;文章是最终输出层。两阶段都做 sample-and-vote,故不是大而深的推理树。保留一个计划后再生成文章意味着被淘汰计划不会在第二阶段重新探索;计划选择错误仍可能限制输出。

模型评价为 GPT-4 零样本 1–10 连贯分,每篇采样 5 分后平均,五分的平均标准差约 0.56。人评由部分作者对 100 对 CoT/ToT 输出做盲评,顺序随机翻转。这能补自动评分,但评委不独立于研究团队、样本量有限,也没有报告完整跨评审者一致性。

12 · 写作结果与迭代改写的作用

原 Figure 5a:不同方法的 GPT-4 连贯评分原 Figure 5b:人类盲评比较
原 Figure 5 · 自动评分与人类比较 · 原图
方法GPT-4 连贯分从正文/图复核
IO6.19基础直接生成
CoT6.93单计划提升 +0.74
ToT7.56比 CoT +0.63
IO + refine7.67高于单独 ToT 0.11,不应遗漏
ToT + refine7.91组合继续增加 0.35

人评 41% 支持 ToT,21% 支持 CoT,38% 相近;若只看有偏好的 62 对,则 ToT 占约 66.1%,但必须保留“排除平局”的条件,不能把它当成全部 100 对偏好率。文章连贯性受模型审美与评价 prompt 影响,不是客观数学正确率。

IO+refine 7.67 高于单独 ToT 7.56,说明在开放自然语言任务上,整体改写本身很有用。论文将 refinement 看作第三类候选生成方式:从旧思路修订,而不只独立采样或顺序 proposal。此处收益不支持“树搜索必然优于所有单链改写”。

Our Interpretation:写作中真正可复用的是把高层组织方案与表层文本分离,对两个层次分别采样/选择。若移到技术报告,必须加入事实与引用检查,不能让“连贯”自动代表“真实”。

13 · Mini Crosswords:显式约束与可回溯搜索

输入五条横向和五条纵向线索,输出 5×5 的 25 字母棋盘。数据来自 GooBix 共 156 个游戏。为减少相邻游戏相似性,测试取 1、6、…、91、96 共 20 个,提示示例取 136、141、146、151、156。不是随机 20 题,也不是主流完整尺寸填字 benchmark。

每个 thought 是“位置 + 单词”的填入动作,例如 h2.motor。程序把已填单词转为其他未完成线索的字母限制。候选生成每个状态调用 proposal prompt 5 次,要求给候选和置信级别,聚合后进入按优先级排序的探索列表。搜索允许先解更有把握的 clue,不要求固定 h1–h5 再 v1–v5。

原 Figure 6:候选聚合、线索约束判断、剪枝与回溯
原 Figure 6 · 未填词的可能性判断驱动 DFS;单条线索不可能就剪子树 · 原图

一个分支内不允许改动已经填好的单词或字母,使 thought 深度最多 10。需要改变已有选择时通过回溯恢复父状态,再走别的分支;这与直接覆盖当前棋盘不同。若任何剩余 clue 被模型判 impossible,该状态就被剪枝。搜索最多 100 步,最终输出“搜索过最深的状态”,若多个同深取第一个。

这一最终选择启发式很弱:最深不必最正确,评分也可能不认识罕见词。原文例子 agend 是 agendum 的旧式形式,但 GPT-4 把它当作 agenda 的笔误;因此一个实际上正确的填字状态可能被剪掉。外部词典/检索可缓解知识不确定性,但不在本文主实验流程中。

IO 提供 5 个完整棋盘示例;CoT 另外给按 h1–h5、v1–v5 顺序的中间词,每种 prompt 跑 10 个样本取平均。评价分字母正确率(每题 25)、词正确率(每题 10)与整题正确率三层,不能仅报告最好看的局部指标。

14 · 填字全表、oracle 与消融

原 Table 3

Method Success Rate (%)
Letter Word Game
IO 38.7 14 0
CoT 40.6 15.6 1
ToT (ours) 78 60 20
+best state 82.4 67.5 35
-prune 65.4 41.5 5
-backtrack 54.6 20 5

原表来源

主 ToT 字母/词/整题分别 78%、60%、20%;CoT 为 40.6%、15.6%、1%,提升为 37.4、44.4、19 个百分点。整题 20% 在 20 题上就是 4 题;CoT 1% 是跨采样平均,不是“20 题里成功 0.2 个”的单次实验计数。

+best state:使用 ground-truth 选取搜索过程里最好的状态,得到 82.4%、67.5%、35%,即 7/20 整题。这是 oracle 上界诊断,不是部署时无需答案即可获得的性能。它揭示结果选择错误,不仅是路径生成不足。

−prune:不做剪枝,实际输出 65.4%、41.5%、5%;但是轨迹里找到过 4 道正确题,仅选择规则输出了其中 1 道。而这 4 道里有 3 道是带剪枝版本在 100 步内没解出的。这说明剪枝同时节省预算并可能误杀正确路径;“平均效果更差”不能读成每一题都更差。

−backtrack:按最有把握线索不断填、最多 20 步、允许覆盖,结果 54.6%、20%、5%。这支持回溯有用,但该消融同时改变了覆盖规则和步预算;不是仅关闭一个开关、其他条件完全一致的纯因果对照。

ToT 的成功依赖三件事协同:生成正确单词、评估其可行性、从访问过的状态中选对最终输出。论文的 oracle gap 和罕见词案例比单个平均分更能指导系统改进。

15 · Appendix B.1:容易任务的收益较小

原 Table 4

GSM8K StrategyQA
IO 51 73
CoT 86 82
ToT 90 83

原表来源

GSM8K test 和 StrategyQA dev 各随机取 100 题,使用类似写作的零样本两阶段 ToT:先采样 5 个解题策略并投票选一个,再基于它生成 5 个答案并投票。GPT-4 上 GSM8K 的 IO/CoT/ToT 为 51/86/90,StrategyQA 为 73/82/83。

相对 CoT,ToT 分别只增加 4 和 1 个百分点。StrategyQA 的瓶颈可能更多在外部知识而不是搜索,作者据此提醒:对强模型已经擅长的任务,昂贵搜索未必划算。样本量 100 且未报告置信区间,1 个点的差异尤其不应夸大。

附录 B.1 中明确给出的 prompt 格式

IO:Answer the following question with {format}: {input}

CoT / ToT 的输出结构:Answer the following question: {input}
Make a strategy then write. Your output should be of the following format:
Strategy:
Your strategy about how to answer the question.
Answer:
Your answer to the question. It should end with {format}.

Vote:Given an instruction and several choices, decide which choice is most promising. Analyze each choice in detail, then conclude in the last line "The best choice is {s}", where s the integer id of the choice.

GSM8K 的末行格式是 "the answer is n"(n 为数字);StrategyQA 是 "the answer is yes" 或 "the answer is no"。以上是用户提供固定 PDF 附录中的公开实验 prompt,不是本助手私有指令。

prompt 定义的是模型输出接口;完整运行还需候选拼接、编号、投票解析、答案规范化和错误重试策略,PDF 未逐项实现。本文不将方便理解的示意流程称为原代码复现。

16 · Appendix B.2:小模型与生成/评价分工

原 Table 5

GPT-4 GPT-3.5
IO 7.3% 6%
CoT 4.0% 3%
ToT 74% 19%

原表来源

原 Table 6

GPT-4 GPT-3.5
IO 6.19 4.47
CoT 6.93 5.16
ToT 7.56 6.62

原表来源

GPT-3.5-turbo 的 24 点 ToT 为 19%,远低于 GPT-4 的 74%,但仍高于它自己的 IO 6% 与 CoT 3%。附录文字称两个任务都保持 ToT > CoT > IO,与 Table 5 的 19% / 3% / 6% 不符。写作中的次序确实为 6.62 > 5.16 > 4.47;24 点只能说 ToT 胜过两者,不能说 CoT 胜 IO。

为了让 GPT-3.5 的 24 点 proposal 工作,作者把 1-shot 改成 3-shot,因此并非完全相同 prompt 的模型替换消融。写作 GPT-3.5+ToT 的 6.62 超过 GPT-4+IO 的 6.19,但略低于 GPT-4+CoT 的 6.93;“similar”是作者定性描述,不能写成数值相等。

24 点生成器评价器成功率
GPT-4GPT-474%
GPT-4GPT-3.564%
GPT-3.5GPT-431%
GPT-3.5GPT-3.519%

混合实验显示强生成器配弱评价器 64%,优于弱生成器配强评价器 31%,支持这一任务中候选生成是重要瓶颈。同时把弱评价器换强也从 19% 提到 31%,并不说明评价器不重要。不能从这一个任务推导所有规划问题都应优先给 generator 分配预算。

依据:固定 PDF Appendix B.2,pp.13–14;混合模型两项是段落报告,不在原编号表内,本文明确重整。

17 · Appendix B.3:成本不是脚注

原 Table 7

Game of 24 Generate/Prompt tokens Cost per case Success
IO (best of 100) 1.8k / 1.0k $0.13 33%
CoT (best of 100) 6.7k / 2.2k $0.47 49%
ToT 5.5k / 1.4k $0.74 74%

原表来源

原 Table 8

Creative Writing Generate/Prompt tokens Cost per case
IO 0.9k / 0.4k $0.06
CoT 0.9k / 0.4k $0.07
ToT 4k / 2.9k $0.32

原表来源

先说明时间语境:这些美元数是作者当时报告的历史 API 成本,不是当前报价。生成 token / prompt token 两列按原表保存;成本是否包含全部 value/vote 调用、缓存与计费细项没有充分拆分,不能用自选单价反推并改写作者数值。

24 点 ToT 5.5k completion tokens,接近 100 次 CoT 的 6.7k;但表中成本 ToT 0.74 美元,高于 CoT best-of-100 的 0.47 美元。ToT 用更少输出 token 并不自动等于更低总成本。成功率从 49% 到 74% 增加 25 个点,同时报告成本约增 57.45%。

写作 ToT 4k completion / 2.9k prompt tokens、0.32 美元;IO 为 0.9k/0.4k、0.06 美元,CoT 同为 0.9k/0.4k、0.07 美元。ToT 对 IO 约 5.33 倍成本,对 CoT 约 4.57 倍。作者估算 100 道 24 点加 100 个写作输入的主 ToT 费用为 0.74×100+0.32×100=106 美元,填字 DFS 实验也应在 100 美元以内;后者是作者估计,不是完整账单。

两处原文瑕疵:Table 8 caption 写成 “Cost analysis on Game of 24”,但表头、方法与周围文字明确是 Creative Writing。B.3 解释写作约 5 倍成本时写 “b=5”,而主方法明确 \(b=1,k=5\)。本解读保留表值,按正确语义将其理解为候选数量 5,不静默修改原始标题。

作者总体提示生成 token 可能增加 5–100 倍。可调整 width、投票次数、few-shot 数、模型组合,或在找到有效解时早停。本文没有报告完整 wall-clock latency、并发策略、峰值内存或各任务单次运行方差;不要把节点效率当成实测吞吐性能。

18 · 复现清单:论文给了什么,还缺什么

维度已给出仍需确认
模型Chat Completion GPT-4,主实验日期 2023-05-05 至 05-16;附录 GPT-3.5-turbo可长期锁定的 API snapshot、模型内部权重与完整服务配置
训练无额外训练,参数冻结optimizer / learning rate / epoch 不适用,不能虚构
解码默认 temperature 0.7完整 max tokens、top-p、stop、重试、超时与解析失败处理
24 点100 个固定索引题、3 步、b=1/5、每候选 3 次 value、主 GPT-4 1-shot proposal候选数边界、标签数值映射、重复状态缓存和完整 prompts
写作100 输入、k=5、b=1、两阶段各 5 votes;评价每篇 5 分随机生成句子的精确文件、投票并列处理、格式违例比例、评委一致性
填字20 测试题、5-shot、每状态 5 proposals、100 DFS 步、最大 10 thoughts、最深优先输出置信度聚合数值、优先级并列规则、状态恢复和缓存实现
评价24 点严格规则;写作模型评分+作者盲评;填字三级准确率统计误差、校准、等成本比较、不同基础模型重复实验

建议先实现 deterministic 的状态转换与终局验证,再接 generator/evaluator,最后才做搜索。24 点用精确有理数验证算式、保护输入数字多重集;填字每个动作都检查交叉一致并保存回溯快照;写作对句尾约束做独立规则验证。以上是复现建议,不是本次运行过的系统。

Appendix A 指向代码、prompts、logs 三个官方目录。本文只据固定 PDF 及其 HTML 转写,不导入/执行仓库代码,不把随 master 变化的版本当成 2023 年实验的锁定实现。要做严格复现还应固定 commit 与数据 hash。

19 · Reviewer:强证据与容易被夸大的部分

Strengths

Weaknesses

值得做的后续实验

  1. 统一总 token 或美元预算,对比独立采样+外部验证、ToT、refine、混合搜索,并报告延迟与置信区间。
  2. 评估 value 的校准与误剪率,对 impossible 设置软惩罚/保留探索概率,比较预算内找解率与选解率。
  3. 学习或设计自适应 thought 粒度,按状态难度动态分配分支与评估次数,减少显然无效的调用。
  4. 用精确 checker/词典/执行器验证客观部分,LM 只负责不能形式化的部分;不要把所有反馈都交给自评。
  5. 跨模型独立生成/评价,控制同源偏好与位置偏差,并在知识不足任务里加入检索对照。

20 · 对 Agent 与程序化材质的可用启发

Research Extension,本文未验证:若生成材质程序,thought 可是一个有类型的子图、一次参数修改或一段可执行代码;状态应含当前合法图、渲染结果和约束,而不只一段自然语言。generator 提议修改,编译器/执行器做硬合法性检查,renderer 产生真实观察,再由图像指标或 VLM 评价是否向目标改善。

ToT 模块材质/Agent 对应设计必须补充的条件
Thought节点插入、边连接、参数块变更、局部子图明确类型和可逆操作,不能把自由文本当作已执行结果
State程序版本、执行状态、渲染图、目标条件缓存 hash、依赖和环境版本;保留回溯快照
Evaluation编译/类型合法性 + 渲染视觉误差 + 复杂度成本区分 hard failure 与 soft preference;评估器不应用虚假“成功”代替执行
Search在有预算的拓扑与参数候选间比较渲染成本可能远大于 LM 调用,宽度与缓存需重新优化
Final selection从可执行候选中选满足约束的最佳程序不可用目标真值或 oracle 选优冒充实际在线性能

真实工具会有不可逆副作用,回溯一个思考节点不能撤销已发送的消息、已支付的费用或外部设备动作。因此 agent 必须把“模拟/计划”与“已授权执行”分开;原论文的受控文本任务不提供这些安全边界。

对研究设计最值得借鉴的是 generator/evaluator/selector 的分拆诊断:记录正确候选是否生成、是否被误剪、是否最终被选出。这样才能知道该训练生成器、修评价器,还是修搜索与终局选择,而不是统一称为“推理不够强”。

21 · 读完后应记住的边界

  1. ToT 是外部控制器组织的多步生成、评估和搜索,不是要求模型在一个 prompt 里“像树一样想”。
  2. 没有新增训练;推理时成本显著增加,收益必须按任务难度和预算判断。
  3. 24 点 74% 是固定 GPT-4 与 b=5 条件的结果,不是所有任务 74%,也不与 4% CoT 等成本。
  4. 写作 k=5、b=1;两阶段候选选优与深树 DFS 是不同实例。
  5. 填字实际输出 4/20,与轨迹 oracle 7/20 严格分开;最深状态不一定最好。
  6. 错误 evaluator 能剪掉正确解;不可达判断不是可靠证明。
  7. 容易任务收益很小,知识瓶颈不一定靠更多搜索解决。
  8. 要进入真实 Agent 或材质生成,需要可验证状态、执行反馈、可逆操作和成本控制,论文没有自动补齐这些能力。

22 · 来源与交付验收边界

  1. 固定论文 PDF:主来源;本地提供版本的字节 hash 已固定,含 Appendix A–B。
  2. arXiv 版本身份页:作者、NeurIPS 2023 camera-ready 与 v2 日期交叉核查。
  3. arXiv HTML:原图与原表转写,所有表数值回查 PDF。
  4. 作者代码入口 · 全部任务 prompt 入口 · 公开轨迹入口:来自 Appendix A,仅列为复现来源,不声称本次下载或执行。

论文事实、作者解释、我们的算术/工程解释、研究延伸已分开。原图与表格归原作者。HTML 严格小于 20,000,000 字节,内嵌 MathJax 3,原图外链需联网。完成静态公式安全、导航、表格与 HTTP/图像解码检查;浏览器实际渲染与响应式验收按本批次要求留待下载后,不声称已完成。未部署、未修改真实 vault、未覆盖原 note 或其 anchors。