规划(Planning)
规划先想步骤再动手
亦作、亦称:Planning
规划(Planning)是 AI Agent 的核心能力之一:Agent 接收复杂目标后,将其分解为可执行的子任务序列,再逐步调用工具或模型完成每个步骤。与单步推理不同,规划强调跨步骤的决策协调,使 Agent 能够处理需要多轮行动才能完成的长程任务。
概述
规划(Planning)是 AI Agent 的核心能力之一:Agent 接收复杂目标后,将其分解为可执行的子任务序列,再逐步调用工具或模型完成每个步骤。与单步推理不同,规划强调跨步骤的决策协调,使 Agent 能够处理需要多轮行动才能完成的长程任务。
什么是 Agent 规划
规划让 Agent 在动手之前先「想清楚步骤」,是完成长程任务的前提。
- 目标分解:将一个模糊的高层目标(如「帮我调研并撰写报告」)拆解为具体可执行的子任务
- 有序执行:子任务之间存在依赖关系,规划模块需确定合理的执行顺序
- 工具调用:每个子步骤可能对应不同的工具(搜索、代码执行、文件读写等)
- 状态追踪:规划过程需记录已完成步骤与中间结果,以便后续步骤使用
- 可修订性:好的规划不是一次性生成后固化,而是在执行中根据观察动态调整
ReAct 模式
ReAct(Reason + Act)是当前最主流的 Agent 规划范式,由 Yao et al. 于 2022 年提出(arXiv:2210.03629)。
- 核心循环:每个步骤包含三个阶段——Thought(推理当前状态)、Action(调用工具或执行动作)、Observation(观察工具返回结果)
- 交错推理与行动:与纯链式思考不同,ReAct 在推理和行动之间反复迭代,而非先完整规划再执行
- 动态调整:每次 Observation 之后,Agent 可以根据实际反馈修正下一步 Thought,而非墨守预设计划
- 评估基准:原论文在 HotPotQA、FEVER、ALFWorld、WebShop 四个基准上验证了其效果
- 局限:长任务中上下文窗口压力大,且每步推理增加延迟
Plan-and-Execute 模式
Plan-and-Execute 将规划与执行明确分离为两个阶段,适合任务结构相对稳定的场景。
- 两阶段架构:Planner(规划器)先生成完整子任务列表,Executor(执行器)再逐步完成每个子任务
- 来源:LangChain 的实现参考了 Wang et al. 的 Plan-and-Solve Prompting(2023)和 Yohei Nakajima 的 BabyAGI 项目
- 优点:整体目标明确,执行阶段更专注,调试和追踪相对容易
- 缺点:初始计划若与实际环境不符,执行中难以灵活修正,容易在动态环境下失败
- 变种:部分实现允许执行器将未预期情况反馈回规划器,实现有限度的重规划
其他常见规划模式
除 ReAct 和 Plan-and-Execute 外,研究社区还发展出多种规划范式。
- Tree of Thoughts(ToT):将规划建模为树状搜索,通过评估多条分支路径选出最优序列,适合需要探索性决策的任务
- Reflexion:Agent 执行失败后主动回顾错误并将反思写入记忆,修订后续计划,形成类似人类「复盘」的闭环
- 多 Agent 协作规划:将规划任务分配给专职 Planner Agent,执行任务分配给 Worker Agent,提升并行效率
- 基于世界模型的规划:Agent 维护对环境的内部模型,在模拟中预演计划效果再付诸执行
- ReWOO:将推理与工具调用解耦,减少 LLM 调用轮次,提升整体执行效率
规划的核心难点
LLM Agent 的规划能力仍面临多项工程与研究挑战。
- 长程一致性:子任务数量多时,LLM 容易在后期步骤中遗忘前期目标或已有结果
- 计划僵化:一次性生成的长计划在环境发生变化时(如工具报错、信息缺失)容易整体失效
- 过度规划:规划步骤过细会导致冗余调用和延迟增加,过粗则执行器无法落地
- 幻觉风险:LLM 可能生成看似合理但实际不可执行的子任务(如调用不存在的 API)
- 评估困难:规划质量难以量化,现有 Benchmark(如 ALFWorld、WebShop)覆盖场景有限
发展脉络
Agent 规划能力随 LLM 进步迅速演化。
- 2022:ReAct 论文(Yao et al.)提出「推理+行动」交错框架,奠定现代 LLM Agent 规划基础
- 2023:Plan-and-Solve Prompting(Wang et al.)、BabyAGI、AutoGPT 将规划能力推向更广泛受众;Lilian Weng 的博客系统梳理 LLM Powered Autonomous Agents 架构
- 2023:Tree of Thoughts 论文拓展规划为树状搜索空间;Reflexion 引入记忆驱动的自我反思修订
- 2024:「Understanding the planning of LLM agents: A survey」(arXiv:2402.02716)首次系统综述 LLM 规划研究,提出任务分解、计划选择、外部模块、反思与记忆四大分类
- 2024–2025:多 Agent 框架(LangGraph、AutoGen 等)将规划与执行解耦,复杂规划任务开始由专职 Planner Agent 承担
工程实践建议
在实际系统中落地规划能力时,以下原则有助于提升稳定性。
- 计划可修订:不要将初始计划视为一成不变的合同,应在每次 Observation 后评估是否需要重规划
- 步骤粒度适中:子任务应足够具体可映射到单次工具调用,但不能细到给执行器造成上下文碎片化
- 失败处理:为每个子任务设置重试上限和回退逻辑,避免单点失败导致整个计划崩溃
- 记忆整合:利用外部存储持久化中间结果,避免依赖上下文窗口传递所有状态
- 可观测性:记录每个 Thought/Action/Observation 三元组,便于调试和分析规划失败原因
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「先想步骤再动手」
- 「Agent 赛道必提」
- 「跟 规划 是一回事吗」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 中级系统设计查看详解 →
深度研究(Deep Research)类 Agent 如何编排多步检索与综合?
规划子问题→多轮检索/浏览→去重综合→引用成文,重点是覆盖度与可信来源。
- 中级场景查看详解 →
Agent 任务规划失败有哪些常见原因?如何应对?
目标分解错、步骤依赖错、工具误用、无终止死循环、上下文丢失是主因。
- 中级概念查看详解 →
Reflexion / 自我反思机制如何提升 Agent 表现?
把失败轨迹反思成文本反馈存入记忆,下次重试时利用,无需更新模型权重。
- 中级概念查看详解 →
元提示(Meta-Prompting)是什么?有什么用?
让模型先生成或改进提示、或先规划再作答,即「用提示生成提示」,提升复杂任务的结构与质量。
延伸阅读
从知识库精选 2 篇文章,帮助深入理解该术语。
