从 MCP 到 A2A:2026 年 AI Agent 互联协议全景与落地路线图

技术趋势MCPA2AAI Agent协议选型企业落地安全审计2026-10-08

客服团队要给 Agent 加两个能力:查公司 MySQL 里的订单状态,遇到物流延误时联系承运商的 Agent 改派。第一个能力三天跑通,第二个卡了两周——两边没约定怎么描述自己能干什么、任务状态怎么同步、取消订单时谁说了算。接口约定不齐,模型再强也接不上。

这是 2026 年做 Agent 集成时反复出现的场景。MCP 和 A2A 分别在解决其中一半问题。

flowchart LR U[用户] --> H[Agent 宿主或编排层] H -->|MCP| S1[内部 MCP Server<br/>数据库 / Jira / 文件] H -->|MCP| S2[内部 MCP Server<br/>工单 / 搜索 / 邮件] H -->|A2A| A1[外部 Agent<br/>物流承运商] A1 -->|A2A| A2[下游 Agent<br/>区域调度]

MCP 规定了什么:宿主、Server 和三类原语

MCP(Model Context Protocol)由 Anthropic 在 2024 年 11 月开源,规范与 SDK 公开在 GitHub,规范版本按日期命名,常见的有 2024-11-05、2025-03-26、2025-06-18、2025-11-25 几个修订版。

它的角色分三层:Host 是用户直接用的应用(Claude Desktop、Claude Code、VS Code 里的 Copilot、Cursor、JetBrains 插件等),Client 是 Host 内部连接到某个 Server 的连接器,Server 对外暴露能力。协议用 JSON-RPC 2.0 传递消息,本地进程走 stdio,远端走 Streamable HTTP——2025-03-26 那版把早期的 HTTP+SSE 换成了 Streamable HTTP,如果你的实现还在用旧传输,升级时要留意兼容性。

Server 能提供三类原语:

  • tools:模型可以调用的动作,带 JSON Schema 参数定义。查订单、建工单、发消息都属于这类。
  • resources:只读数据,比如一份文档、一张表的结构。模型读它但不改它。
  • prompts:预置的提示模板,通常由用户主动触发。
反向能力有三个容易被忽略:sampling(Server 反过来请求 Host 的模型生成内容)、roots(Host 告诉 Server 当前工作目录边界)、elicitation(Server 向用户追问缺失信息,2025-06-18 版加入)。做远端 Server 时,elicitation 比让模型瞎猜参数要安全得多。

鉴权方面,远端 MCP Server 按 OAuth 2.1 的资源服务器来做,配合 Resource Indicators 把 token 的受众限定住。规范里有一条硬规定:MCP Server 不得接受不是专门签发给它的 token,也不得把收到的 token 转发给上游 API。这条专门用来堵住混淆代理(confused deputy)问题——Server 拿着用户的 token 去调第三方接口,第三方看到合法 token 就放行,实际是用户没授权过的操作。

A2A 规定了什么:Agent Card 和任务状态机

A2A(Agent2Agent)由 Google 在 2025 年 4 月提出,同年 6 月捐给 Linux Foundation 的 A2A 项目,参与方包括多家云厂商与企业软件公司。它要解决的是:一个 Agent 怎么发现另一个 Agent、怎么把活派过去、怎么知道干到哪一步了。

入口是 Agent Card。调用方按约定路径请求对方的名片,默认路径在 0.3 系列改成了 /.well-known/agent-card.json(更早的版本用 agent.json)。名片里写清楚:这个 Agent 叫什么、有什么技能、接受什么输入模态、输出什么、支持不支持流式、支持哪些认证方案。

任务模型是这套协议和简单函数调用最大的区别。调用方发一个 Task,Task 有状态:submitted、working、input-required、completed、canceled、failed 等(具体枚举以规范仓库对应版本为准)。input-required 这个状态尤其关键——对方 Agent 缺信息时会挂起任务等你补,而不是直接失败。长任务还能通过 SSE 流式推送进度,或用 webhook 推送到你指定的地址。产出用 Artifact 承载,和过程消息分开。

A2A 明确了一件事:Agent 之间不交换内部思考过程,只交换完成任务必需的信息。这条在跨公司场景里是底线,别为了“效果更好”把上游 Agent 的完整上下文甩给对方。

工具调用、多智能体协作、权限模型,差异在哪

工具调用是一次请求一次响应。模型输出结构化参数,Server 执行,返回结果。MCP 的 tools 就是这个模型。风险点在参数由模型生成:模型可能把 project=OPS 填成 project=ALL,也可能被工具返回内容里的指令带偏。所以参数的合法性必须在 Server 侧校验,不能指望模型自觉。

多智能体协作是长任务、可中断、有中间状态。A2A 的 Task 状态机就是为此设计。链变长之后有两个新问题:谁对最终结果负责(通常是发起方),以及级联取消能不能传下去——上游取消了,被调用的 Agent 还在跑,白烧 token。

权限模型两边的出发点不同。MCP 偏“用户委托”:某个具体用户授权 Agent 代表他去读某个资源,scope 按资源划。A2A 偏“企业身份”:Agent 代表某个组织身份去调用另一个 Agent,认证走标准 HTTP 方案(API key、OAuth2、OIDC、mTLS),Agent Card 里只声明用了哪种方案,不放凭据。mTLS 在跨企业内部网络调用时比 API key 更常见,因为能顺带解决双向身份确认。

四类协议横向对比

除 MCP 和 A2A,还有几个协议在特定圈子里有采用。截至 2026 年初的状态大致如下,细节以各项目仓库为准。

维度MCPA2AACPANP
解决的问题Agent 到工具、数据Agent 到 AgentAgent 到 Agent,REST 风格开放网络里的 Agent 发现与身份
消息格式JSON-RPC 2.0JSON-RPC 2.0 over HTTPHTTP + JSON(REST)基于 W3C DID 与 JSON-LD
发现机制宿主配置或私有注册表Agent Card(well-known 路径)Agent ManifestDID 文档加元协议
传输方式stdio、Streamable HTTPHTTP、SSE、webhookHTTPHTTPS
权限模型OAuth 2.1、scope、用户同意企业身份,OAuth2/OIDC/mTLS/API key依赖 HTTP 层认证DID 可验证凭证
治理归属开源规范加社区 SDKLinux FoundationLinux Foundation(BeeAI 项目)社区开源
典型用法接数据库、文件、SaaS API跨团队、跨厂商任务编排企业内部 Agent 服务化跨组织开放互操作
ACP 由 IBM 提出,后来并入 Linux Foundation 的 BeeAI 项目。ANP 走的是去中心化路线,用 DID 做身份,适合没有统一信任方的开放场景,但工程复杂度也更高。AGNTCY 是另一条线,由 Cisco 等推动,包含 Agent 目录与传输层协议,目前在网络与可观测方向有落地。这两类在 2026 年的实际部署量远小于 MCP 和 A2A,选型时别被“更先进”的说法带走。

企业选型:先看协作边界在哪

判断方法很简单,问三个问题。

边界在系统内还是 Agent 间? 只有一个 Agent 去读数据库、调 API、写工单,MCP 够用,不需要引入 A2A。只有当“另一个 Agent”本身也由别人维护、有自己的生命周期和负责人时,A2A 的价值才显现。

调用方和被调方是不是同一个团队? 同团队时,一个内部函数调用往往比 A2A 的 Task 状态机更省事。跨团队、跨公司时,你需要的恰恰是那份契约:名片、状态、产物、认证声明。

任务跑多久? 秒级的问答用不上状态机。分钟到小时级的任务(供应链查询、批量审核、跨系统对账)才有 input-required 和流式进度的用武之地。

常见组合是:内部用 MCP 接工具和数据,对外用 A2A 暴露能力。一个售后 Agent 内部通过 MCP 查订单库、读知识库,对外通过 A2A 联系承运商 Agent 改派。两层各管各的,不互相替代。

分阶段落地路线图

每个阶段给退出条件,不达标就别急着进下一阶。

阶段 0:盘点(1–2 周) 列出要接的系统、数据分级、系统负责人、当前接入方式。产出一张清单,标注哪些是只读、哪些有写操作、哪些涉及个人数据。退出条件:每个拟接入系统都有明确 owner 签字。

阶段 1:只读 MCP Server(2–4 周) 挑一到两个只读系统先跑通,比如 Jira 查询、Confluence 搜索、数据库只读视图。工具数量控制在 3 个以内——工具一多,模型选错的概率明显上升。退出条件:连续一周真实使用,记录工具选错次数,错选率能解释清楚。

阶段 2:写操作与人工审批(1–2 个月) 加 OAuth 授权,高风险动作(退款、删除、对外发消息)走人工确认。日志必须记全:哪个用户、哪个 Agent、哪个工具、什么参数、返回结果摘要、trace id。退出条件:一次完整审计能靠日志还原操作链路。

阶段 3:A2A 试点(2–3 个月) 选两个团队,一方暴露 Agent Card,另一方做调用方,跑一条真实链路,比如售后 Agent 调供应链 Agent 查库存并预留。先跑通 input-required 和取消两条路径。退出条件:跨团队任务能端到端追踪,取消能级联到下游。

阶段 4:治理 建 Agent 注册表、统一网关、策略引擎、成本与配额。到这一步重点不再是接多少系统,而是谁批准上线、怎么下线、出问题找谁。

安全与审计要点

  • 工具返回内容当作不可信输入处理。提示注入最常见的入口就是工具输出,不是用户输入。
  • 第三方 MCP Server 做代码审计、锁定版本。生产环境别用 -y 拉最新版本,供应链一变你就被动。
  • 禁止 token 透传。MCP Server 不能把客户端给它的 token 转给上游 API。
  • 按用户维度授权,不用共享服务账号。用服务账号接数据库,审计日志里只会留下一行“agent-service 干的”。
  • 写操作带幂等键。Agent 重试是常态,没有幂等键就会重复退款、重复建单。
  • 审计 Agent Card 里泄露了什么。description 和 skills 写太细,等于把内部系统名和接口路径公开了。
  • 检查级联取消。A2A 任务取消要能传到被调用方,否则下游一直在跑。
  • 设速率与成本上限。多 Agent 链路会放大 token 消耗,一条链路几百次调用不罕见。

两个可复制的最小示例

MCP 客户端配置(以文件系统参考 Server 为例,配置结构在各宿主里基本一致):

{
  "mcpServers": {
    "fs-project": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/docs"]
    }
  }
}

@modelcontextprotocol/server-filesystem 是官方参考实现之一。2026 年部分参考服务器已移入归档目录,用之前先看仓库当前状态,别照抄旧博客里的包名。

A2A Agent Card 示例(字段为示意,具体以 A2A 规范仓库对应版本为准):

{
  "protocolVersion": "0.3.0",
  "name": "inventory-agent",
  "description": "查询仓库库存,支持按 SKU 预留库位",
  "url": "https://<你的内网域名>/a2a",
  "version": "1.0.0",
  "capabilities": { "streaming": true, "pushNotifications": false },
  "defaultInputModes": ["text/plain", "application/json"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "check-stock",
      "name": "查询库存",
      "description": "输入 SKU 与仓库编码,返回可用数量与预计出库时间",
      "tags": ["inventory"],
      "examples": ["查一下 SKU-1024 在华东仓的可用库存"]
    }
  ],
  "securitySchemes": {
    "oidc": {
      "type": "openIdConnect",
      "openIdConnectUrl": "https://<你的 IdP>/.well-known/openid-configuration"
    }
  },
  "security": [{ "oidc": ["inventory.read"] }]
}

关于参考视频

这里不挂固定链接。第三方视频的标题、UP 主和地址会随下架、改名而失效,本文无法逐一核验内容准确性,写死链接反而容易把人带偏。想找视频,用这几个关键词去 B 站、腾讯视频、优酷或抖音检索,优先看发布时间在 2025 年 6 月之后、且贴出官方规范仓库地址的那一类:

  • “Model Context Protocol 实战”“MCP Server 从零写一个”
  • “A2A 协议 Agent Card”“A2A 任务状态机”
  • “Streamable HTTP MCP 迁移”
免责声明:以上提及的第三方平台与关键词仅作检索指引,本文不对任何第三方视频的内容准确性、时效性与商业倾向负责。协议字段、版本号、状态枚举请以 MCP 与 A2A 官方规范仓库的当前版本为准。文中内容为技术分析与实践建议,不构成采购或法律意见。

本周能做的一件事

挑一个只读系统,写一个只有 3 个工具的 MCP Server,接进你日常用的宿主,连续用一周。记录两件事:模型选错工具的次数,以及工具返回内容里出现过多少次“看起来像指令”的文本。这两个数字,决定了你第二阶段该先补审批流程还是先补输入过滤。

PREMIUM

需要完整版教程?

包含详细步骤、视频演示、提示词模板和可下载资料包。微信支付即时获取。

购买完整版 ¥29.90