跳到主要内容

AI Agent 智能体深度解析

引言

AI Agent 代表了 LLM 应用从「单轮问答」向「自主执行多步任务」的演进。本文从范式、架构、框架到与 MCP/A2A 的集成,系统解析智能体技术体系。

核心范式

ReAct(Reasoning + Acting)

ReAct 让模型在「推理」和「行动」之间循环:

  1. Thought:根据当前信息推理下一步
  2. Action:选择工具并传入参数
  3. Observation:获取工具返回
  4. 重复直至得出 Final Answer
User: 北京今天天气如何?
Thought: 需要查询天气 API
Action: get_weather(city="北京")
Observation: 晴,18-25°C
Thought: 已有足够信息
Final Answer: 北京今天晴天,气温 18-25°C

Tool Use / Function Calling

模型输出结构化 JSON,声明要调用的函数名和参数,由应用程序执行后反馈结果。OpenAI、Anthropic、Google 等均支持此能力。

Chain-of-Thought(CoT)与 Agent

CoT 提供推理链,Agent 在此基础上增加工具调用,实现「想清楚再动手」。

多 Agent 协作

协作模式

  • 顺序协作:Agent A 完成 → 结果传给 Agent B
  • 并行协作:多个 Agent 并行处理不同子任务
  • 层级协作:Manager Agent 分配任务给 Worker Agent

CrewAI 与 AutoGen

  • CrewAI:通过 Role、Goal、Backstory 定义 Agent,用 Crew 编排多 Agent 流程
  • AutoGen:微软框架,支持多 Agent 对话、代码执行、人类参与

与 MCP、A2A 的集成

协议在 Agent 中的作用
MCP标准化工具定义,Client 将工具暴露给 LLM
A2AAgent 间请求/响应格式,实现跨应用协作

学习 Agent 后,可结合 MCP 协议A2A 协议 构建可扩展的智能体系统。

框架对比

框架强项适用场景
LangChain链与 Agent 生态通用 LLM 应用
LlamaIndex数据与 RAG知识库、检索增强
CrewAI多 Agent 编排团队协作型任务
AutoGen对话与代码执行开发助手、自动化

最佳实践

  1. 工具设计:单一职责、参数清晰、错误处理完善
  2. ** Prompt 设计**:明确工具用途与调用时机
  3. 安全性:限制工具权限、校验用户输入
  4. 可观测性:记录决策链、工具调用与耗时

ReAct 完整示例(伪代码)

# ReAct 循环示意
def react_loop(question: str):
thought = ""
while not done:
# 1. Thought: 模型分析当前状态
thought = llm(f"{question}\nObservation: {observation}\nThought: ")
if "Final Answer" in thought:
return extract_answer(thought)
# 2. Action: 解析工具调用
action, args = parse_action(thought)
# 3. Observation: 执行工具
observation = tools[action](**args)
# 4. 将 Observation 反馈给模型,继续下一轮

Function Calling 结构示例

OpenAI 等模型支持的 Function Calling 格式:

{
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["city"]
}
}
}]
}

模型返回 tool_calls 数组,应用解析后执行对应函数,将结果作为 tool 类型的消息反馈给模型。

规划与反思(Planning & Reflection)

  • Planning:先拆解任务为子步骤,再逐步执行(如 Plan-and-Execute)
  • Reflection:执行后让模型自检输出是否正确,错误则重试(如 Reflexion)

这类模式适合代码生成、数学推导等需要多步推理的场景。

与 RAG、Embedding 的协同

技术在 Agent 中的角色
RAG作为工具:检索知识库,将结果作为上下文或直接返回
Embedding支持 RAG 检索的向量化
向量数据库RAG 工具的后端存储

Agent 可将 RAG 封装为一个「检索工具」,实现「有依据的回答」。

总结

Agent 将 LLM 从「对话模型」升级为「可执行任务的智能体」,与 RAG、MCP、A2A 等技术结合,可构建端到端的智能应用闭环。掌握 ReAct、Tool Use、多 Agent 协作及与 MCP/A2A 的集成,是构建生产级 Agent 的关键。