Chapter 04

2025–26 前沿:你还需要一个显式规划器吗?

前两章把七种显式规划范式讲透。这一章回答 2026 年的问题:当模型自己会在内部规划,这些范式你还用得上几个?诚实的答案是——比想象的少。这是整条主线的兑现章节。

本章你将建立的 schema(截至 2026-06 的判断)

  • reasoning model 把"多步规划"吸进了模型内部——靠 test-time compute 的长链思考,在出答案前先把步骤想完
  • 2023 年"给 LLM 外面套一个显式多步规划器"的反射动作,在 2026 常常是净负——它和模型自己的内部规划相撞
  • 默认答案从"要不要加规划器 = 要"翻转成"先证明真的需要"
  • 编排者-工人(orchestrator-workers)是少数活下来的显式结构——因为它处理单模型内部规划做不到的事:不可预测的并行子任务
  • 框架方向已变:从"为每个任务手搓规划图"转向"一个可配置的 agent 循环 + middleware"

4.1推理模型把规划吸进了模型内部

reasoning model = 在出答案前,先生成一段长链思考(隐藏的推理轨迹),把"拆步骤、排顺序"这件事在模型内部做完。

为什么需要它

前三章的每种显式范式,本质都是在模型外面搭一层控制流,逼模型一步步走。reasoning model 改变了前提:当模型自己能在一次生成里完成多步推理与计划,外面那层控制流的边际价值就下降了。理解这一节,是判断"剩下六种范式还用不用得上"的前提。

时间线(每个都钉上日期):OpenAI o1(2024-09 预览)是第一个把"长链思考"产品化的主流模型;DeepSeek-R1(2025-01)用开放权重 + RL 训练复现了这条路线,把成本拉低;OpenAI o3(2025-04)进一步把推理深度做强;Anthropic 的 extended thinking(Claude,2025)与 Google 的 Gemini thinking(2025)让"先想后答"成为旗舰模型的标配能力。截至 2026-06,"会内部规划的模型"已不是稀罕物,而是默认档位。

外挂规划器 = 默认 模型内部规划 · 外挂按需 转折 2022 ReAct 2023 显式规划器盛行 2024-09 o1 推理模型 2025 test-time compute 2026 规划器 → 按需
图 4.1显式规划范式的兴衰时间线:2022–23 外挂规划器是默认,2024-09 起推理模型把规划吸进模型内部。 注意:红色虚线那道"转折"分隔两个时代——左边(灰点)外挂规划器是默认动作,右边(红点)规划能力进了模型内部、外挂只在证明必要时才加。这条线的左右,正是本章 §4.3 选型判断的分界。

底层机制(比文档深一层):所谓 test-time compute,是让模型在推理阶段(不是训练阶段)多花一批 token 去"想"——生成一段通常对用户隐藏的 reasoning trace,再基于这段思考产出最终答案。这段思考里,模型自己就在做第 2、3 章那些事:把任务拆成子问题、试探一条路径、发现不对再换一条、回溯。换句话说,ToT 的"分叉—评估—回溯"、Plan-and-Execute 的"先列计划",被模型用一段连续的自然语言思考在内部模拟了。外部显式规划器当年是为了补上 base model "不会多步想"的缺口;当这个缺口被模型自身补上,外部那层就从"补缺"变成了"往往多余"。

类比 · 带边界声明

像把"打草稿"从纸上挪进了脑子里:以前要求解题人把每一步写在外部草稿纸(显式规划器)上你才能检查,现在解题人能在脑内一次想完再落笔。类比的边界:脑内草稿对你不可见——reasoning trace 默认被隐藏或摘要,你失去了显式规划器那种"每一步都能拦截、注入、改写"的控制点。这正是 §4.3 判断"何时仍要外部规划器"的关键代价项。

想一想

第 1 章那条「承诺↔适应」轴,reasoning model 的内部长链思考落在哪一端?为什么它不需要像 ReAct 那样每步把上下文重新喂回?

展开答案(先停 10 秒再点)

它落在偏适应端,但方式不同:长链思考在同一次生成的同一段上下文里连续推进,模型边想边改、自带回溯,不需要像 ReAct 那样"暂停生成—执行工具—把 observation 拼回—再重新编码全部历史"。区别在于:ReAct 的适应靠外部真实观察接地(能纠正事实),reasoning model 的内部适应主要在推理层面(拆解、自检),不接触外部世界。所以它替代的是"规划/推理"这部分,没有替代"调真实工具拿真实结果"——这个区分是 §4.3 的核心。

4.2test-time compute:把「多想一会」当作规划的替代

一个 2025 年浮现的命题:与其在外面编排显式步骤,不如让模型在推理时多花算力"想得更久"——很多任务上,后者更省事也更强。

为什么需要它

这是本章争论的核心战场。一边是"在外部把任务编排成显式的多步流程"(前三章的范式),另一边是"什么都别编排,把同样的预算花在让模型多想"。判断你的系统该往哪边投,得先看清这场争论里哪些已被测量、哪些仍是开放问题。

已被测量的部分:2025 年有一批工作把 test-time compute 当成 agent 规划的一等公民来研究。《Scaling Test-time Compute for LLM Agents》(2025-06,arXiv 2506.12928)系统地把"测试时多花算力"的几种做法(更长的内部推理、并行采样多条轨迹再选、按步骤反思)放到 agent 任务上量化,结论是这些手段在多类任务上稳定提升表现。另一类 "Learning When to Plan" 取向的工作(2025)更进一步:用 RL 训练模型自己决定何时该多想、该想多深,而不是遵循一套硬编码的规划步骤——把"分配多少规划算力"从工程师手里的旋钮,变成模型学到的策略。

仍是开放问题的部分:截至 2026-06,"多想一会" vs "显式编排"哪个更优,没有一个跨任务的定论。测得清楚的是两端各自的甜区;测不清的是中间大片地带的边界。诚实地摆两边:

表 4.1 · 两条路线各自的甜区(截至 2026-06 的经验判断)
维度「让模型多想」(test-time compute)赢在「显式编排步骤」赢在
任务的硬点难在想清楚——推理、拆解、数学/代码逻辑难在做——大量真实工具调用、外部副作用
并行性不擅长真正并行(一条思考链是串行的)独立子任务可同时发,吃满吞吐
可控/可审计推理轨迹隐藏,难以逐步拦截每步是显式节点,能记录、注入、回放
成本形态推理 token 随"想的深度"涨,难预估步骤数固定时成本可预估

底层机制(比文档深一层):为什么"多想"有时会击败显式编排,而不只是打平?因为显式编排把规划的结构冻结在了工程师写代码的那一刻——计划图的形状、分支条件、子任务边界都是静态的。reasoning model 的内部规划是每次推理动态生成的,能贴着具体输入调整拆法。当任务的难点恰好在"怎么拆才对",静态结构反而成了枷锁。但这把机制反过来也成立:当任务难点在"同时做很多独立的事"或"每一步都要可审计",动态隐藏的内部思考就接不住——这正是下一节判断的依据。

不要把这条命题读成"显式规划已死"

"多想一会更强"成立的范围,是难点在推理的任务。一旦任务的瓶颈是吞吐(大量可并行子任务)、是可审计性(合规、需逐步留痕)、或是可验证搜索(有明确对错信号的解空间),test-time compute 单打独斗就不够。把它当成"又一个有甜区的工具",而不是"取代一切的银弹"——这正是与第 1 章那条轴一致的态度:没有哪一端永远更好。

4.3你到底需不需要显式规划器?

本章的论点:2023 年"给 LLM 套一个显式规划器"的反射动作,在 2026 常常是净负——默认从"要"翻转成"先证明需要"。

为什么需要它(为什么这是兑现章节)

前三章教了七种显式范式。这一节给出 2026 年真正的选型决策:大多数情况下,一次 reasoning model 调用 + 工具就够了,显式规划器不必加。把"何时仍要加"压缩成几条可操作的判据,是这整条主线的落点。

为什么"多套一层"会变成净负:当外部编排器和模型都在做规划,两套规划会打架——这不是想象,而是被反复观察到的现象:外部规划器把任务切成它认为的步骤,模型的内部推理又想按自己的方式拆,结果产生冗余或冲突的操作(redundant or conflicting operations)——重复调用同一个工具、按外部计划走了一步又被内部推理推翻、或两层对"下一步是什么"给出矛盾指令。2023 年这层外壳是补缺(base model 不会多步想);2026 年模型自己会想,这层外壳就从补缺变成了添乱。

Anthropic 在 《Building Effective Agents》(2024-12)给出的那句话,到 2026-06 已是近乎普适的指导:"从能解决问题的最简方案起步,只有当更简单的做法失败时,才增加 agentic 结构。" 这句话本身就是"默认 prove-it"的另一种说法。

活下来的那个显式结构:编排者-工人

底层机制(比文档深一层):为什么单单 orchestrator-workers(编排者-工人)这个模式扛住了 reasoning model 的冲击?因为它处理的恰好是单模型一次内部规划做不到的事——一个 lead 模型把任务拆开,把彼此独立的子任务分发给多个并行的 worker 各自带着独立上下文去做。一次推理调用的内部思考再长,也是一条串行的链,没法真正同时推进多个需要独立大段上下文的子任务。编排者-工人补的不是"会不会想",而是"能不能并行铺开"——这个缺口 reasoning model 没填,所以它活了下来。

Anthropic 的多 agent 研究系统(2025-06)在规模上验证了这一点:一个 lead agent 协调多个并行 subagent,质量显著提升,代价是约 15× 的 token 开销。这个数字本身就是判据——值不值得上多 agent,先看任务质量提升能否抵掉一个数量级的成本。

一次推理模型 调用够不够? 是 不加规划器 reasoning model + 工具 否 大量独立 可并行子任务? 是 LLMCompiler 式并行 或 编排者-工人 (不可预测子任务) 否 需要可验证 搜索? 是 LATS · ToT 搜索 有对错信号的解空间 否 需要跨尝试 学习? 是 Reflexion 需要 reward 信号 否 仍然不加 回到最简方案
图 4.22026 年的选型决策树(沿中轴自上而下,"否"下行、"是"向右分流)。 注意:起点和兜底都是"不加规划器"(两个红框)——只有当一次推理调用明确接不住某种结构需求(并行 / 可验证搜索 / 跨尝试学习)时,才向右掉进对应的显式范式。默认是 prove-it,不是 default-yes。

压缩成判据

仍然要伸手去拿显式规划器,当且仅当:

  • 有大量独立可并行子任务、且有延迟压力 → LLMCompiler 式的并行调度,或编排者-工人(子任务不可预测时)。一条串行思考链吃不满吞吐。
  • 是可验证的谜题/搜索类问题(有明确对错信号的解空间)→ LATS / ToT 的树搜索仍有价值。截至 2026-06,这类用法活着但小众,集中在高可靠、可验证的领域。
  • 需要跨尝试学习、且有 reward 信号 → Reflexion:把上一次的失败教训写进记忆,下一次整体重试。

不必费这个劲,当:

  • 任务的难点在想而不在做——一次 reasoning model 调用配上工具就足够。
  • 步骤之间高度顺序依赖、又没有可并行性——内置的 ReAct 式循环(如今是框架的预置默认,不是前沿)已经够用。
回扣第 1 章那条轴

这套判据并没有推翻「承诺↔适应」轴——它在轴之上加了一个前置问题:"这一层规划,到底该由模型内部做,还是由外部结构做?"先答这个,再用轴去定外部结构(如果需要)该落在哪一端。reasoning model 的出现,把轴从"唯一的选型维度"降级成了"确定要外部规划之后才用得上的维度"。

4.4框架取向变迁与弃用

主流框架在 2025 年集体转向:"一个可配置的 agent 循环 + 钩子(middleware)",而不是为每个任务手搓规划图。

为什么需要它

框架的默认 API,是整个社区共识的化石记录。看清楚 2025 年这些 API 改了什么、弃用了什么,等于读到了"行业现在认为该怎么做 agent"——它和本章论点完全同向:少手搓规划器,多配置统一循环。

LangChain 1.0 GA(2025-10-22):弃用了 create_react_agent,改为单一的、可配置的 create_agent,并引入 middleware 系统——before_model / after_model / wrap_tool_call 等钩子,让你在统一的 agent 循环上挂载自定义行为,而不是去画一张专门的规划器图。方向写得很明白:一个可配置的 agent 循环,不是 bespoke planner graph。同时被划入历史的还有旧的 AgentExecutor 路线。

OpenAI:Swarm → Agents SDK:实验性的 Swarm(2024 末)在 2025-03 被正式的 Agents SDK 取代。它的核心抽象是 handoff(一个 agent 把控制权移交给另一个 agent)——基于交接的委派,没有内建的规划器。这本身就是一个信号:连"把活分出去"都不再预设一个显式 planner。

AutoGen → AG2:AutoGen 生态在 2025 年下半叶分叉出 AG2,社区维护的多 agent 对话框架延续在此。

树搜索(LATS / MCTS):没有消失,但明确小众化——截至 2026-06,集中在高可靠、可验证的领域(有明确对错信号的搜索问题)。它不再是通用 agent 的推荐默认路径。

别再学的旧做法(点名,免得你学错版本)

以下在 2026 已是"过时或特例",不要当默认:把 Tree-of-Thoughts 当通用 agent 规划器(它退回成一种特例搜索技术);把 ReWOO / LLMCompiler / 手搓 Plan-and-Execute 图当推荐默认路径;create_react_agent / 旧 AgentExecutor(2025-10 弃用);OpenAI Swarm(2025-03 弃用);以及 2023 年那句"永远把你的 LLM 包进一个显式多步规划器"的心智。

桥接:另一极——把规划交给经过验证的外部求解器

第 1 章提到 Huang 综述里还有一类"外部模块辅助规划"。它是"让模型多想"的对极:不让模型自己想,而是把规划整个外包给一个经过验证的经典求解器。代表是 LLM+P 与 PDDL 路线——LLM 只负责把自然语言任务翻译成形式化语言(PDDL),交给一个带完备性/最优性保证的经典规划器求解,再把解翻译回自然语言。它买到的是 LLM 给不了的形式化保证,代价是只适用于能被干净形式化的问题域。这一族的系统理论在 AIMA(《人工智能:现代方法》)的经典规划章节里有完整深入的处理,本教程不展开,指路到此。

4.5综合:把七种范式 + 推理模型放回一张「何时用什么」的图

同一个场景,2023 年的标准答案和 2026 年的推荐往往不同——差别几乎全在"先让模型内部想,还是先在外部搭结构"。

把前三章的概念和本章的 reasoning model 放进同一张对照表。读法不是"记结论",而是看每一行 2023→2026 的箭头方向:绝大多数都从"外部搭一层"滑向"先靠模型 + 只编排它做不到的"。这正是第 5 章辨析题要考的判断力。

表 4.2 · 同场景的 2023 做法 vs 2026 推荐(截至 2026-06)
场景2023 会怎么做2026 推荐理由
多跳问答 / 一般工具任务 套 ReAct 或 Plan-and-Execute 显式循环 一次 reasoning model 调用 + 工具;ReAct 仅作内置默认 难点在"想",模型内部已能多步规划,外层添乱
一次发很多个独立查询(如批量检索) 手搓并行调度或 LLMCompiler 图 LLMCompiler 式并行 / 编排者-工人 串行思考链吃不满吞吐,并行是模型内部补不上的缺口
有明确对错的谜题 / 解空间搜索 Tree-of-Thoughts 当通用规划器 LATS / ToT,但仅限可验证领域(小众) 可验证搜索仍需显式树搜索;ToT 退为特例技术
需要从历次失败中改进(有 reward) Reflexion 跨尝试记忆 仍用 Reflexion 跨 episode 学习是单次内部推理覆盖不到的时间尺度
复杂研究 / 多子任务大型任务 一个大 agent 顺序硬扛 编排者-工人(lead + 并行 subagent) 2025-06 已验证质量大涨,代价约 15× token——按需上
想一想

表里"多跳问答"那行从"套显式循环"滑到了"一次调用",但"批量检索"那行没有滑过去、反而仍要显式并行。同样是 2026,为什么一个甩掉了外部结构、另一个保留了?

展开答案(先停 10 秒)

区别在缺口的性质。多跳问答的难点是推理(先查谁、再用结果查什么)——reasoning model 内部就能完成,外层多余。批量检索的难点是并行吞吐(同时发几十个独立请求)——一条串行的内部思考链物理上做不到真正并行,这个缺口模型补不上,所以外部并行结构留下了。一句话:模型内部规划替代的是"会不会想",替代不了"能不能同时铺开"。这就是 §4.3 决策树第二个菱形存在的全部理由。

§本章 self-check

先合上教程,把答案写在纸上或编辑器里。写完再点开对照——直接点开等于把这一节再读一遍。

  1. 用一句话说清 test-time compute 把什么"搬"进了模型内部,以及它没有替代掉的是哪部分能力。
  2. "给 LLM 外面套一个显式规划器"在 2026 为什么常常是净负?用"冗余或冲突的操作"这个词解释机制。
  3. 给你一个任务:"批量抓取 50 个网址、各自总结、汇总成一份报告,要快。" 按 §4.3 的判据,加不加显式规划器?加哪个?为什么不是"一次 reasoning model 调用搞定"?
  4. 编排者-工人是少数活下来的显式结构。它补的是单模型内部规划的哪个缺口?为什么 reasoning model 没把这个缺口填上?
答案(先做完再展开)
  1. 把"多步规划/推理"(拆步骤、排顺序、回溯)搬进了模型内部的一段长链思考(reasoning trace)。没替代的是"调真实工具拿真实结果"——内部思考不接触外部世界,也做不到真正的并行。
  2. 因为外部规划器和模型内部规划同时在拆任务、定下一步,两套规划相撞,产生重复调用、外层计划被内层推翻、对"下一步"给出矛盾指令等冗余或冲突的操作。2023 年这层外壳是补 base model 不会多步想的缺;2026 年模型自己会想,外壳从补缺变成添乱。
  3. 加。命中"大量独立可并行子任务 + 延迟压力"这条判据 → LLMCompiler 式并行 / 编排者-工人。不能靠一次调用,因为难点不在"想"而在"同时做很多独立的事"——一条串行思考链吃不满吞吐,抓 50 个网址这件事是并行缺口,不是推理缺口。
  4. 补的是"并行铺开多个带独立上下文的子任务"的缺口(lead 拆解、分发给并行 worker)。reasoning model 没填,因为一次推理的内部思考再长也是一条串行链,无法真正同时推进多个需要独立大段上下文的子任务。
进阶挑战 · 刚好够不着

给一个真实系统画"规划预算"分配图

任务:你要做一个"自动复现并审计一篇论文实验"的 agent——读论文 → 找到代码仓库 → 跑通环境 → 复现主实验 → 比对论文数字 → 写一份差异报告。按本章判据,把这条流水线切成段,给每一段标注"靠 reasoning model 内部规划"还是"上某个显式范式(点名)",并写下你最担心哪一段会因为"两层规划相撞"而出冗余/冲突操作。

提示(卡住再展开)

问自己每一段的难点是"想"还是"做/并行/可验证/跨尝试"。"读论文、写差异报告"难在想 → reasoning model 内部即可。"跑通环境"易因环境千奇百怪反复失败、且有明确"跑没跑通"的对错信号 → 偏向需要临场适应甚至带 reward 的重试(Reflexion 式跨尝试学习)。"复现多组实验"若彼此独立 → 编排者-工人并行。最危险的相撞点:在"想"占主导的段(读论文)外面还硬套一个显式 Plan-and-Execute 图——外层计划会和模型自己的拆解打架,正是 §4.3 警告的净负场景。