Agent 经典范式
Agent 经典范式
Agent 的"思考-行动"模式有三种经典范式:ReAct、Plan-and-Solve、Reflection。它们并不互斥,实际项目中经常组合使用。
参考:hello-agents 第 4 章 — 三大经典范式的"原理 + 代码 + 实战"
ReAct(推理 + 行动)
🕵️ 类比:侦探查案 — 边做边调整,一步一个脚印
核心思想
ReAct(Reasoning + Acting)由 Shunyu Yao 于 2022 年提出,将推理与行动显式结合,形成 Thought → Action → Observation 的协同循环。
┌──────────┐ ┌──────────┐ ┌─────────────┐
│ Thought │ ──→ │ Action │ ──→ │ Observation │
│ 思考 │ │ 行动 │ │ 观察 │
└──────────┘ └──────────┘ └──────┬──────┘
↑ │
└──────────── 循环 ◄───────────────┘
(直到 Finish)形式化
(th_t, a_t) = π(q, (a_1, o_1), ..., (a_{t-1}, o_{t-1}))
o_t = T(a_t)th_t:第 t 步的思考a_t:第 t 步的行动o_t:行动后的观察π:LLM 决策策略T:工具执行函数
核心组件
- ToolExecutor:管理工具注册/获取/描述格式化。三要素:Name(唯一标识)、Description(自然语言描述)、Execution Logic(实际执行函数)
- ReActAgent:循环执行 → 格式化提示词 → 调用 LLM → 解析 Thought/Action → 执行工具 → 追加 Observation → 继续
- 安全机制:
max_steps防止无限循环
优缺点
- ✅ 动态规划与纠错、工具协同能力强、高可解释性
- ❌ 对 LLM 能力强依赖、多次调用效率低、提示词格式脆弱
Plan-and-Solve(先规划后执行)
🏗️ 类比:建筑师建房 — 先画蓝图再施工,逻辑清晰
核心思想
由 Lei Wang 于 2023 年提出。将任务明确分为两个阶段:先规划(Plan),后执行(Solve),解决思维链在复杂任务中易"偏离轨道"的问题。
问题 → [Planner] → 计划 [Step1, Step2, Step3]
↓
[Executor]
Step1 → Result1
Step2 → Result2 (含前面所有结果)
Step3 → Result3
↓
最终答案形式化
P = π_plan(q) # 规划:生成步骤列表
s_i = π_solve(q, P, (s_1, ..., s_{i-1})) # 执行:逐步执行核心组件
- Planner:强制输出结构化计划(如 Python 列表 format)
- Executor:每步将原始问题 + 完整计划 + 历史结果作为上下文
- PlanAndSolveAgent:组合 Planner 和 Executor 的协调者
优缺点
- ✅ 结构清晰、目标一致性强、避免中间步骤迷失
- ❌ 计划静态(缺乏动态调整)、强依赖初始规划质量
Reflection(自我反思)
✍️ 类比:作家改稿 — 写初稿 → 审阅 → 优化 → 反复迭代
核心思想
引入事后自我校正循环,通过"执行 → 反思 → 优化"的迭代闭环,赋予 Agent 自我进化能力。
初始执行 (O₁)
↓
反思: 分析问题/瓶颈 (F₁)
↓
判断: F₁ 包含"无需改进"? → Yes → 返回结果
↓ No
优化: 根据反馈重写 (O₂)
↓
反思: (F₂) ...
↓
(迭代直到收敛或达到最大次数)形式化
F_i = π_reflect(Task, O_i) # 反思:评审上一轮结果
O_{i+1} = π_refine(Task, O_i, F_i) # 优化:根据反馈重写角色分离设计
通过三个不同的提示词模板,让 LLM 分别扮演:
| 角色 | 职责 |
|---|---|
| 执行者 (Executor) | 生成初始方案 |
| 评审员 (Reviewer) | “极其严格的代码评审专家”,找瓶颈 |
| 优化者 (Refiner) | “资深程序员”,根据反馈重写 |
优缺点
- ✅ 显著提升解决方案质量、增强鲁棒性、形成短期记忆
- ❌ Token 消耗倍增(每轮至少 2 次 LLM 调用)、延迟显著增加
范式选择与组合
三种范式并非互斥,实际项目中可组合使用:
Plan-and-Solve(全局规划)
↓
ReAct(执行需要工具调用的步骤)
↓
Reflection(对最终结果进行质量审查)| 场景需求 | 推荐范式 |
|---|---|
| 需要外部信息/实时查询 | ReAct |
| 结构化多步骤复杂任务 | Plan-and-Solve |
| 对结果精度/质量要求极高 | Reflection |
| 综合场景 | Plan → ReAct → Reflect |