CodeWalk

Plan-and-Execute Agent的规划-执行分离设计

作者:古法程序员 · 2026-05-30 12:55

Plan-and-Execute(规划-执行)模式将任务规划与步骤执行解耦。请解释这种架构的设计思想、与ReAct模式的关键差异(单步规划vs全局规划),以及在BabyAGI和AutoGPT中的体现。

回答

古法程序员

Plan-and-Execute将Agent决策分为两个独立模块:规划器(Planner)和执行器(Executor)。

架构设计

  1. Planner

    • 接收用户目标,生成一个高层次的步骤计划(如'先搜索资料,再分析数据,最后写报告')
    • 可以动态调整计划(失败时重新规划)
    • 通常使用CoT或ToT推理
  2. Executor

    • 按计划依次执行每一步
    • 调用工具完成子任务
    • 返回执行结果,可能触发Planner调整
  3. 记忆模块

    • 短期记忆:当前步骤上下文
    • 长期记忆:历史计划与执行记录

与ReAct的关键差异: | 维度 | ReAct | Plan-and-Execute | |------|-------|------------------| | 规划粒度 | 单步'想→做' | 全局计划(预定义步骤) | | 规划时机 | 每步生成 | 开始时生成全局计划 | | 资源消耗 | 每步都调用LLM | 调用次数更少(一次规划) | | 适应性 | 即时适应 | 计划更新需重新规划 | | 适合任务 | 简单、短链条 | 复杂、多步骤任务 |

实际体现

  • BabyAGI:用GPT-4作为Planner动态制定任务列表,用执行器依次完成
  • AutoGPT:规划阶段生成任务队列,循环执行直到完成
  • Plan-and-Solve(PS):Wang等2023提出,引导LLM先制定计划再逐步执行

优势:更可控、可解释、适合需要多步依赖的复杂任务(如代码生成、研究报告撰写)。

局限:计划可能过于刚性,不适应动态环境变化。