ReAct就像追女生,Plan-and-Execute就像去结婚

今天来了解下ReAct,Plan-and-Execute以及他俩的混合模式,先问个问题,各位上班时候是怎么做需求的

是这样?

  1. 先把项目跑起来
  2. 找到相关代码
  3. 先改一处,改完再跑跑试试
  4. 发现有地方漏了,补了继续跑跑
  5. 发现UI还没调,对着稿子改一遍
  6. 再跑一下,没问题了,提测

还是这样?

  1. 先梳理一下这个需求要改哪些地方,写个规划
  2. 列个顺序,先改数据结构,再改接口,然后写视图逻辑,最后改ui
  3. 改完自测一遍,有问题改,没问题提测

上述两种工作状态,在AI Agent里面就对应着两种模式,前者是ReAct,后者是Plan-and-Execute

到底啥是ReAct

ReAct其实就是Reasoning(推理) + Acting(行动循环),它的核心理念就一句话:边想边干,边干边想

上面就是ReAct的工作方式,流程有点像我们出门旅游

  1. 观察: "咦!这个巷子看起来挺有意思"
  2. 思考: "反正也没特定目的地,钻进去看看"
  3. 行动: 拐进小巷
  4. 观察: "哇里面有家排队很长的店"
  5. 思考: "这么多人排肯定好吃,去凑个热闹"
  6. 行动: 跟着排队买了份小吃
  7. 观察: "确实好吃!老板说前面还有个古玩市场"
  8. 思考: "那顺道去看看"
  9. 行动: 往古玩市场走...

这就是ReAct ------ 每一步都基于当前最新情况做决策,没有预设的完整行程,主打一个"随遇而安",玩得开心但可能错过原定的大景点,也可能因为在小巷里钻太久导致天黑了才想起来还没去博物馆

代码里的ReAct

Plan-and-Execute 又是啥?

Plan-and-Execute字面意思就很清楚先计划,再执行。,对应流程图长下面这样

同样的用生活中的例子去理解Plan-and-Execute的工作方式的话,可以想象一下装修房子的场景,一般装修前我们都会

  1. 理解需求: 知道最终目的是啥,我们需要啥,比如"我要装一个三室一厅,现代简约风"
  2. 拆解任务: 把任务拆分成若干个小步骤,比如水电改造->贴砖->吊顶->刷墙->装柜子->软装
  3. 规划顺序: 要知道做事情的优先级,比如必须先水电然后再贴砖,顺序不能弄反
  4. 分配资源: 分工明确,水电工3天,瓦工5天,油漆工2天
  5. 执行: 按部就班一个个来
  6. 中间可能调整: 可能某些环节出现问题后需要重新改方案,比如瓷砖没货了

Plan-and-Execute的核心思想是不是不改 ,而是把大部分精力花在规划上,执行的时候尽量少重来

代码里的 Plan-and-Execute

核心区对比

维度 ReAct Plan-and-Execute
思考时机 每步都思考 集中规划+执行时偶尔思考
灵活性 极高,随时转向 中等,按计划走但可重规划
效率 可能绕弯路,Token 消耗大 通常路径更优,Token 更省
可解释性 完整的思考链,每步可见 规划清晰,但执行过程可能不透明
适合场景 探索性、不确定性高的任务 确定性、步骤明确的任务
容错能力 强,发现错了立刻调头 中等,错了需要重新规划
实现复杂度 简单,一个循环搞定 复杂,需要规划器/分解器
Token 消耗 高(每步都要 LLM 调用) 中低(规划一次+执行调用)

深度对比 --- 用实例说话

场景一:查天气+订餐厅+发通知

ReAct 的玩法

Plan-and-Execute 的玩法

结论: 这种确定性链条类任务,Plan-and-Execute 效率碾压。ReAct 像在逛菜市场一样走来走去,Plan-and-Execute 像在跑流水线。

场景二:调试一个莫名其妙的Bug

ReAct 的玩法

Plan-and-Execute 的玩法

结论: Debug 这种探索性任务,ReAct 天然优势。Plan-and-Execute 需要频繁重规划,反而多了个"规划→发现不对→重规划"的中间损耗。

场景三:写一篇万字深度文章

ReAct 的玩法

Plan-and-Execute的玩法

结论: 需要长程连贯性的任务,Plan-and-Execute 完胜。ReAct 容易陷入"局部最优"而破坏整体结构。

各自的优缺点

ReAct的优点 ReAct的缺点
极致的灵活应变,发现路不通立刻掉头,跟秋名山车神一样 Token燃烧弹,每步都要LLM推理,钱花得跟烧纸一样
天然支持纠错,每一步都有重新审视的机会 容易跑偏,顺着一个有趣的方向越走越远,忘了初衷
实现简单,一个 while 循环 + LLM 调用就够了 缺乏全局视野,只顾眼前"最优",忽视整体"最优"
可解释性强, Thought/Action/Observation 链条完整透明 效率低下,可能绕大量弯路才到终点
零预设,不需要提前知道任务结构 工具调用频繁,简单任务也可能调用n次工具
Plan-and-Execute 的优点 Plan-and-Execute 的缺点
效率高,规划阶段一次性想清楚,执行阶段像切黄油 规划本身有成本,LLM的Plan不一定靠谱
Token友好, 规划只花一轮,执行少了很多 Reasoning 开销 面对不确定性脆弱,计划赶不上变化时需频繁重规划
全局最优倾向,规划时能看到全景 重规划代价大,一旦偏差,整个计划可能要推倒重来
结果一致性好,同样的输入→同样的计划→同样的输出 过度规划,简单任务也可能生成复杂的计划
可管理性,子任务可分配、可追踪、可并行 灵活性不足,执行中发现的意外之喜可能被忽略

混合模式(Hybrid Approach)

目前比较先进的Agent系统,都不会单独使用上述两个模式,如 LangGraph、AutoGPT用的是Plan-and-Execute + ReAct的混合模式,其流程如下所示

现实中的例子:AutoGen + LangGraph

微软的AutoGen 和LangChain的 LangGraph 就是典型的混合模式:

  • 高层: 一个 Planner Agent 负责分解任务、生成 DAG(有向无环图)
  • 中层: 一个 Dispatcher 负责任务调度、依赖管理
  • 底层: 每个 Worker Agent 内部用 ReAct 执行具体任务

这套组合拳就像先画好作战地图(Plan),然后派侦察兵灵活执行(ReAct),遇到意料之外的敌人就更新地图,既有战略又有战术

最后总结

最后给每个模式来个比喻

  • ReAct: 像追女生,走一步看一步,灵活应变,不行就换路子
  • Plan-and-Execute: 像结婚,先认真规划,然后按计划执行,中间可能会调整但大方向不变
  • 混合模式:像经营婚姻,有长远规划,但也懂得在情人节临时买束花
相关推荐
jay神20 小时前
深度学习的优化器应该怎么选?
人工智能·python·深度学习·毕业设计·课程设计
Hello server1 天前
DeepSeek Harness 深度体验:把「万物皆插件」做到极致的 AI 编程 Agent
人工智能
程序员黑豆1 天前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
驴友花雕1 天前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
pqpo1 天前
Agent Team 实践(一): 如何构建跨 Harness 的统一 Runtime
agent·ai编程
怕浪猫1 天前
DeepSeek Harness 源码实战第2章:Cordis——驱动 dsh 的插件引擎
aigc·openai·agent
火山引擎开发者社区1 天前
DeepSeek-V4 Pro 发布,veStack Day 0 完成模型适配
人工智能
2501_926978331 天前
AGI 的四种瓶颈:资源型还是发现型--以及DSH的位置
人工智能·经验分享·笔记·ai写作
Q463913491 天前
线下销售复盘难落地,AI 会话设备能帮上啥忙
人工智能·自然语言处理
ebok.1 天前
国产大模型落地业务系统的优选载体:京微智枢信创 AI 业务支撑平台
大数据·人工智能·低代码·ai