定义
智能体通信协议是标准化智能体与外部工具、智能体之间、以及智能体网络之间的接口规范。三大主流协议分别是 MCP、A2A 和 ANP,各自解决不同层面的通信问题。
协议选择
| 需求 | 选择 |
|---|---|
| 智能体访问外部服务(文件、数据库、API) | MCP |
| 多个智能体相互协作 | A2A |
| 构建大规模智能体生态系统 | ANP |
MCP(Model Context Protocol)
由 Anthropic 提出,被描述为”智能体的 USB-C”——统一了智能体与外部工具的交互方式。无论使用哪个模型,只要支持 MCP 就能无缝访问相同的工具和资源。
三层架构
- Host(宿主层):用户直接交互的界面(如 Claude Desktop),管理对话流程
- Client(客户端层):Host 内置,负责与 MCP Server 建连、收发请求
- Server(服务器层):执行实际操作(如文件系统扫描)
架构优势在于关注点分离:Host 关注用户体验,Client 关注协议通信,Server 关注具体功能实现。
三大核心能力
| 能力 | 类型 | 说明 |
|---|---|---|
| Tools | 主动的 | 执行操作 |
| Resources | 被动的 | 提供数据 |
| Prompts | 指导性的 | 提供模板 |
工具选择工作流(5 步)
工具发现(list_tools()) → 上下文构建(工具列表转 LLM 格式) → 模型推理(分析是否需调用工具) → 工具执行(通过 MCP Server) → 结果整合(LLM 生成最终回答)
整个过程完全自动化——LLM 根据工具描述质量决定是否及如何使用工具。
MCP vs Function Calling
Function Calling 是 LLM 的内在能力,使模型理解何时调用函数并生成参数;MCP 是基础设施协议,在工程层面解决工具与模型如何连接的问题。MCP 可跨所有模型(OpenAI、Claude、Llama 等使用相同客户端),而 Function Calling 需为每个提供商定义不同格式。
五种传输方式
Memory(测试/原型)、Stdio(本地开发)、HTTP(生产/远程/微服务)、SSE(实时/流式)、StreamableHTTP(双向流式)。
关键特性是传输层无关性——协议不依赖于特定传输方式。
社区生态
Anthropic 官方维护的 MCP Servers 涵盖:Filesystem、GitHub、PostgreSQL、Slack、Puppeteer、Sentry、Sqlite 等。社区热门包括 Playwright、Perplexity、Obsidian、Jira 等。发布平台为 Smithery。
A2A(Agent-to-Agent Protocol)
由 Google 提出。解决智能体之间的协作问题。采用点对点(P2P)架构(网状拓扑),避免传统中央协调器的单点故障、性能瓶颈和扩展困难。
核心概念
- Task(任务):需要完成的特定工作,有标准化生命周期(创建→协商→代理→执行中→完成→失败)
- Artifact(工件):任务执行过程中产生的输出
请求生命周期
代理发现 → 身份验证 → 发送消息 API → 发送消息流 API
ANP(Agent Network Protocol)
开源社区维护。解决大规模智能体网络中的服务发现、路由选择和动态扩展问题。
核心概念
Agent Description(能力描述)、Service Discovery(动态发现)、Routing(消息路由)、Load Balancing(负载均衡)
架构流程
- 服务发现与匹配:公开的发现服务,基于语义/功能描述查询,通过
.well-known/agent-descriptions标准端点建立索引 - 基于 DID 的身份验证:去中心化身份机制,私钥签名 + 公钥验证
- 标准化服务执行:预定义标准接口和数据格式
核心机制是利用 DID 构建去中心化信任根基,借助标准化描述协议实现服务动态发现。
三层协议架构对比
| 维度 | MCP | A2A | ANP |
|---|---|---|---|
| 定位 | 智能体与工具的桥梁 | 智能体之间的对话系统 | 智能体的”互联网” |
| 适用规模 | 单个智能体增强 | 小规模团队协作 | 大规模开放网络 |
| 核心问题 | 如何访问工具 | 如何与其他智能体对话 | 如何发现和连接智能体 |
在 摘要-hello-agents 的实现中,三种协议统一抽象为 Tool 接口添加到 Agent,智能体层不关心底层协议细节。
关联连接
- Agentic_Systems — 智能体系统总览
- Agent_Paradigms — 经典 Agent 范式
- 摘要-hello-agents — Datawhale 智能体教程来源
- Agent_Memory — 记忆系统