附录 · Appendix

AI Agent 协议(MCP & A2A)

#tutorial#appendix#8-artificial-intelligence
6 min read

💡 核心问题

AI Agent 如何与外部世界"对话"? 就像互联网需要 HTTP 协议,AI Agent 也需要标准化的通信协议。本章介绍两个最主流的 Agent 协议:MCP 和 A2A,它们分别解决了 AI 与工具、Agent 与 Agent 之间的通信问题。


0. 什么是协议?

在计算机领域,协议(Protocol) 是一套标准化的规则和约定,让不同的系统、程序能够相互"理解"和"通信"。

0.1 为什么需要协议?

想象一个场景:你给朋友寄快递,需要填写地址。如果每个人写的地址格式都不一样,快递员就没法投递。协议就是规定了"地址怎么写"的标准——省、市、区、街道、门牌号,按这个格式写,谁都能看懂。

计算机也是一样。两个程序要通信,必须约定好:

  • 数据格式是什么?(JSON?二进制?)
  • 怎么建立连接?(握手流程)
  • 出错了怎么办?(错误处理)

0.2 计算机中常见的协议

协议作用你每天都在用
HTTP网页传输协议浏览器打开网页
HTTPS加密的 HTTP网银、支付页面
TCP/IP互联网基础协议所有网络通信
DNS域名解析协议google.com 变成 IP 地址
SMTP邮件发送协议发送邮件
WebSocket双向实时通信聊天软件、在线游戏
SSH安全远程登录连接服务器
FTP文件传输协议上传/下载文件

这些协议构成了互联网的基石。没有它们,你无法浏览网页、发送邮件、观看视频。

0.3 协议的价值

协议的核心价值是标准化互操作性

  • 标准化:大家都按同一套规则办事,减少沟通成本
  • 互操作性:不同厂商、不同技术栈的系统可以无缝对接

比如 HTTP 协议,让 Chrome 浏览器可以访问 Nginx 服务器,让 Python 爬虫可以抓取 Java 网站的数据。不需要 Chrome 和 Nginx 互相"认识",只要都遵守 HTTP 协议就行。

0.4 AI Agent 也需要协议

AI Agent 要真正"干活",需要:

  • 调用外部工具(查天气、发邮件、操作数据库)
  • 与其他 Agent 协作(分工合作完成复杂任务)

这就需要标准化的协议来规定"AI 怎么调用工具"、"Agent 之间怎么对话"。这就是 MCPA2A 的由来。


1. Agent 协议的层次

在深入了解具体协议之前,让我们先看看 Agent 生态中的通信层次:

层级协议解决的问题类比
1Function CallAI 如何调用本地函数大脑发出指令
2MCPAI 如何连接外部工具和数据源USB-C 接口
3A2AAgent 之间如何协作通信企业微信

💡 逐行解读这张表

第1层(Function Call):这是大模型最基础的能力——通过输出结构化数据(JSON)来触发函数执行。它是"协议"的基础,但本身更像是一种能力而非标准协议。

第2层(MCP):Model Context Protocol,由 Anthropic 于 2024 年 11 月发布。它标准化了 AI 与外部工具、数据源的连接方式,就像 USB-C 统一了各种设备的充电接口。

第3层(A2A):Agent-to-Agent Protocol,由 Google 于 2025 年 4 月发布。它让不同的 Agent 能够相互发现、通信和协作,就像企业微信让同事之间可以发任务、聊天。

本章重点介绍第 2、3 层的两个正式协议:MCP 和 A2A。


2. MCP (Model Context Protocol)

2.1 协议基本信息

项目内容
全称Model Context Protocol
发起方Anthropic
发布时间2024 年 11 月 25 日
官方文档modelcontextprotocol.io
开源协议MIT License
GitHubgithub.com/modelcontextprotocol

💡 为什么叫"Context Protocol"?

Context(上下文) 是大模型理解任务的关键。MCP 的核心思想是:让 AI 能够动态获取所需的上下文信息,而不是把所有信息都塞进 Prompt。

比如,AI 需要读取一个文件时,不需要你把文件内容复制粘贴给它,而是通过 MCP 直接访问文件系统。

2.2 发布的背景

2024 年,随着 Claude 3.5 Sonnet 的发布,Anthropic 发现一个问题:每个工具都要单独集成

想象一下:

  • 你想让 AI 读取 GitHub 仓库 → 要写 GitHub 集成代码
  • 你想让 AI 查询数据库 → 要写数据库集成代码
  • 你想让 AI 操作文件系统 → 要写文件系统集成代码

每个集成都要重复写类似的代码:认证、错误处理、数据转换……

Anthropic 在官方博客中写道:

"We're introducing the Model Context Protocol (MCP), an open protocol that standardizes how applications provide context to LLMs."

核心目标:让工具开发者写一次代码,所有支持 MCP 的 AI 应用都能使用。

2.3 MCP 是什么?

三大核心能力

能力英文作用示例
工具ToolsAI 可以调用的功能查询天气、发送邮件
资源ResourcesAI 可以读取的数据文件内容、数据库记录
提示Prompts预定义的提示模板代码审查模板、写作模板

2.4 MCP 的内部实现

2.5 类比理解:USB-C 接口

MCP 就像 USB-C 接口

  • 以前:每个设备都有自己的充电口(圆口、扁口、磁吸……)
  • 现在:USB-C 统一了所有设备的充电和数据传输
  • MCP:统一了 AI 与所有工具的连接方式

工具开发者只需要实现一次 MCP Server,所有支持 MCP 的 AI 应用(Claude、Cursor、Windsurf 等)都能直接使用。

2.6 MCP 的典型应用场景

场景说明示例
本地文件操作让 AI 读取/修改本地文件读取代码库、分析日志文件
数据库查询让 AI 直接查询数据库SQL 查询、数据分析
API 调用让 AI 调用第三方服务GitHub API、Slack、邮件
开发工具集成让 AI 使用开发工具Git 操作、终端命令

实际案例

  • Cursor/Windsurf:通过 MCP 连接文件系统、Git、终端
  • Claude Desktop:通过 MCP 连接笔记软件、邮件客户端
  • 自动化脚本:让 AI 执行自动化任务(备份、部署、数据同步)

3. A2A (Agent-to-Agent Protocol)

3.1 协议基本信息

项目内容
全称Agent-to-Agent Protocol
发起方Google
发布时间2025 年 4 月 9 日
官方文档google.github.io/A2A
开源协议Apache 2.0
GitHubgithub.com/google/A2A

💡 为什么是 Google 发起?

Google 在 Cloud Next 2025 大会上发布 A2A,与其企业级 AI 战略密切相关。

Google 认为:未来的企业 AI 不是单个超级 Agent,而是多个专业 Agent 协作——有的负责数据分析,有的负责代码生成,有的负责文档处理。

这些 Agent 需要一种标准化的方式相互通信,A2A 应运而生。

3.2 发布的背景

MCP 解决了"AI 如何连接工具"的问题,但还有一个问题:多个 Agent 如何协作?

想象一个场景:

  • Agent A 是"需求分析专家"
  • Agent B 是"代码生成专家"
  • Agent C 是"测试专家"

用户说:"帮我开发一个登录功能"

Agent A 分析需求后,需要把任务分配给 Agent B;Agent B 写完代码后,需要让 Agent C 测试。它们之间如何通信?

Google 在官方博客中写道:

"A2A is an open protocol that enables AI agents to communicate with each other, facilitating collaboration across different frameworks and vendors."

核心目标:让不同厂商、不同框架开发的 Agent 能够无缝协作。

3.3 A2A 是什么?

三大核心概念

概念英文作用类比
Agent CardAgent 名片描述 Agent 的能力员工工牌
Task任务要执行的工作单元工单
Message消息Agent 之间的通信内容聊天记录

3.4 A2A 的内部实现

3.5 类比理解:企业微信

A2A 就像 企业微信

  • Agent Card:每个人的名片,显示姓名、部门、职责
  • 发任务:@某人,分配一个任务
  • 聊天沟通:任务执行过程中可以随时沟通
  • 任务追踪:能看到任务的进度和状态

不同的 Agent 就像不同的同事,A2A 让它们能够协作完成复杂项目。

3.6 A2A 的典型应用场景

场景说明示例
软件开发多 Agent 协作完成开发任务需求分析→代码→测试→部署
企业工作流不同部门 Agent 协作处理业务HR Agent + 财务 Agent + 法务 Agent
智能客服多个专业 Agent 分工处理接待→解答→转接→记录
数据分析多个 Agent 协作分析数据收集→清洗→分析→可视化→报告

实际案例

  • Google Agent Space:企业内部多个 Agent 协作处理文档、邮件、日程
  • 软件开发团队:需求 Agent → 代码 Agent → 测试 Agent → 部署 Agent
  • 智能客服系统:接待 Agent → 专业解答 Agent → 人工转接 Agent

4. MCP vs A2A:对比与关系

4.1 核心差异

维度MCPA2A
发起方Anthropic (2024.11)Google (2025.04)
定位AI 与工具的连接Agent 与 Agent 的协作
通信范围Client-ServerPeer-to-Peer
数据格式JSON-RPC 2.0HTTP + JSON
类比USB-C 接口企业微信

4.2 两者的关系

MCP 和 A2A 不是竞争关系,而是互补关系

4.3 如何选择?

场景选择
让 AI 调用本地函数或工具Function Call
使用第三方工具(数据库、API、文件系统)MCP
构建多 Agent 协作系统A2A
同时需要工具集成和多 Agent 协作MCP + A2A

5. 协议的未来趋势

5.1 生态发展

MCP 生态(截至 2025 年初):

  • 官方提供的 Server:文件系统、SQLite、Git、PostgreSQL 等
  • 社区贡献的 Server:Slack、Notion、Figma、Stripe 等
  • 支持 MCP 的应用:Claude Desktop、Cursor、Windsurf、Zed 等

A2A 生态(刚发布):

  • Google 自家的 Agent 产品率先支持
  • 开源社区正在开发各种语言的 SDK
  • 企业级应用正在探索中

5.2 标准化进程

目前 Agent 协议还处于"战国时代":

  • MCP 和 A2A 是最主流的两个
  • 还有其他新兴协议如 ANP、AGP 等
  • 未来可能会融合或统一

类比互联网的发展:

  • 早期:各种局域网协议并存
  • 后来:TCP/IP 成为标准
  • 现在:Agent 协议可能也会走向统一

6. 小结

💡 核心要点

协议一句话理解发布时间发起方适用场景
MCPAI 连接工具的"USB-C"2024.11Anthropic工具集成、数据源连接
A2AAgent 协作的"企业微信"2025.04Google多 Agent 协作、任务委托

关键洞察

  1. MCP 解决"AI 如何获取外部能力"的问题
  2. A2A 解决"多个 AI 如何协作"的问题
  3. 两者互补,未来可能会融合使用
  4. 选择协议要根据具体场景,没有银弹

参考资料

  1. MCP 官方文档: modelcontextprotocol.io
  2. MCP GitHub: github.com/modelcontextprotocol
  3. Anthropic 发布博客: "Introducing the Model Context Protocol" (2024-11-25)
  4. A2A 官方文档: google.github.io/A2A
  5. A2A GitHub: github.com/google/A2A
  6. Google Cloud Blog: "Announcing the Agent-to-Agent Protocol" (2025-04-09)

📄 This content is adapted from the Easy-Vibe project by Datawhale, licensed under CC BY-NC-SA 4.0. You are free to share and adapt this material with attribution, for non-commercial purposes, under the same license.

📄 License & Attribution

This content is adapted from the Easy-Vibe project by Datawhale, licensed under CC BY-NC-SA 4.0.

You are free to share and adapt this material with attribution, for non-commercial purposes, under the same license.

🔗 View original on Easy-Vibe →