Planning / Plan-and-Execute

规划

先列出完整任务计划,再逐步执行——适合复杂多步任务。

详解

Planning 是 Agent 在动手之前先把任务拆解成子步骤的能力。核心思路:把一个复杂目标拆成若干可独立执行的子任务,按依赖顺序排列,再逐步执行。最常见的实现是 Plan-and-Execute(规划-执行)架构:第一阶段专门用一次模型调用生成完整计划(只想不做),第二阶段按计划逐步执行,每步可根据上一步的结果动态调整剩余计划。Planning 和 ReAct 的区别在于颗粒度:ReAct 每步想一步,适合探索性任务;Planning 先想全局再行动,减少回头路,适合步骤多且有明确依赖顺序的任务(如写研究报告:先搜集资料、再分析、再撰写、再审校)。拆解的另一个好处是出错时可以重跑单个子任务,而不必从头开始整个任务。

一个类比
像装修房子:不会一进门就开始敲墙,而是先画施工图——列出拆墙、水电、瓦工、木工、刷漆的顺序和依赖——再按图施工。做饭也一样:先看菜谱确定步骤顺序,再动锅。先想清楚再动手,避免后面推倒重来。
举个例子
规划阶段(一次模型调用,只生成计划,不执行):

  用户:"帮我写一份关于量子计算的入门报告"

  Planner 输出:
    步骤 1:搜索"量子计算基本原理"
    步骤 2:搜索"量子计算应用场景"
    步骤 3:搜索"量子计算现状 2025"
    步骤 4:综合搜索结果,撰写 800 字报告

执行阶段(按计划逐步执行,可在每步后更新剩余计划):
  执行步骤 1 → 拿到基本原理资料
  执行步骤 2 → 拿到应用场景资料
  执行步骤 3 → 发现最新进展,动态补充步骤 3.5:搜索"IBM 量子计算机 2025"
  执行步骤 4 → 生成最终报告

关键:Planning 允许"边执行边调整计划",比纯 ReAct 更适合有依赖顺序的多步任务。
PYTHON 示例
相关概念