AI初认识(两种Agent工作模式的比较:ReAct和PlanAndExecute)

1 阅读4分钟

一、ReAct 模式

1. 全称

Reasoning + Acting(思考 + 行动),2022 年论文提出,当前应用最广泛。

2. 核心流程(循环闭环)

Thought(思考):分析任务,决定下一步动作。Action(行动):请求调用工具(模型只发请求,不直接执行)。Observation(观察):获取工具执行结果,回传给模型。重复 1–3,直到可输出 Final Answer,结束流程。特点:每一步都“边想边做”,根据当前观察实时调整下一步计划

3. 实现原理

靠复杂系统提示词约束模型输出格式,包含:职责描述、示例、可用工具、注意事项、环境信息。图片图片引用网络内容,侵权必删图片

二、PlanAndExecute 模式(先规划后执行)

1. 核心思想

先做全局计划 → 分步执行 → 动态调整计划 → 输出答案,适合复杂多步任务。特点:先有完整蓝图,再按图施工

2. 组成模块

Plan 模型:生成整体执行步骤。Reply 模型:根据执行结果更新/修正计划,可与 Plan 模型共用一个。执行 Agent:跑具体步骤(常用 ReAct 模式)。主程序:调度规划、执行、重规划全流程。

3. 运行流程

  • 用户提任务 → 主程序 → Plan 模型生成步骤清单。

  • 执行 Agent 跑第一步 → 返回结果。

  • Replan 模型基于结果更新计划(移除已完成步骤、细化参数)。

  • 重复执行 + 重规划,直到无剩余步骤,Replan 模型返回最终答案。

图片图片图片图片
两者比较

维度ReAct 模式PlanAndExecute 模式
工作方式边思考边行动,推理与行动交错进行先集中规划,再集中执行,两个阶段分离
规划时机动态规划,每一步都重新评估静态规划,一次性生成完整计划
灵活性高灵活性,可实时根据反馈调整较低灵活性,计划一旦确定不易改变
执行效率可能较低,因为每一步都要推理较高,因为规划好后可快速执行
处理复杂性适合复杂、不确定的任务适合步骤明确、可预测的任务
错误处理可以在错误发生时即时修正错误可能累积,需要重新规划
资源消耗推理成本分散,但调用次数多规划阶段集中消耗,执行阶段调用少
适用场景开放式探索、实时交互、动态环境批处理、工作流自动化、确定性强任务

React工作流

用户提问:帮我预订明天下午3点从北京到上海的机票

第1轮:思考 → 需要查询航班 → 行动:调用航班查询工具 → 观察:获取航班列表

第2轮:思考 → 筛选符合时间要求的航班 → 行动:调用筛选功能 → 观察:得到候选航班

第3轮:思考 → 需要用户确认 → 行动:询问用户选择 → 观察:用户选择航班

第4轮:思考 → 需要完成预订 → 行动:调用预订工具 → 观察:预订成功

PlanAndExecute

用户提问:帮我预订明天下午3点从北京到上海的机票

【规划阶段】

规划器生成计划:

  1. 调用航班查询工具,获取明天北京-上海所有航班

  2. 筛选出下午2-4点之间的航班

  3. 向用户展示候选航班并获取选择

  4. 调用预订工具完成预订

【执行阶段】

执行器依次执行上述4步,如果某步失败,可能触发重新规划

四、两者联系

尽管工作方式不同,但两者有深层的联系:

  1. 都基于大语言模型的推理能力

无论是ReAct的“边想边做”,还是PlanAndExecute的“先想后做”,都依赖LLM的规划、推理和决策能力

  1. 都可以互相转化

ReAct模式可以看作是微观层面的PlanAndExecute:每一步的思考可以理解为对下一步的“小规划”

PlanAndExecute模式可以看作是宏观层面的ReAct:规划阶段是“思考”,执行阶段是“行动”,如果执行中发现问题,可以重新启动规划阶段(相当于ReAct的“观察-思考”循环)

  1. 可以混合使用

实践中,许多系统会结合两者:先用PlanAndExecute生成高层计划,然后在每个子任务内部用ReAct模式灵活执行

例如:规划器制定任务大纲,每个步骤由ReAct Agent负责执行,遇到意外时可向规划器请求重新规划