第四章 Agent的几种经典范式
🔄 第一节 ReAct范式
1.1 核心思想
ReAct(Reasoning and Acting) 将推理与行动紧密结合,形成"思考-行动-观察"的循环机制:
思考(Thought):分析当前状况,规划下一步行动
行动(Action):调用工具执行具体操作
观察(Observation):获取行动结果,作为下一轮思考的输入
1.2 实现关键组件
# 核心循环结构
for step in range(max_iterations):thought = generate_thought(history, question)action = parse_action(thought)observation = execute_tool(action)history.append(f"Thought: {thought}\nAction: {action}\nObservation: {observation}")1.3 优势与局限
优势:
高可解释性:思维过程完全透明
动态纠错:根据观察结果调整策略
工具协同:完美结合LLM推理与外部工具能力
局限:
可能陷入循环:需要设置最大迭代次数
上下文膨胀:历史记录不断增长可能影响性能
📋 第二节 Plan-and-Solve范式
2.1 两阶段工作流
规划阶段 → 执行阶段
规划器(Planner):将复杂任务分解为步骤清晰的计划
执行器(Executor):严格按照计划逐步执行
2.2 架构设计
class PlanAndSolveAgent:def plan(self, question): # 生成结构化计划return ["步骤1", "步骤2", "步骤3"]def solve(self, plan):# 按计划执行for step in plan:result = self.execute_step(step)return result
2.3 适用场景
数学推理问题
需要严格步骤的任务
结构化程度高的复杂问题
🤔 第三节 Reflection范式
3.1 自我优化循环
执行 → 反思 → 优化 的迭代过程:
执行:生成初步解决方案
反思:批判性分析当前方案的不足
优化:基于反馈改进方案
3.2 记忆管理系统
class Memory:def add_record(self, execution, reflection, refinement):# 存储完整迭代轨迹self.records.append({'execution': execution,'reflection': reflection, 'refinement': refinement})3.3 核心价值
质量提升:通过多轮迭代优化解决方案
自我纠错:发现并修复逻辑漏洞
经验积累:构建可复用的学习轨迹
🛠️ 第四节 环境准备与基础工具
4.1 技术栈配置
Python 3.10+:基础编程语言
OpenAI API:LLM服务调用
环境变量管理:安全存储API密钥
4.2 LLM客户端封装
class HelloAgentsLLM:def invoke(self, messages, **kwargs):# 统一调用接口,支持多提供商return response
📊 三种范式对比分析
| 范式 | 核心策略 | 优势 | 适用场景 |
|---|---|---|---|
| ReAct | 动态规划、边想边做 | 高适应性、实时调整 | 探索性任务、需要外部信息的场景 |
| Plan-and-Solve | 先规划后执行 | 结构化、目标明确 | 逻辑清晰、可分解的任务 |
| Reflection | 迭代优化 | 高质量输出、自我改进 | 对结果质量要求高的任务 |
