从MCP到A2A:Agent间通信协议栈的分层演进与选型之争

当AI Agent从“单机推理”走向“多机协同”,通信协议栈的分层逻辑正在被重写。MCP负责向下对接工具,A2A负责横向连接Agent,而2026年7月28日MCP的无状态化重构和A2A的150+生产部署,让这场分层演进成为业界焦点。

引言:协议为何突然变得重要?

“当你需要让一个Agent打电话给另一个Agent时,协议就不再是基础设施,而是架构本身。”

2026年7月,Agent通信协议迎来密集爆发。7月28日,MCP发布了自诞生以来最大规模的架构重构——取消协议层Session,改为每次请求携带完整处理信息,让MCP Server终于能在Kubernetes上正常扩缩容。同一周,A2A协议庆祝一周年并宣布150+组织生产部署,包括Microsoft、AWS、Salesforce、SAP和ServiceNow。中国发布GB/Z 185-2026《智能体互联互通》,29国在上海签署WAICO创始文件。

这一周被称为Agent协议层的“Kubernetes时刻”。协议从学术讨论走入生产战场,架构师必须回答:MCP和A2A是什么关系?如何分层?如何选型?

一、本质区别:两个方向,不是竞争

1.1 MCP:给Agent装上“手”

MCP(Model Context Protocol)解决的是Agent如何连接工具、数据和API的问题。它向下垂直延伸,让Agent能够调用数据库、操作文件系统、访问外部服务。

核心抽象

  • Tools:Agent可调用的函数(如执行代码、查询API)
  • Resources:Agent可读取的结构化数据
  • Prompts:可复用的提示词模板

2026年7月28日最大变化:移除Session,改为无状态请求。旧版MCP要求客户端与服务器维持长连接会话,导致Pod重启会丢失会话、负载均衡被迫做粘性路由、Kubernetes水平扩缩容形同虚设。新版让每个请求自带完整处理信息,任何实例都能接单,加机器就能解决并发问题

1.2 A2A:给Agent配上“同事”

A2A(Agent-to-Agent)解决的是Agent之间如何发现、委托和协作的问题。它横向延伸,让Agent能够委派任务、协商能力、共享工件。

核心抽象

  • Agent Card:JSON格式的“身份名片”,描述Agent能力、端点、认证方式
  • Task:工作单元,有完整生命周期(submitted→working→completed/failed)
  • Artifact:任务完成后的产出物(文档、代码、图片等)

关键差异:A2A要求Agent之间互不信任,每个Agent不暴露内部状态或工具,只通过合约沟通。

1.3 一句话总结

维度 MCP A2A
方向 垂直向下 水平横向
另一端 被动的工具/数据 自主的Agent
核心抽象 Tool, Resource, Prompt Agent Card, Task, Artifact
交互形态 请求-响应工具调用 长周期、有状态的任务委托

MCP给你的Agent装上手,A2A给它配上同事

二、架构对比:学术研究的实证结论

一篇发表于arXiv 2026年7月的学术论文,对MCP和A2A在多Agent协调场景中进行了实现层面的实证对比

2.1 核心发现

MCP可以支持Agent间协调,但协调关注点(如会话状态管理、任务生命周期处理)必须在应用层显式实现。A2A通过协议级任务和生命周期管理抽象,为有状态的多轮协调提供了更丰富的原生支持,但这伴随着更大的实现和协调复杂性

研究结论

  • MCP方案:实现模型更轻量,协调复杂度较低,适合受约束的LLM系统
  • A2A方案:原生支持有状态、多轮协调,但实现和协调复杂度显著更高

2.2 分层职责

InfoQ的一篇深度文章提出了清晰的分层架构策略:

  • A2A层:作为“通信总线”,让编排器能发现并找到合适的专家Agent,无需硬编码连接
  • MCP层:作为“通用功能语言”,确保Agent被委派后,无论底层实现如何,都能发现和使用必要的工具

三、代码示例:协议实战

3.1 MCP Server(Python)

以下代码使用FastMCP库构建一个暴露模型验证和部署工具的MCP服务器:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("mlops-server")

@mcp.tool()
def fetch_model(model_version: str) -> dict:
    """从模型注册表获取模型元数据"""
    return {"model_id": "churn_v2.1", "accuracy": 0.94, "path": "s3://models/churn/"}

@mcp.tool()
def validate_model(validation_config: dict) -> dict:
    """验证模型性能"""
    return {"status": "passed", "metrics": {"f1": 0.91, "auc": 0.96}}

@mcp.tool()
def deploy_model(deployment_config: dict) -> dict:
    """部署模型到指定环境"""
    return {"status": "success", "endpoint": "https://api.example.com/v1/churn"}

if __name__ == "__main__":
    mcp.run(transport="streamable-http")

关键点:函数的docstring会被模型读取用于决定是否调用该工具,这既是文档也是安全边界。

3.2 A2A Agent Card(JSON)

A2A的Agent Card是发布在/.well-known/agent-card.json的JSON文档:

{
  "protocolVersion": "1.0",
  "name": "deployment-validator",
  "description": "验证并部署模型到生产环境",
  "url": "https://agent.internal/a2a",
  "skills": [
    {
      "id": "validate_model",
      "name": "模型验证",
      "description": "验证模型是否符合上线标准",
      "inputModes": ["application/json"],
      "outputModes": ["application/json"]
    }
  ],
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "flows": { "clientCredentials": { "tokenUrl": "https://idp/token" } }
    }
  },
  "capabilities": { "streaming": true }
}

Agent Card让其他Agent发现该Agent提供的能力、如何调用、使用什么认证方式,从而无需硬编码就能实现动态协作。

四、选型指南:什么时候用什么?

4.1 决策框架

场景 协议 理由
LLM需要调用数据库、API、本地工具 MCP 开箱即用的工具集成
多个专业Agent互相委派任务 A2A 原生支持任务生命周期和异步通信
复杂多Agent系统 两者都用 A2A做编排层,MCP做工具层

4.2 建议路径

DigitalOcean的教程给出了明确建议:大多数团队应从MCP开始,只有当不同团队或供应商拥有的Agent真正需要互相委派工作时,才添加A2A

反模式:试图用MCP做Agent间协调,或用A2A做工具集成。两者解决不同问题,不应混淆。

五、行业趋势:为什么现在是关注协议的时候?

  1. 无状态化开启规模化:MCP取消Session后,Agent服务终于能像普通微服务一样水平扩展
  2. 统一治理框架出现:AGTP(Agent Transport Protocol)作为传输层,让MCP和A2A可以在同一基础设施上运行,基础设施组件不再需要解析不同的协议载荷
  3. 中国标准入局:GB/Z 185-2026《智能体互联互通》出台,标志着Agent通信协议正式进入标准化轨道

六、总结:分层演进,各司其职

MCP和A2A不是对手,是同一协议栈的不同层级。MCP负责Agent与工具的对接,A2A负责Agent与Agent的协作。2026年,两者都在各自方向上完成了关键跃迁——MCP无状态化让它能规模化扩展,A2A的150+生产部署证明它已走出实验室。

选型建议:先用MCP让Agent拥有“手”,当Agent数量增长到需要互相委派工作时,再加上A2A——两条腿走路,Agent才能跑起来。


参考文献:

  1. Predoaia, I. et al., A Comparative Study of MCP and A2A for Inter-Agent Coordination in LLM-Based Systems, arXiv:2607.23884, 2026
  2. Kapoor, S. et al., 构建代理式MLOps:一种基于A2A和MCP的分层协议策略, InfoQ.cn, 2026-02
  3. A2A vs MCP - How These AI Agent Protocols Actually Differ, DigitalOcean, 2026-03
  4. MCP取消Session,也把状态这门生意让给了云厂商, IT168, 2026-08
  5. AI协作的四大支柱:协议详解与应用场景全解析, 阿里云开发者社区, 2025-08
  6. A2A vs MCP, Agent Communication Protocols for DevOps, KodeKloud, 2026-07
Logo

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

更多推荐