---
layout: post.njk
source: https://yage.ai/share/a2a-protocol-deep-research-20260727.html
speaker: yage.ai
title: |-
  重新审视 A2A
  协议：大厂的野心、极小的市场与被挤压的现实
date: '2026-07-27'
summary: 文章探讨了Agent-to-Agent (A2A) 协议的本质，指出其核心在于解决跨公司、跨平台系统之间复杂且不信任的远端协作场景。作者对比了传统API与MCP在不同场景下的适用性，并分析了Google为解决长耗时、权限管控等工程难题所采取的设计取舍，最终总结了A2A协议因市场小众和安全瓶颈而面临的困境。
area: tech-engineering
category: ai-application
tags:
  - agent-to-agent
  - cross-company-collaboration
  - remote-rpc
  - security-bottleneck
people: []
companies_orgs:
  - Google
products_models:
  - Agent-to-Agent (A2A) protocol
media_books: []
draft: true
status: evergreen
---

大厂推出一个新协议，很少只是为了技术利他。更多时候，它是大厂划领地、立规矩、顺便把自己的开发习惯强加给行业的一种方式。选择一个协议，从来不只是引入几行接口代码，而是把你整个系统的架构交给了对方的设计哲学。2025
年 Google 推出 Agent-to-Agent（A2A）协议并把它捐给 Linux
基金会时，背后也是同样的逻辑。

在 AI
便宜到几分钱推理一次的今天，如果两个系统想通个信，开发者完全可以自己随手写个简单的
JSON 接口。那为什么像 Salesforce、SAP、ServiceNow
这些企业大厂还要围坐在一起，搞一个专门的 A2A
协议？这背后到底解决的是真问题，还是又一场炒作？

### 跨越边界的真实场景

在真实的企业环境里，传统接口吃不下、但又极其折腾人的场景其实非常集中。这个场景不是你平时在单机上写代码或调
API，而是跨公司、跨平台的远端协作。在企业的真实业务里，这类应用有着非常明确的边界。

拿企业客服来说，客户在 Salesforce
的前端页面提交了一个复杂的争议退款请求。Salesforce 自身的 AI
识别出意图后，光查自家的 CRM 数据还不够，它必须找到 SAP 的 AI 查 ERP
里的财务扣款，同时还得叫 ServiceNow 的 AI 去翻翻过去的客服工单。这三个
AI
运行在完全不同的云端，由三家不同的巨头开发，互相谁也不信任谁的数据。如果只是取点数据，普通的
REST API 就能做到；但这里关键的要求是，SAP 和 ServiceNow 的 AI
必须在自己内部做独立的推理和逻辑评估。

在执行过程中，SAP
可能会因为风险规则超标，不得不暂停手头的工作，等待人工管理员审核；或者因为凭证过期，需要跨租户重新要求用户授权。这种需要长耗时运行、中途可能会暂停等待、还要跨系统把控权限的远端委派，才是这类需求真正生长的土壤。

泰森食品与大型分销商 Gordon Food Service
在供应链上的试点，呈现了另一个代表性的跨公司场景。泰森的 AI 销售 Agent
与 Gordon 的 AI 采购 Agent 之间，直接建立起了长期的对话机制。两家公司的
Agent 就像两个黑盒，泰森不需要向对方暴露自家的数据库结构或内部
Prompt，Gordon 也不需要开放自家的采购系统接口。双方的 Agent
在框架约束下，自动分享实时库存、协商补货计划、传递销售线索。远端协作场景的本质，不在于替代代码里的函数调用，而是为了在两个互不信任、架构完全不同的企业系统之间，搭建一条能够带状态、带权限管控的跨界通道。

### 为什么特定场景需要专门的协议

既然这种跨界协作的需求真实存在，为什么不能直接用已有的 API
拼凑，而是非要搞出一套专门的标准化协议？要理清这个需求，不妨把 Anthropic
推出的 Model Context
Protocol（MCP）放在一起看。两者的脾气秉性完全不同，恰好折射出两类完全不同的工程难题。

MCP 的切入点很直接，主要解决怎么让 AI 顺畅地去读本地文件、查 Postgres
数据库或者调 Slack。它诞生于 Anthropic 想改进 Claude Desktop 和 IDE
体验的需求。它非常轻，基于标准输入输出或者简单的
HTTP，目标就是让开发者在十分钟内，把工具接进 AI 的上下文里。

但当场景从给 AI 调本地工具变成让一个 AI 向另一个公司的 AI
委派任务时，传统的 API 和 MCP
就都力不从心了。在跨公司协作里，你无法假设远端 Agent
的技术栈，无法预知它需要处理多久，更无法用简单的同步请求拿回结果。远端
Agent
可能在推理三分钟后发现权限不足，需要暂时挂起任务，等待人工干预；也可能在生成结果的过程中，需要不断向发起方实时推送进度。

更残酷的现实来自于商业与市场规模的悬殊。钓鱼要去鱼多的地方，MCP
面对的是绝大多数普通的 AI 开发者——任何一个做 AI
应用的人，都需要让模型连数据库、读文件。这种刚需和低门槛，让 MCP 在
Cursor、VS Code 和开源社区里迅速形成了爆发式的生态红利。而跨 Agent
委派所面对的，是一个极度小众的企业远端 RPC 市场，只有当公司大到需要把
Salesforce、SAP、UiPath 这些巨头的 AI
串在一起跨公司干活时，这种专门的标准化协议才用得上。市场大小的悬殊，直接决定了这种协议在开发者里的热度天然远低于
MCP。

### Google 的工程解法与设计取舍

为了解决上述跨界协作里的长耗时、不信任与鉴权难题，Google
给出了极其鲜明的 Google 风格工程解法。Google 写 A2A
的思路很像写微服务，用 HTTP 传 JSON，把接口全做成标准 RPC
调用的形式。它要求把能力名片挂在指定的网址上（/.well-known/agent-card.json），用规范的签名校验。这套设计，全是为了满足大企业对
API 网关路由、防火墙穿越、OAuth2 授权和实时推流的工程死要求。

在任务调度上，Google
引入了一套明确的任务状态机，涵盖了从已提交、处理中，到挂起等待输入、挂起等待授权，最后到完成或失败的全生命周期。这种架构和
MCP 即调即返回的模式完全不同。MCP 像调一个本地函数，调完马上拿结果；而
A2A 必须考虑到网络另一端的 Agent
可能会干很久，随时需要暂停下来等你给新权限。在角色分工上，Google
的解法极其干脆，必须分清谁是下指令的主控，谁是只管干活的远端工具。

去年很多团队试多 Agent 时，最直观的想法是搞个 Agent 自由聊天室——让 PM
Agent、Dev Agent、QA Agent
在一个群里用自然语言自由开会讨论。但跑了一阵子后，账单和延迟把大家打醒了。一个简单的任务，几个
Agent 客套澄清几轮，Token 翻了五倍，耗时拉到一分半，还经常因为某个 Agent
的小错导致全盘乱套。靠 Agent 自由聊天干活，在工程上根本跑不通。Google
彻底放弃了这种聊天室幻想，明确了控制流，必须由一个主控掌控全局，远端
Agent 仅仅是提供特定能力的工具。

然而，这种设计虽然解决了远端 RPC 问题，却在单系统内部遭遇了应用内
Sub-agent 机制的剧烈挤压。很多人在谈多 Agent 的价值时，常喜欢举出用子
Agent
读五万字日志只返回两百字摘要来清理上下文、用大模型规划配合小模型清洗来省钱、以及同时派几个子
Agent
并行搜索等典型用法。但这其实是一个很大的误区，大家以为自己在谈专门的网络协议，但这些场景在实际落地时，根本不需要任何网络协议。

在 Claude Code、Codex 或 OpenCode 这类工具里，应用内部的 Sub-agent
机制已经在本地以零网络开销完美解决了这些问题。开发者可以在本地内存里直接派发子任务，根本不需要部署
HTTP 接口，也不需要配置能力名片。本地 Sub-agent
在单体工具里的出色表现，直接吃掉了这类协议在单系统内部的绝大部分生存空间。真正不可替代的价值，被死死压缩在剩下
10% 的跨公司远端 RPC 场景里。

### 安全瓶颈与不温不火的宿命

上述工程取舍与市场挤压交织在一起，最终构成了此类协议极其尴尬的后继后果。极其狭窄的市场空间，加上技术和安全上的巨大麻烦，让
A2A 陷入了吃力不讨好的困局。跨网络让 Agent
互相通信，安全上的隐患层出不穷。

最致命的安全风险是提示词注入级联。一个负责抓取网页的子 Agent
被恶意数据污染后，返回的结果可能会诱骗主控 Agent
去执行删除本地文件或导出密钥的操作。另一个棘手的问题是混淆代理越权，低权限的外部
Agent 可能会利用远端高权限 Agent 的身份，去越权调取敏感数据。

更深层的危险在于授权模型的断层。本地命令行工具默认继承你本机的确认授权，但一旦暴露成
HTTP 接口，它就变成了远程多租户服务。Google 自身的 Gemini CLI
之前紧急修复 A2A 隔离漏洞，就是因为发现如果多个 A2A
任务共享工作区，注入攻击会直接变成远程代码执行。僵尸任务的缠绕同样难以收拾。在跨网络调用中，如果用户点了取消，远端子
Agent 如果没有可靠的通知机制，就会变成在后台默默烧 Token
且随时可能写脏数据的僵尸进程。

极其狭窄的目标市场，加上提示词注入、身份传递、多租户沙盒和僵尸任务等一堆极难解决的工程死穴，最终决定了
A2A 协议的命运。它可能会作为大企业 B2B
基础设施的一部分安静存在，但在更广泛的 AI
开发者圈子里，它注定会长期保持不温不火的状态。