ReAct vs 其他单 Agent 模式(Plan-and-Execute、Reflexion)简单对比
·
引言:ReAct 不是唯一选择,但它是起点
在前几篇中,我们已经深入讲解了 ReAct Agent:
- 思考(Reason)
- 行动(Act)
- 观察(Observe)
- 循环执行
但随着 Agent 技术的发展,你一定会遇到这些概念:
- Plan-and-Execute
- Reflexion
很多人会产生疑问:
ReAct 已经够用了,为什么还需要这些模式?
它们之间到底有什么区别?
我应该用哪一个?
这一篇,我们用工程视角,把三种单 Agent 模式讲清楚。
一、三种模式一句话理解
先给你一个最直观的总结:
ReAct:边做边想(实时决策)
Plan-and-Execute:先想好再做(规划驱动)
Reflexion:做完再反思(自我优化)
如果你只能记住一句话,就记这个。
二、ReAct 回顾(基准模式)
核心流程
Thought → Action → Observation → Thought → Final Answer
特点
- 动态决策
- 实时选择工具
- 无需预先规划
优点
- 简单
- 灵活
- 易于实现
缺点
- 容易走弯路
- 可能重复调用工具
- 对复杂任务不稳定
三、Plan-and-Execute:先规划再执行
核心思想
先生成完整计划,再逐步执行
流程
用户问题
↓
生成 Plan(步骤列表)
↓
逐步执行每个步骤
↓
最终汇总结果
示例
用户:帮我分析一家公司的财务情况
Plan:
1. 搜索公司财报
2. 提取关键数据
3. 计算指标
4. 输出分析
然后 Agent 按步骤执行。
优点
- 更结构化
- 更适合复杂任务
- 不容易遗漏步骤
缺点
- 规划可能错误
- 计划一旦错,后面全错
- 灵活性不如 ReAct
四、Reflexion:让 Agent 会“复盘”
核心思想
执行完任务后,自我反思并改进
流程
执行任务
↓
评估结果(好/坏)
↓
生成反思(哪里错了)
↓
再次执行(改进版本)
示例
第一次回答:错误
↓
反思:我没有调用工具
↓
第二次执行:调用工具
↓
输出正确答案
优点
- 能逐步优化结果
- 对复杂问题更鲁棒
缺点
- 成本高(多轮执行)
- 延迟高
- 实现复杂
五、核心对比表(建议收藏)
| 模式 | 决策方式 | 是否提前规划 | 是否自我优化 | 复杂度 | 成本 |
|---|---|---|---|---|---|
| ReAct | 实时决策 | ❌ | ❌ | ⭐ | ⭐ |
| Plan-and-Execute | 先规划再执行 | ✅ | ❌ | ⭐⭐ | ⭐⭐ |
| Reflexion | 执行后反思 | ❌ | ✅ | ⭐⭐⭐ | ⭐⭐⭐ |
六、什么时候用哪种模式?
1. 用 ReAct
适合:
- 简单任务
- 工具调用
- 实时查询
例如:
- 天气查询
- 简单计算
- 搜索 + 总结
2. 用 Plan-and-Execute
适合:
- 多步骤任务
- 有明确流程的任务
例如:
- 数据分析
- 报告生成
- 项目规划
3. 用 Reflexion
适合:
- 高准确率要求
- 可容忍延迟
例如:
- 复杂推理
- 代码生成
- 策略决策
七、三种模式如何组合?(非常重要)
真实项目中,很少只用一种模式。
常见组合:
Plan-and-Execute + ReAct
解释:
- Plan:负责拆任务
- ReAct:负责每一步执行
另一个组合:
ReAct + Reflexion
解释:
- ReAct:执行
- Reflexion:优化结果
高级组合:
Plan → ReAct → Reflexion
这已经接近复杂 Agent 系统。
八、为什么 ReAct 仍然是入门首选?
尽管有更高级模式,ReAct 仍然是起点。
原因很简单:
1. 最容易理解
只需要掌握循环机制。
2. 最容易实现
几行代码就能跑。
3. 是所有模式的基础
其他模式本质都是在 ReAct 上扩展。
九、新手常见误区
误区1:一上来就用复杂模式
结果:
系统复杂 + 调试困难 + 成本高
建议:
先用 ReAct,能跑再升级
误区2:Plan-and-Execute 一定更好
错误。
如果任务简单,ReAct 更高效。
误区3:Reflexion 必须用
不是。
只有在“结果必须正确”时才值得。
十、工程建议(非常重要)
1. 从 ReAct 开始
先跑通 → 再优化 → 再升级模式
2. 控制复杂度
不要一开始就:
多模式 + 多 Agent + 多工具
3. 用 LangSmith 对比效果
观察:
- 哪种模式更稳定
- 哪种成本更低
- 哪种延迟更合理
结语
一句话总结:
ReAct 是基础,Plan-and-Execute 是结构,Reflexion 是优化。
理解三者的区别,你就可以:
- 根据业务选择合适模式
- 控制复杂度
- 平衡成本与效果
下一篇,我们进入新阶段:
ReAct + Memory:让 Agent 具备上下文记忆能力。
更多推荐
所有评论(0)