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,"会内部规划的模型"已不是稀罕物,而是默认档位。
底层机制(比文档深一层):所谓 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 "显式编排"哪个更优,没有一个跨任务的定论。测得清楚的是两端各自的甜区;测不清的是中间大片地带的边界。诚实地摆两边:
| 维度 | 「让模型多想」(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,先看任务质量提升能否抵掉一个数量级的成本。
压缩成判据
仍然要伸手去拿显式规划器,当且仅当:
- 有大量独立可并行子任务、且有延迟压力 → LLMCompiler 式的并行调度,或编排者-工人(子任务不可预测时)。一条串行思考链吃不满吞吐。
- 是可验证的谜题/搜索类问题(有明确对错信号的解空间)→ LATS / ToT 的树搜索仍有价值。截至 2026-06,这类用法活着但小众,集中在高可靠、可验证的领域。
- 需要跨尝试学习、且有 reward 信号 → Reflexion:把上一次的失败教训写进记忆,下一次整体重试。
不必费这个劲,当:
- 任务的难点在想而不在做——一次 reasoning model 调用配上工具就足够。
- 步骤之间高度顺序依赖、又没有可并行性——内置的 ReAct 式循环(如今是框架的预置默认,不是前沿)已经够用。
这套判据并没有推翻「承诺↔适应」轴——它在轴之上加了一个前置问题:"这一层规划,到底该由模型内部做,还是由外部结构做?"先答这个,再用轴去定外部结构(如果需要)该落在哪一端。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 章辨析题要考的判断力。
| 场景 | 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
先合上教程,把答案写在纸上或编辑器里。写完再点开对照——直接点开等于把这一节再读一遍。
- 用一句话说清 test-time compute 把什么"搬"进了模型内部,以及它没有替代掉的是哪部分能力。
- "给 LLM 外面套一个显式规划器"在 2026 为什么常常是净负?用"冗余或冲突的操作"这个词解释机制。
- 给你一个任务:"批量抓取 50 个网址、各自总结、汇总成一份报告,要快。" 按 §4.3 的判据,加不加显式规划器?加哪个?为什么不是"一次 reasoning model 调用搞定"?
- 编排者-工人是少数活下来的显式结构。它补的是单模型内部规划的哪个缺口?为什么 reasoning model 没把这个缺口填上?
答案(先做完再展开)
- 把"多步规划/推理"(拆步骤、排顺序、回溯)搬进了模型内部的一段长链思考(reasoning trace)。没替代的是"调真实工具拿真实结果"——内部思考不接触外部世界,也做不到真正的并行。
- 因为外部规划器和模型内部规划同时在拆任务、定下一步,两套规划相撞,产生重复调用、外层计划被内层推翻、对"下一步"给出矛盾指令等冗余或冲突的操作。2023 年这层外壳是补 base model 不会多步想的缺;2026 年模型自己会想,外壳从补缺变成添乱。
- 加。命中"大量独立可并行子任务 + 延迟压力"这条判据 → LLMCompiler 式并行 / 编排者-工人。不能靠一次调用,因为难点不在"想"而在"同时做很多独立的事"——一条串行思考链吃不满吞吐,抓 50 个网址这件事是并行缺口,不是推理缺口。
- 补的是"并行铺开多个带独立上下文的子任务"的缺口(lead 拆解、分发给并行 worker)。reasoning model 没填,因为一次推理的内部思考再长也是一条串行链,无法真正同时推进多个需要独立大段上下文的子任务。
给一个真实系统画"规划预算"分配图
任务:你要做一个"自动复现并审计一篇论文实验"的 agent——读论文 → 找到代码仓库 → 跑通环境 → 复现主实验 → 比对论文数字 → 写一份差异报告。按本章判据,把这条流水线切成段,给每一段标注"靠 reasoning model 内部规划"还是"上某个显式范式(点名)",并写下你最担心哪一段会因为"两层规划相撞"而出冗余/冲突操作。
提示(卡住再展开)
问自己每一段的难点是"想"还是"做/并行/可验证/跨尝试"。"读论文、写差异报告"难在想 → reasoning model 内部即可。"跑通环境"易因环境千奇百怪反复失败、且有明确"跑没跑通"的对错信号 → 偏向需要临场适应甚至带 reward 的重试(Reflexion 式跨尝试学习)。"复现多组实验"若彼此独立 → 编排者-工人并行。最危险的相撞点:在"想"占主导的段(读论文)外面还硬套一个显式 Plan-and-Execute 图——外层计划会和模型自己的拆解打架,正是 §4.3 警告的净负场景。