五大主流 Agent 架构模式详解

1 ReAct

摘要:本文系统梳理了五种主流 Agent 架构模式:ReAct(思考-行动-观察循环)、Plan & Execute(规划与执行分离)、Multi-Agent(多智能体协作)、RAG + Agent(检索增强型 Agent)以及 Tool Use / Function Calling(工具调用)。每种模式均从核心思想、工作流程、代码示例、适用场景等维度展开,帮助读者快速理解不同架构的设计理念与选型依据。

1.1 核心思想

让模型在**思考(Thought)→ 行动(Action)→ 观察(Observation)**之间循环,直到得出最终答案。
未完成
得出答案
用户输入
Thought 思考
Action 行动
Observation 观察
Final Answer 最终答案

1.2 例子

用户:"北京今天天气怎么样,适合跑步吗?"

Thought 1: 我需要查询北京今天的天气数据。
Action 1: search("北京今天天气")
Observation 1: 北京今天晴,气温 22°C,PM2.5 35,微风。

Thought 2: 天气不错,但还需要判断是否适合跑步。
Action 2: 根据数据直接推理。
Observation 2: 气温适宜,空气质量良好。

Final Answer: 今天适合跑步,建议早晨 7-9 点出门。

1.3 核心优势

  • 推理过程完全透明,便于调试。
  • 中间步骤可被人工干预。
  • 失败时容易定位是哪一步的问题。

1.4 核心缺陷

  • 没有全局规划,容易陷入局部循环。
  • Token 消耗随步骤线性增长。
  • 工具调用失败时恢复能力弱。

1.5 代码示例(LangChain)

python 复制代码
from langchain.agents import create_react_agent, AgentExecutor
from langchain import hub

# 拉取标准 ReAct prompt 模板
prompt = hub.pull("hwchase17/react")

tools = [search_tool, calculator_tool]
agent = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
executor.invoke({"input": "上海今天天气适合跑步?"})

用户输入 → 思考 → 行动 → 观察 → 思考 → 输出最终答案。

典型实现是 LangChain 的 AgentExecutor。

1.6 适用场景

信息检索、问答系统、简单任务自动化。

2 Plan & Execute(规划 + 执行)

2.1 核心思想

将"想清楚做什么"和"执行"彻底拆开,由两个不同的角色承担。
用户任务
Planner 规划器
全局计划
Executor 执行器
子任务 1
子任务 2
子任务 3
结果汇总
最终输出

2.2 角色分工

角色 Planner(规划器) Executor(执行器)
模型 使用强模型(如 Claude Opus 4.7) 可用较弱模型(如 Claude Sonnet 4.6 / GPT-4 / Gemini 3.1)
职责 一次性生成全局计划 逐步执行每个子任务
说明 负责任务分解与顺序 负责单步工具调用

(注:模型选择应结合实际任务复杂度和成本控制。)

2.3 适用场景

需要 10+ 步骤的复杂任务、研究报告生成、软件项目自动化。

3 Multi-Agent(多智能体协作)

3.1 核心思想

单个 Agent 能力有限,多个专职 Agent 分工合作,由 Orchestrator 统一调度。
用户
Orchestrator 总调度
Research Agent

搜索与检索
Code Agent

编写与运行代码
Data Agent

数据分析
Writer Agent

生成报告
汇总结果
最终输出

3.2 两种协作拓扑

① 中心化(Hub & Spoke)--- 最常见

复制代码
用户
 └→ Orchestrator(总调度)
       ├→ Research Agent   [负责搜索、检索]
       ├→ Code Agent       [负责写代码、运行]
       ├→ Data Agent       [负责数据分析]
       └→ Writer Agent     [负责生成报告]

② 去中心化(Pipeline 流水线)

复制代码
用户 → Agent A → Agent B → Agent C → 输出
        ↑____________反馈循环____________↓

3.3 适用场景

软件开发自动化(写代码→测试→修复)、复杂研究、客服系统。

4 RAG + Agent(检索增强型 Agent)

4.1 核心思想

Agent 不依赖模型内部知识,而是按需从外部知识库动态检索,将检索作为一种特殊 Tool。


不够
足够

用户问题
Agent 判断
需要检索?
检索知识库 A

产品文档
检索知识库 B

历史工单
结果足够?
重写查询词
汇总多源结果
生成答案
直接推理

4.2 两种检索策略对比

① Naive RAG(简单版)

复制代码
问题 → 向量检索 → Top-K 文档 → 直接注入 Prompt → 生成答案
问题:检索一次,质量完全依赖第一次召回

② Agentic RAG(Agent 版)

复制代码
问题 → Agent 判断:需要检索哪些内容?
         ├→ 检索知识库 A(产品文档)
         ├→ 检索知识库 B(历史工单)
         └→ 检索不够?→ 重写查询词 → 再次检索
                ↓
         汇总多源结果 → 生成答案

4.3 核心组件

python 复制代码
from langchain.tools.retriever import create_retriever_tool

# 将向量检索包装成 Tool
retriever_tool = create_retriever_tool(
    retriever=vectorstore.as_retriever(search_kwargs={"k": 5}),
    name="knowledge_base_search",
    description="搜索产品知识库,当需要回答产品相关问题时使用"
)

# Agent 自主决定何时调用检索
agent = create_react_agent(llm, tools=[retriever_tool, ...], prompt=prompt)

5 Tool Use / Function Calling

5.1 核心思想

模型原生支持结构化输出工具调用参数,不依赖 Prompt 工程解析。


用户输入
LLM 模型
是否需要工具?
结构化工具参数
并行调用工具
get_weather 北京
get_weather 上海
get_weather 广州
汇总结果
生成最终回答

5.2 工具定义规范

python 复制代码
tools = [
    {
        "name": "get_weather",
        "description": "获取指定城市的实时天气信息",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "城市名称"},
                "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
            },
            "required": ["city"]
        }
    }
]

5.3 并行工具调用(重要优化)

python 复制代码
# 模型可以一次返回多个工具调用,并行执行提升效率
# 示例:同时查询多个城市天气,而非串行

response.content = [
    ToolUse(name="get_weather", input={"city": "北京"}),
    ToolUse(name="get_weather", input={"city": "上海"}),  # 并行!
    ToolUse(name="get_weather", input={"city": "广州"})
]
相关推荐
AIGC大时代5 小时前
Skill真只是Prompt吗
科技·ai·科普
敲上瘾5 小时前
LangChain 消息机制与提示词模板指南
大数据·python·langchain
老王谈企服5 小时前
AI Agent将如何重构制造业的安全生产隐患识别模式?深度理解与实在Agent闭环实战
人工智能·安全·ai·重构
小云小白5 小时前
IDEA Java 开发 AI 工具对比与安装指南
ai·idea·claude
土星云SaturnCloud5 小时前
32TOPS工业级算力+无风扇全密封!土星云SE110S-WA32边缘计算微服务器深度测评
服务器·人工智能·ai·边缘计算
阿星AI工作室6 小时前
Codex+Figma MCP:GPT-image-2出图转前端
ai·编程·figma·codex
Agent产品评测局14 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
搬砖的小码农_Sky16 小时前
AI Agent:WebMCP介绍和具体实现方案
人工智能·ai·人机交互·agi
哥本哈士奇19 小时前
LangChain Deepagent 版本0.6.1中间件一个bug
中间件·langchain·bug