AI Agent 到底是什么?一篇文章搞懂 Agent、MCP、A2A、RAG 和多智能体

最近两年,只要关注 AI,基本都绕不开一个词:AI Agent。但当你真正开始了解 Agent,就会发现这个领域的名词特别多。本文不讲太复杂的理论,而是尽量用通俗的方式,把 AI Agent 领域常见的概念一次讲清楚。

目录


前言

最近只要关注 AI,基本绕不开一个词:AI Agent

但当你真正开始了解 Agent,就会发现这个领域的名词特别多:

  • Agent 和普通聊天机器人有什么区别?
  • Workflow 和 Agentic Workflow 是什么?
  • Tool、Function Calling、Plugin、Skill 又有什么不同?
  • RAG 算不算记忆?
  • MCP 和 A2A 分别是干什么的?
  • 一个 Agent 不够,为什么还要搞多智能体?

这些名词单独看都不难,难的是它们经常混在一起出现。

所以这篇文章不讲太复杂的理论,而是尽量用通俗的方式,把 AI Agent 领域常见的概念一次讲清楚。


一、AI Agent 到底是什么?

先给出一个简单定义:

AI Agent 是一个能够理解目标、制定计划、调用工具、观察结果,并根据执行情况继续调整行动的 AI 系统。

普通聊天机器人更像一个“知识顾问”。

你问:

北京今天天气怎么样?

它可能根据已有知识回答,也可能告诉你自己不知道实时天气。

而一个具备工具调用能力的 Agent,会尝试:

  1. 判断你想查询实时天气;
  2. 调用天气查询工具;
  3. 获取北京当天的天气;
  4. 整理成自然语言;
  5. 把结果告诉你。

如果任务更加复杂,例如:

帮我制定一个北京三日游计划。

Agent 可能会继续执行:

  1. 查询天气;
  2. 搜索景点;
  3. 计算景点之间的距离;
  4. 根据开放时间安排行程;
  5. 查询附近酒店;
  6. 生成完整的旅行计划。

所以,Agent 和普通聊天机器人的核心区别是:

聊天机器人主要负责“回答”,Agent 还会主动“做事”。


二、大模型不等于 Agent

很多人会直接把大模型叫作 Agent,其实并不准确。

大模型更像 Agent 的“大脑”,负责:

  • 理解自然语言;
  • 分析问题;
  • 进行推理;
  • 生成内容;
  • 决定下一步行动。

但只有大脑还不够。

一个比较完整的 Agent 通常还需要:

AI Agent
├── 模型:负责理解、推理和决策
├── 指令:告诉 Agent 应该做什么
├── 上下文:提供当前任务信息
├── 记忆:保存历史信息和任务状态
├── 工具:查询数据或者执行操作
├── 执行循环:不断规划、行动和检查
└── 安全控制:限制权限并管理风险

我们可以把它理解成:

  • 大模型是大脑;
  • Prompt 是岗位说明书;
  • Memory 是记忆;
  • Tool 是双手;
  • Agent Loop 是工作流程;
  • Guardrails 是公司的规章制度;
  • Human-in-the-loop 是负责审批的人。

这些部分组合起来,才是一个真正能够工作的 Agent 系统。


三、Chatbot、Assistant、Copilot 和 Agent 有什么区别?

这几个词非常容易混淆。

名词 通俗理解 谁主导任务
Chatbot 和你聊天、回答问题 用户
AI Assistant 帮你搜索、写作和整理信息 用户
Copilot 在你工作时提供建议和辅助 用户
AI Agent 根据目标自主选择步骤并执行 AI 与用户共同控制
Autonomous Agent 可以较长时间独立工作 主要由 AI 执行

例如写代码:

  • Chatbot:告诉你一个排序算法应该怎么写;
  • Assistant:根据要求生成一段排序代码;
  • Copilot:在 IDE 中根据上下文补全代码;
  • Agent:读取项目、定位问题、修改代码、运行测试,再根据报错继续修复。

当然,这几个概念之间没有绝对的分界线。

现在很多产品虽然名字叫 Assistant 或者 Copilot,实际上已经具备了相当强的 Agent 能力。所以,不要只看产品叫什么,更应该看它能不能自主规划和采取行动。


四、Agent 是怎么完成任务的?

Agent 通常会按照一个循环来工作:

理解目标
  ↓
制定计划
  ↓
选择工具
  ↓
执行操作
  ↓
观察结果
  ↓
检查是否成功
  ↓
继续执行或者结束

这个循环一般叫作 Agent Loop

举个例子。假设我们让 Agent 完成下面的任务:

帮我分析最近一个月的网站访问数据,并生成一份报告。

Agent 可能会这样执行:

思考:我需要先找到网站数据
行动:读取数据文件
观察:文件包含访问量、来源和转化率

思考:需要清洗异常值
行动:执行数据清洗脚本
观察:发现两天的数据存在重复记录

思考:修复重复数据后进行分析
行动:计算各渠道的访问量和转化率
观察:搜索渠道流量增长,但转化率下降

思考:需要制作图表
行动:生成趋势图和渠道对比图

思考:数据和图表已经齐全
行动:生成最终分析报告

这种“思考—行动—观察—继续思考”的模式,经常被称为 ReAct,也就是 Reasoning 加 Acting。


五、Planning、Reflection 和 Task Decomposition 是什么?

1. Planning:制定计划

Planning 就是让 Agent 在执行任务前先想一想:

  • 这个任务要分几步?
  • 应该先做什么?
  • 需要使用哪些工具?
  • 哪些步骤可以同时执行?
  • 什么结果才算完成?

复杂任务如果没有计划,Agent 很容易做到一半才发现缺少数据,或者重复执行某些步骤。

2. Task Decomposition:任务拆解

Task Decomposition 就是把一个大任务拆成几个小任务。

例如:

调研新能源汽车行业并生成报告。

可以拆成:

  1. 明确调研范围;
  2. 搜索市场数据;
  3. 整理主要企业;
  4. 分析行业趋势;
  5. 对比核心产品;
  6. 生成图表;
  7. 编写报告;
  8. 检查引用来源。

拆解之后,每个小任务都更容易执行和验证。

3. Reflection:反思和检查

Reflection 可以理解为 Agent 的“回头看”。

Agent 完成一部分工作后,会检查:

  • 结果是否符合要求?
  • 数据有没有遗漏?
  • 工具调用是否失败?
  • 不同来源之间是否存在冲突?
  • 有没有必要重新执行?

不过需要注意,模型的自我检查并不总是可靠。

对于数据、代码、医疗、财务等重要任务,最好还是使用外部验证工具、自动化测试或者人工审核。


六、Tool 和 Function Calling 是一回事吗?

不是一回事,但它们关系很紧密。

Tool 是什么?

Tool 就是 Agent 能够使用的外部能力,比如:

  • 搜索网页;
  • 查询天气;
  • 读取文件;
  • 操作数据库;
  • 发送邮件;
  • 创建日程;
  • 运行 Python 代码;
  • 修改代码仓库。

Function Calling 是什么?

Function Calling 是模型请求调用工具的一种机制。

比如我们定义一个天气查询函数:

{
  "name": "get_weather",
  "description": "查询指定城市的实时天气",
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "城市名称"
      }
    },
    "required": ["city"]
  }
}

当用户问:

上海今天热不热?

模型不会自己查询天气,而是生成一个结构化请求:

{
  "name": "get_weather",
  "arguments": {
    "city": "上海"
  }
}

然后,由外部程序真正调用天气接口,再把结果交给模型。

所以可以这样理解:

Tool 是具体能力,Function Calling 是调用这个能力的方式。


七、Plugin、Connector 和 Skill 又是什么?

这几个概念也很容易混在一起。

Plugin

Plugin 一般是针对某个平台安装的扩展包。

一个 Plugin 里面可能同时包含:

  • 工具;
  • API 连接;
  • 身份认证;
  • Prompt;
  • Skill;
  • 配置文件;
  • 用户界面。

所以 Plugin 更像一个完整的“扩展安装包”。

Connector

Connector 主要负责连接外部系统。

例如:

  • GitHub Connector;
  • Gmail Connector;
  • Notion Connector;
  • 数据库 Connector。

它解决的是“Agent 怎么安全地访问这个系统”。

Skill

Skill 更像一份“专业工作手册”。

它不只是提供工具,还会告诉 Agent:

  • 应该按照什么步骤完成任务;
  • 什么时候使用哪个工具;
  • 输出应该采用什么格式;
  • 如何进行质量检查;
  • 遇到异常应该怎么处理。

比如“论文审查 Skill”可能会要求 Agent:

  1. 提取论文研究问题;
  2. 分析实验方法;
  3. 检查数据是否充分;
  4. 评价创新性;
  5. 按照固定格式输出审稿意见。

可以用一句话总结:

Tool:能够做什么
Function Calling:怎么调用
Connector:怎么连接外部系统
Skill:怎样把事情做好
Plugin:怎样把这些能力打包安装

八、RAG 和 Memory 是一回事吗?

不是。

RAG 是什么?

RAG 全称是 Retrieval-Augmented Generation,也就是检索增强生成。

它的过程通常是:

用户提出问题
  ↓
从知识库中搜索相关内容
  ↓
把搜索结果放进上下文
  ↓
让模型根据资料生成答案

例如,你问公司内部 Agent:

我们的年假可以跨年使用吗?

Agent 先从公司制度中找到年假规定,再根据制度回答,而不是只依赖模型原来的知识。

所以,RAG 更像是“查资料”。

Memory 是什么?

Memory 是 Agent 保存过去信息的能力。

常见的记忆包括:

  • 短期记忆:当前对话中发生的事情;
  • 工作记忆:当前任务正在使用的数据;
  • 长期记忆:跨会话保存的信息;
  • 语义记忆:事实、知识和用户偏好;
  • 情景记忆:以前发生过的事件;
  • 程序记忆:完成某类任务的方法。

比如 Agent 记住:

  • 你喜欢简洁的回答;
  • 你常用 Python;
  • 你正在开发某个项目;
  • 上一次任务执行到了哪里。

这才更接近 Memory。

简单来说:

RAG 负责“需要的时候去查”,Memory 负责“把过去的信息保存下来”。


九、Workflow 和 Agent 有什么区别?

Workflow 就是工作流。

例如:

读取文件 → 提取正文 → 生成摘要 → 保存结果

这几个步骤是程序提前写好的。无论输入是什么,基本都会按照相同顺序执行。

Agent 则不一样。Agent 可以根据实际情况决定下一步:

读取文件
  ↓
判断文件类型
  ├── PDF:调用 PDF 解析工具
  ├── Word:调用文档读取工具
  └── 图片:调用 OCR 工具
  ↓
检查内容是否完整
  ↓
决定是否需要补充搜索
  ↓
生成摘要

两者最核心的区别是:

Workflow 由程序提前决定执行路径,Agent 由模型根据情况动态决定执行路径。

什么是 Agentic Workflow?

Agentic Workflow 就是在固定工作流中加入一部分 Agent 决策。

例如:

固定接收用户申请
  ↓
AI 判断申请类型
  ↓
选择对应处理流程
  ↓
固定进行风险检查
  ↓
高风险任务交给人工审批

很多企业系统并不是完全自主的 Agent,而是这种“固定流程加局部智能判断”的形式。

因为它既保留了一定灵活性,又比完全自主的 Agent 更容易控制。


十、什么是多智能体?

Multi-Agent,也就是多智能体,是让多个 Agent 分工合作。

比如写一份行业报告,可以安排:

管理 Agent
├── 搜索 Agent:负责收集资料
├── 数据 Agent:负责分析数据
├── 写作 Agent:负责生成文章
└── 审核 Agent:负责检查内容

常见的 Agent 角色

  • Supervisor Agent:负责管理和分配任务;
  • Router Agent:负责判断任务应该交给谁;
  • Planner Agent:负责制定计划;
  • Executor Agent:负责执行具体任务;
  • Specialist Agent:负责某个专业领域;
  • Reviewer Agent:负责检查结果;
  • Subagent:由主 Agent 派出去执行子任务的 Agent。

Handoff 是什么?

Handoff 就是“移交控制权”。

例如,一个通用客服 Agent 发现用户咨询的是退款问题,于是把整个对话交给退款 Agent。接下来,由退款 Agent 继续和用户沟通。

Agent-as-a-Tool 是什么?

Agent-as-a-Tool 是把另一个 Agent 当作工具使用。

比如主 Agent 让数据分析 Agent 计算某个指标。数据分析 Agent 完成后,把结果返回给主 Agent,但不会接管整个任务。

两者的区别是:

  • Handoff 会转移控制权;
  • Agent-as-a-Tool 不会转移控制权。

多智能体一定更强吗?

不一定。

多智能体会带来额外的问题:

  • 调用次数更多;
  • 成本更高;
  • 执行速度更慢;
  • 信息传递可能丢失;
  • 多个 Agent 可能互相矛盾;
  • 调试起来更加困难。

所以,不要为了“看起来高级”就强行使用多智能体。

如果一个 Agent 加几个工具能够完成任务,就没有必要安排五六个 Agent 开会。


十一、MCP 到底是什么?

MCP 全称是 Model Context Protocol,中文一般叫模型上下文协议。

简单理解:

MCP 是一套让 AI 应用连接外部数据和工具的标准协议。

它有点像 AI 应用领域的 USB 接口。

以前,每接入一个数据库、文件系统或者第三方平台,都可能需要单独开发一套连接方式。MCP 希望提供一个比较统一的标准。

MCP 中有三个重要角色:

  • MCP Host:用户直接使用的 AI 应用;
  • MCP Client:Host 内部负责连接 Server 的组件;
  • MCP Server:向 AI 应用提供数据或工具的程序。

MCP Server 主要可以提供三类内容:

Tools

可以执行的操作,例如:

  • 查询数据库;
  • 创建日程;
  • 修改文件;
  • 调用 API。

Resources

可以读取的资料,例如:

  • 文件内容;
  • 数据库结构;
  • 产品文档;
  • API 返回的数据。

Prompts

预先准备好的 Prompt 模板,例如:

  • 生成周报;
  • 分析数据库;
  • 制定旅行计划。

需要注意:

MCP 不是模型,也不是 Agent,它主要是一种连接标准。


十二、A2A 和 MCP 有什么区别?

A2A 全称是 Agent2Agent

它主要解决的是不同 Agent 之间如何发现彼此、发送消息和交换任务。

例如,一个旅行规划 Agent 需要与下面几个 Agent 协作:

  • 航班 Agent;
  • 酒店 Agent;
  • 天气 Agent;
  • 支付 Agent。

这些 Agent 可能来自不同公司,也可能使用不同的开发框架。A2A 希望为它们提供统一的通信方式。

MCP 和 A2A 可以这样区分:

MCP:Agent 连接工具和数据
A2A:Agent 连接其他 Agent

如果把 Agent 比作一名员工:

  • MCP 像这名员工使用电脑、数据库和公司软件;
  • A2A 像这名员工联系其他部门的同事。

十三、AG-UI、A2UI、UCP 和 AP2 是什么?

除了 MCP 和 A2A,Agent 领域还有一些面向特定场景的协议。

AG-UI

AG-UI 主要关注 Agent 与前端界面的通信,例如:

  • 实时展示 Agent 正在做什么;
  • 显示工具调用状态;
  • 更新任务进度;
  • 展示中间结果;
  • 请求用户确认。

A2UI

A2UI 主要关注 Agent 怎样向客户端描述或生成界面。

Agent 返回的不只是文字,还可能包括:

  • 表单;
  • 按钮;
  • 表格;
  • 卡片;
  • 交互组件。

UCP

UCP 主要面向商品发现、购物和商业流程。

AP2

AP2 主要关注 Agent 代表用户进行支付时的授权、意图确认和凭证管理。

可以简单记成:

MCP:连接工具和数据
A2A:连接其他 Agent
AG-UI:连接交互前端
A2UI:描述或生成界面
UCP/AP2:参与购物和支付

这些协议通常解决的是不同层面的问题,并不一定是互相竞争的关系。


十四、Agent 为什么需要安全控制?

普通聊天模型回答错了,可能只是答案不准确。

但 Agent 如果做错了,可能真的会产生后果,例如:

  • 删除文件;
  • 修改数据库;
  • 发送错误邮件;
  • 发布有问题的代码;
  • 取消订单;
  • 发起支付。

因此,Agent 能力越强,权限管理就越重要。

Prompt Injection

Prompt Injection 就是有人通过恶意文本诱导 Agent 忽略原来的规则。

更加危险的是间接提示注入。恶意指令可能藏在:

  • 网页中;
  • 邮件中;
  • PDF 文档中;
  • 数据库字段中;
  • 工具返回结果中。

Agent 读取这些内容后,可能把它们误认为需要执行的指令。

Guardrails

Guardrails 可以理解为 Agent 的安全护栏。

常见措施包括:

  • 输入内容检查;
  • 输出结果验证;
  • 敏感信息过滤;
  • 工具参数检查;
  • 权限控制;
  • 限制最大执行次数;
  • 失败自动停止;
  • 高风险操作人工审批。

Human-in-the-loop

Human-in-the-loop 就是在关键环节让人参与。

例如:

Agent 生成邮件
  ↓
用户确认
  ↓
Agent 正式发送

以下操作通常不应该让 Agent 直接执行:

  • 删除重要文件;
  • 操作生产数据库;
  • 向外部人员发送消息;
  • 发布正式内容;
  • 进行支付;
  • 执行不可逆操作。

安全不能只靠一句“请不要做危险的事情”。真正可靠的 Agent 系统,还需要权限、沙箱、审批、日志和审计机制。

参考资料

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐