AI Agent 设计模式总结
AI Agent 设计模式总结
Agent 不是一个单一的概念,而是一类系统的统称。在实际工程中,不同的任务类型对应不同的 Agent 设计模式。这篇笔记整理了几种主流的 Agent 架构模式。
一、ReAct 模式
ReAct = Reasoning + Acting,是目前最经典的 Agent 模式。
核心思路: LLM 在每一步都先”思考”(Reasoning),再”行动”(Acting),行动的结果作为观察(Observation)反馈回来,形成循环。
思考(Thought): 用户想知道最新的 AI 新闻 |
适用场景: 需要多步信息收集和推理的任务,如信息检索、数据分析助手。
优点: 推理过程透明、可解释性强
缺点: Token 消耗多,循环次数难以控制
二、Plan-and-Execute 模式
核心思路: 把任务拆成两个阶段——先由 Planner 制定完整计划,再由 Executor 逐步执行。
用户任务 → [Planner LLM] → 生成步骤列表 |
与 ReAct 的区别在于,Plan 阶段是一次性规划,而不是边做边想。
适用场景: 长任务、需要全局规划的场景,如自动写报告、代码生成项目。
代码示例(伪代码):
# Planner:生成计划 |
三、Multi-Agent 协作模式
核心思路: 多个专职 Agent 各司其职,由 Supervisor 统一调度。
┌──────────────────┐ |
Supervisor 的核心逻辑:
def supervisor(state): |
适用场景: 复杂的企业级工作流,如客服系统、自动化研究助手。
四、Reflection 反思模式
核心思路: Agent 生成初稿后,由专门的 Critic Agent 进行评审,生成反馈,再由原 Agent 根据反馈修改,迭代直到质量满足要求。
[Generator Agent] → 生成初稿 |
代码示例:
draft = generator.invoke(task) |
适用场景: 对输出质量要求高的场景,如论文写作、代码审查。
五、Tool Use 工具调用
这是所有 Agent 模式的基础能力。现代 LLM 通过 Function Calling 机制调用外部工具。
工具定义示例(OpenAI 格式):
tools = [ |
常见工具类型:
| 工具类型 | 用途 | 示例 |
|---|---|---|
| 搜索工具 | 获取实时信息 | Tavily、Bing Search |
| 代码执行 | 运行代码 | Python REPL |
| 数据库查询 | 读取结构化数据 | SQL 执行器 |
| API 调用 | 与外部服务交互 | 发邮件、查天气 |
| 文件操作 | 读写文件 | 读 PDF、写 CSV |
六、记忆(Memory)系统
Agent 的记忆系统分为四种类型:
┌─────────────────────────────────────────────┐ |
向量记忆实现示例:
from langchain_community.vectorstores import Chroma |
总结
| 模式 | 核心特点 | 适用场景 |
|---|---|---|
| ReAct | 边思考边行动 | 信息检索、问答 |
| Plan-and-Execute | 先规划后执行 | 长任务、复杂项目 |
| Multi-Agent | 多角色协作 | 企业工作流 |
| Reflection | 生成+评审迭代 | 高质量内容生成 |
实际项目中这些模式往往组合使用,比如用 Multi-Agent 框架搭建系统,每个子 Agent 内部用 ReAct 驱动,输出阶段加上 Reflection 保证质量。



