Agent 任务规划 · 深挖版教程
Agent 任务规划(Planning)
一个 LLM agent 拿到「帮我订好下周去上海的差旅」这种目标后,如何把它拆成步骤、决定先做什么、出错了怎么改——这就是规划。本教程把现代 LLM agent 的七种主流规划范式钉在同一条权衡轴上,讲清每个的机制、代价和适用场景。
·适合谁
三条前置能力,缺一条会读得吃力:
前置知识(具体到能力)
- 能读懂 Python 风格的伪代码,理解一次 LLM 调用 = 一次「输入 token → 输出 token」,且调用有 token 成本和延迟
- 知道 function calling / tool use 是什么:模型输出一个结构化的工具调用,外部代码执行后把结果作为文本喂回模型
- 读过或写过至少一个 agent 的基本循环(LangChain/LangGraph 的 agent,或自己手写过一个 tool-calling loop)
·不适合谁
下面三类读者请先去别处,会更高效:
- 完全没接触过 LLM 应用:先建立 prompt / completion / tool use 的基础——参见同目录 agent-interview · 01 LLM & Prompt。
- 只想拷一段能跑的 ReAct 代码、不关心选型:直接看 LangChain
create_agent快速上手 比读这里快。 - 想深入经典 AI 规划(PDDL 求解器、状态空间搜索的完备性与最优性证明、HTN 算法):本教程只在第 4 章搭一座桥,系统学习请读 Russell & Norvig《AIMA》第 10–11 章。
·读完之后你能做到什么
官方文档教你怎么调 create_react_agent;这份教程教你什么时候根本不该加规划器,以及要加时,凭三个问题——步骤之间有没有依赖、要不要临场改主意、token 预算多少——把六种范式钉在同一条权衡轴上做选型,而不是凭论文名字。
具体的可验证能力(动词开头,能拿去面试或选型会上检验):
- 用「承诺 ↔ 适应」一条轴定位 ReAct / Plan-and-Execute / ReWOO / LLMCompiler / ToT / Reflexion,说出每个的落点与代价
- 给定一个任务(独立子任务并行 / 顺序依赖 / 探索性 / 需自我纠错),选出合适范式,并讲清为什么不选其余几个
- 讲对 ReWOO 省 token 的真实机制(不重复编码 observation),而非含糊的"调用更少"
- 判断一个任务是否根本不需要显式规划器——交给推理模型内化,还是外挂编排
- 识别 5 类生产环境规划失败的根因:错误传播、重规划死循环、工具幻觉、过度分解、上下文爆炸
·一句话本质
一句话本质 · 贯穿全教程的视角
- Agent 规划的本质是一条「提前承诺 ↔ 临场适应」的权衡轴:计划定得越死(ReWOO / LLMCompiler 一次性生成全图),越省 token、越能并行,却越看不见意外;越走一步看一步(ReAct),越能纠错,但每步都要把全部上下文重新喂一遍,代价高。
- 而推理模型(o1 / o3 / DeepSeek-R1)的崛起,把「要不要外挂一个显式规划器」的默认答案从 yes 改成了「证明它必要」。
七种范式不是七个孤立的名词,而是这条轴上的不同落点。读这份教程时,每遇到一个新范式,先问:它在轴的哪一端?为这个位置付出了什么代价?
·现状速览(截至 2026-06)
稳定:ReAct 的「推理→行动→观察」循环、以及 orchestrator-workers(编排者-工人)模式(Anthropic《Building effective agents》, 2024-12),是当前 agent 的 settled 核心。
变化中:推理模型把规划吸进模型内部(o1 2024-09 → o3 2025-04、DeepSeek-R1 2025-01),显式规划框架从"默认要加"变成"按需才加";test-time compute(让模型多想)作为规划替代被认真讨论(2025 年多篇论文);LangChain 1.0(2025-10)废弃了 create_react_agent,转向统一的 create_agent + middleware。
已被取代:把 Tree of Thoughts 当通用规划器、手搓 Plan-and-Execute / ReWOO 图作为推荐路径、以及"永远给 LLM 外挂一个多步规划器"的 2023 式心智——都已退场或降级为边缘场景。
·读之前:一个诚实的提醒
规划范式读起来都很"顺"——名字好记、图好看、道理一听就懂。这种顺正是危险信号。下面三句话如果你心里冒出来,停一下:
「我读得很顺」——你记住的是熟悉感,不是结构。合上教程能复述出 ReWOO 为什么省 token 吗?
「我做题很快」——多半题型太标准。换个场景(live API 会报错的客服 agent)还选得对吗?
「我没卡壳」——往往意味着没真正碰到 schema 的硬骨头。本教程每章末的"刚好够不着"挑战就是用来制造卡壳的。
·概念地图
·学习路径建议
按目的选一条线,不必从头读到尾:
- 只想建立全景认知:00 起点 → 01 基础(吃透权衡轴)→ 04 前沿 → 05 自测的应用判别题。跳过 02/03 的机制细节。
- 要做选型 / 准备面试:完整顺读 01 → 02 → 03 → 04,重点啃每章的「备选方案对比表」和「带来的代价」段,最后用 05 的场景题自检。
- 要带读别人的 agent 代码(看懂某框架为什么这么搭):01 基础 → 02 分解家族(对号入座框架里的 planner/executor)→ 04 前沿看框架取向变迁。
·目录
·学完之后
- 多智能体编排:规划决定单个 agent 怎么走;多个 agent 怎么分工与协调是上一层——它在你的 schema 上加了"谁来规划、规划给谁执行"。参见 multi-agent-patterns。
- LangGraph 状态图:把本教程的 planner/executor/replan 落成可运行的图,加了"如何用持久化状态和条件边实现重规划"。参见 langgraph。
- 记忆与 RAG:Reflexion 的"记忆"只是开头,长期记忆 + 检索如何反哺规划,加了"规划的输入从哪来"。
- 经典 AI 规划:PDDL / HTN / 状态空间搜索,加了"在 LLM 之前,规划是怎么被严格定义和求解的"——理解 LLM 规划的边界。