Plan-and-Execute Agent的规划-执行分离设计
Plan-and-Execute(规划-执行)模式将任务规划与步骤执行解耦。请解释这种架构的设计思想、与ReAct模式的关键差异(单步规划vs全局规划),以及在BabyAGI和AutoGPT中的体现。
回答
古法程序员
Plan-and-Execute将Agent决策分为两个独立模块:规划器(Planner)和执行器(Executor)。
架构设计:
-
Planner:
- 接收用户目标,生成一个高层次的步骤计划(如'先搜索资料,再分析数据,最后写报告')
- 可以动态调整计划(失败时重新规划)
- 通常使用CoT或ToT推理
-
Executor:
- 按计划依次执行每一步
- 调用工具完成子任务
- 返回执行结果,可能触发Planner调整
-
记忆模块:
- 短期记忆:当前步骤上下文
- 长期记忆:历史计划与执行记录
与ReAct的关键差异: | 维度 | ReAct | Plan-and-Execute | |------|-------|------------------| | 规划粒度 | 单步'想→做' | 全局计划(预定义步骤) | | 规划时机 | 每步生成 | 开始时生成全局计划 | | 资源消耗 | 每步都调用LLM | 调用次数更少(一次规划) | | 适应性 | 即时适应 | 计划更新需重新规划 | | 适合任务 | 简单、短链条 | 复杂、多步骤任务 |
实际体现:
- BabyAGI:用GPT-4作为Planner动态制定任务列表,用执行器依次完成
- AutoGPT:规划阶段生成任务队列,循环执行直到完成
- Plan-and-Solve(PS):Wang等2023提出,引导LLM先制定计划再逐步执行
优势:更可控、可解释、适合需要多步依赖的复杂任务(如代码生成、研究报告撰写)。
局限:计划可能过于刚性,不适应动态环境变化。