AI Agent 常见架构全景
一、ReAct 架构(Reasoning + Acting)
最经典、应用最广泛的 Agent 架构,OpenAI Function Calling / LangChain 的底层逻辑都基于此。
执行流程
┌─────────────────────────────────────────────────┐ │ 用户目标 │ └──────────────────────┬──────────────────────────┘ ▼ ┌──────────────────────────┐ │ LLM 推理(Think) │ │ "我需要先查天气" │ └────────────┬─────────────┘ ▼ ┌──────────────────────────┐ │ 选择工具 & 生成参数 │ │ tool: search_weather │ │ param: city=北京 │ └────────────┬─────────────┘ ▼ ┌──────────────────────────┐ │ 执行工具调用 │ │ 获取: 北京晴 25°C │ └────────────┬─────────────┘ ▼ ┌──────────────────────────┐ │ 观察结果 → 再次推理 │ │ "天气适合出行,下一步..." │ └────────────┬─────────────┘ ▼ ┌────────┴────────┐ │ 任务完成? │ └────────┬────────┘ 是 ↙ ↘ 否(回到推理) ▼ ▼ 返回最终结果 继续下一轮工具调用核心特点
项目 | 说明 |
|---|---|
思维链 | 每轮Thought → Action → Observation 循环 |
优势 | 灵活、通用,适合开放式任务 |
劣势 | 长任务容易"跑偏",缺乏全局规划 |
典型实现 | LangChain AgentExecutor、OpenAI Function Calling |
二、Plan-and-Execute 架构(规划 + 执行分离)
先把任务拆好,再一步步执行。类似"先写大纲再写文章",比 ReAct 更可控。
执行流程
┌─────────────────────────────────────────────────┐ │ 用户目标 │ └──────────────────────┬──────────────────────────┘ ▼ ┌──────────────────────────────┐ │ 🧠 Planner(规划器) │ │ LLM 生成完整执行计划: │ │ ① 搜索目的地信息 │ │ ② 查询航班价格 │ │ ③ 筛选酒店 │ │ ④ 生成行程文档 │ └────────────┬─────────────────┘ ▼ ┌──────────────────────────────┐ │ 📋 计划队列(Task Queue) │ │ [Step1] → [Step2] → [Step3] │ └────────────┬─────────────────┘ ▼ ┌──────────────────────────────┐ │ ⚙️ Executor(执行器) │ │ 逐条执行,每步可调用工具 │ │ 遇到错误 → 反馈给 Planner │ └────────────┬─────────────────┘ ▼ ┌──────────────────────────────┐ │ 汇总结果 → 返回用户 │ └──────────────────────────────┘核心特点
项目 | 说明 |
|---|---|
规划器 | 负责拆解任务、生成 DAG 执行图 |
执行器 | 按序执行,每步可独立调用工具 |
容错 | 某步失败可重规划(Re-plan) |
优势 | 全局可控、适合复杂多步任务 |
劣势 | 初始规划可能不完美,需动态调整 |
典型实现 | LangGraph Plan-and-Execute、AutoGPT |
三、Multi-Agent 架构(多智能体协作)
多个 Agent 各司其职,像"团队分工"一样协作完成复杂任务。
经典架构模式
┌─────────────┐ │ Orchestrator │ │ (协调者/路由) │ └───────┬─────────┘ ┌─────────────┼─────────────┐ ▼ ▼ ▼ ┌────────────┐ ┌───────────┐ ┌────────────┐ │ 搜索 Agent │ │ 代码Agent │ │ 写作Agent │ │ 🔍 │ │ 💻 │ │ ✍️ │ └────────────┘ └───────────┘ └────────────┘ │ │ │ └─────────────┼─────────────┘ ▼ ┌───────────────┐ │ 共享记忆/消息总线 │ └───────────────┘三种常见协作模式
① 层级模式(Hierarchical)
Manager Agent ├── Worker Agent A(数据收集) ├── Worker Agent B(数据分析) └── Worker Agent C(报告生成)一个"管理者"分配任务,多个"工人"执行。适合任务清晰、可并行的场景。
② 顺序流水线(Pipeline)
Agent A(采集) → Agent B(清洗) → Agent C(分析) → Agent D(可视化)每个 Agent 负责一道工序,像工厂流水线。适合数据处理的 SOP 场景。
③ 辩论/协商模式(Debate)
Agent A ──↔── Agent B ──↔── Agent C "支持" "反对" "裁判"多个 Agent 持不同立场辩论,最终收敛到最优解。适合决策、评审类场景。
核心特点
项目 | 说明 |
|---|---|
通信机制 | 消息总线 / 共享状态 / 直接调用 |
角色分工 | 每个 Agent 有独立工具和 System Prompt |
优势 | 复杂任务拆解、并行加速、专业化 |
挑战 | 协调成本高、上下文传递、错误传播 |
典型框架 | CrewAI、AutoGen、LangGraph Multi-Agent |
四、三种架构对比总结
维度 | ReAct | Plan-and-Execute | Multi-Agent |
|---|---|---|---|
复杂度 | ⭐ 低 | ⭐⭐ 中 | ⭐⭐⭐ 高 |
可控性 | 低(自由探索) | 高(先规划后执行) | 中(依赖协调) |
适用场景 | 简单工具调用 | 复杂多步任务 | 超复杂/需专业化分工 |
典型用例 | 查天气、搜资料 | 做调研报告 | 软件开发、竞品分析 |
代表框架 | LangChain Agent | LangGraph | CrewAI / AutoGen |
五、选型建议
任务简单 + 工具少 → ReAct 任务复杂 + 步骤明确 → Plan-and-Execute 任务超大 + 需多角色 → Multi-Agent