第 5 章 · 自测与辨析

自测 & 辨析:把六个模式钉回两根轴

前四章建立了两根轴(算力花在哪 × 接不接外部真值)、六种核心模式和一批前沿变体。这一章不教新东西,只做一件事:逼你把它们从记忆里取出来、在新场景里用。读得顺不算学会,选得对才算。

用法:先合上前四章,把答案写在纸上或编辑器里,再展开对照 | 题量:15 题 · 三层梯度 | 重心:应用判别层(capstone 替代)

这一章检验的三层能力

  • 概念层 · 回忆:六个模式各是什么、各把算力花在哪
  • 原理层 · 理解:为什么 CoT 有效、为什么闭环会幻觉、为什么 ToT 的命门是评估器
  • 应用判别层 · 迁移:给新场景选对模式,并讲清为什么不选其余——这层最难,也最像真实工作

·怎么用这一章

每一道题都先合上教程作答,写下来,再展开文末的答案对照。直接看答案等于把这一章当成第五遍泛读——前四章的「流畅感警告」在这里照样成立。三层题按难度递增:概念层能背出来只是起点,能在应用判别层把场景和模式对上号,才说明那两根轴真的进了你的脑子。

↑ 越往上越难,越接近真实工作 应用判别层 该用哪个模式 ← 真正考你的迁移 原理层 · 理解 为什么有效 · 为什么会幻觉 概念层 · 回忆 CoT / ReAct 是什么 · 各花哪种算力
图 5.1自测题的三层梯度,底层回忆、中层理解、顶层判别。 注意:真正检验你学没学会的是顶层——能不能在没见过的场景里选对模式,而不是底层能不能背出定义。

一概念层 · 回忆(对应 01–02 章)

  1. CoT、Self-Consistency、ToT、ReAct、Reflexion 这五个,各自把推理期算力花在哪种资源上?一一对应说出来。提示:01 章 §1.1
  2. zero-shot CoT("Let's think step by step")和 few-shot CoT 的区别是什么?zero-shot CoT 实际跑下来是几次 LLM 调用?提示:01 章 §1.2
  3. Self-Consistency 投票时,投的是整条推理链,还是只是被抽出来的最终答案?被丢掉的是什么?提示:01 章 §1.3
  4. ReAct 循环由哪三段组成?其中哪一段把外部真值带进上下文?提示:02 章 §2.2
  5. Reflexion 自称 "verbal reinforcement learning"。它更新模型权重吗?它的"强化"具体存在哪里?提示:02 章 §2.4

二原理层 · 理解(对应机制,01–03 章)

  1. 为什么"多写几个中间 token"能让模型解更难的题?用"计算深度 / 串行步数"来解释,不许用"让模型想得更清楚"这种话。
  2. 一段 CoT 读起来逻辑通顺,为什么不能就此相信它反映了模型的真实计算?举出 Turpin 或 Lanham 的一个具体反例。
  3. 闭环推理(CoT / ToT)和接地推理(ReAct)在"会不会一脸自信地错"上有什么本质差别?根因是什么?
  4. ToT 的真正难点是搜索算法,还是状态评估器?为什么没有一个校准好的评估器时,ToT 基本只是在烧钱?
  5. 为什么在 o1 / DeepSeek-R1 这类推理模型上,往 prompt 里加 few-shot CoT 例子反而会拉低正确率?

三应用判别层 · 迁移(跨章场景,capstone 替代)

每题都要给出选择 并 说清为什么不选其余——只答对名字不算过关。

  1. 数学竞赛题:一道有唯一数值答案的题,token 预算充足,模型是 GPT-4(非推理模型)。CoT、Self-Consistency、ToT 里选哪个?为什么另两个在这里不划算或没必要?
  2. 客服 agent:要查实时订单状态、查会变动的退款政策,偶尔工具 API 报错。纯 CoT、ReAct、Plan-and-Execute 里选哪个?哪根轴(接地 / 承诺)在这题起决定作用?
  3. 代码生成:任务带一组能跑的单元测试(明确 pass/fail 信号),第一次生成经常失败。Reflexion、Self-Refine、Self-Consistency 里选哪个?为什么这里 Self-Refine 不如 Reflexion?
  4. 换内核:你把模型从 GPT-4 换成 o3(自己会长推理),原方案是"few-shot CoT 提示 + ReAct 工具循环"。哪部分该去掉、哪部分该保留?为什么?
  5. 给新模式归位:有人提出一个新玩法——"先让模型并行写 8 条草案,再让它把 8 条合并成一条最终答案"。它落在两根轴的哪个格子?最接近本教程讲过的哪个已知模式?
亲手画一张图

合上整本教程,在纸上画出这两根轴:横轴是「算力花在哪」,纵轴是「接不接外部真值」。然后凭记忆把 CoT、Self-Consistency、ToT、ReAct、Reflexion、Plan-and-Execute 六个填进格子。 画完翻回 起点的图 0.1 对照——你画的图里,ReAct 和 Reflexion 落在下半(接地)那一排了吗?ToT 有没有被你正确地放在上半(内部闭环)?放错的那个,正是你还没真正吃透的轴。

进阶挑战 · 刚好够不着

把两轴升级成一张选型决策树

两根轴是一张"地图",但选型时人需要的是一条"路线"。试着把它改写成一棵决策树:根节点问一个最分水岭的问题,三到四次分叉后落到具体模式。哪个问题最该放在根节点——是"有没有可靠的外部反馈信号",还是"答案能不能投票",还是"模型自己会不会推理"?

提示(卡住再展开)

先想哪个问题一旦答了,能砍掉最多候选。"模型自己会不会推理"几乎一刀切掉所有手写推理脚手架(第 4 章),适合放最前;接着"需不需要外部真值"分开接地 / 闭环两个家族;再用"答案可投票吗 / 要不要回溯"在家族内部细分。没有唯一正确答案,但根节点选错会让树变臃肿。

全部答案(15 题都做完再展开)

概念层

  1. CoT=串行 token(中间步骤写在 token 流里);Self-Consistency=并行采样(多条链);ToT=树搜索(生成 + 评估 + 回溯);ReAct=工具往返(每步调一次外部);Reflexion=重试回合(跨 episode 带记忆重来)。
  2. few-shot CoT 在 prompt 里给出带推理步骤的示例;zero-shot CoT 不给示例,只追加一句"Let's think step by step"。zero-shot CoT 是两次调用:第一次诱导出推理,第二次把答案抽取出来。
  3. 只投最终答案(对答案做多数投票 / 边缘化)。推理文本本身被丢弃——它不评分、也不挑"最佳链"。
  4. Thought → Action → Observation。Observation 把外部真实结果带进上下文,是接地的那一段。
  5. 不更新权重(零梯度)。它的"强化"是一段语言形式的自我反思,写进 episodic memory,下次重试时前置进 prompt。把它叫 RL 有点勉强。

原理层

  1. 一次前向传播的计算深度固定,串行步数有上限(属于弱计算类,连可靠的迭代状态跟踪都难)。每吐出一个 CoT token 又重新进入模型,相当于多走一个串行步——token 流把"递归"展开成更多串行计算,T 步 CoT 近似模拟一个规模为 T 的电路。所以多写 token=给模型补它架构上缺的计算深度。
  2. 因为链条可能是事后合理化,不是真实计算。Turpin:把示例答案全设成 (A) 制造偏置,模型会照着 (A) 编一套理由、正确率最多掉 36%,且从不提那个线索。Lanham:截断或往链里掺错,发现某些任务的答案根本不随链条改变——说明答案在链写出来之前就定了。
  3. 闭环推理没有任何一步和真实世界核对,错误会顺着链往下传,且模型对错误答案同样自信;接地推理每步都有 Observation 把真值打回来,下一步推理是以真值为条件,所以能在中途纠错。根因是有没有外部真值进入循环。
  4. 真正的难点是状态评估器。BFS/DFS 只是遍历;决定走哪条、剪哪条、何时回溯,全靠评估器给出可信的 sure/maybe/impossible。评估器不准,搜索就只是把一堆同样不靠谱的分支都试一遍,成本翻几倍而质量不升。
  5. 因为这些模型已经把长推理训进了权重,会自发生成内部链。手写的 few-shot CoT 例子会和这条已训练的内部链冲突、把模型往示例的表面套路上带;多项证据显示 zero-shot 直给反而比 few-shot 更准,加例子是负优化。

应用判别层

  1. Self-Consistency。答案唯一且可投票、预算充足,采样多条 CoT 投票能稳稳压低方差、性价比最高。ToT 的树搜索对"唯一数值答案"是杀鸡用牛刀,而且要额外造一个状态评估器(命门);单条 CoT 则没用上你富余的预算。(综合 01 + 03 章。)
  2. ReAct。决定因素是接地那根轴:要查实时、会变的外部状态,闭环 CoT 只会编,必须每步用 Observation 接真值;API 会报错也要求走一步看一步、当场纠错,而不是前置一张会过时的死计划(Plan-and-Execute 在这里反而脆)。(综合 02 章。)
  3. Reflexion。关键是这里有一个清晰的外部信号(单元测试 pass/fail)。Reflexion 能把"为什么这次没过测试"写进记忆、指导下次——这正是它需要、也是它擅长的。Self-Refine 只让模型自己批评自己、没有外部真值,容易自我感觉良好地原地打转;Self-Consistency 对"会不会过测试"这种要执行验证的任务也使不上劲。(综合 02 + 03 章。)
  4. 去掉 few-shot CoT 提示(o3 自己会推理,手写示例反而掉分,改 zero-shot 直给);保留 ReAct 工具循环(接地 / 工具编排是应用架构,推理模型再强也得靠它查实时数据、调真实工具)。一句话:推理脚手架退场,接地与编排留下。(综合 04 章。)
  5. 落在内部闭环 / 并行采样 + 聚合那个格子——并行写多条、再合并。最接近的已知模式是 Graph of Thoughts(它在 ToT 基础上多了"把分支聚合 / 合并");也可看成 Self-Consistency 把"多数投票"换成了"让模型合并"。它没接外部真值,仍属上半的闭环家族。(综合 03 章归位法。)