谷歌 Agent2Agent(A2A)协议深度调研报告

谷歌 Agent2Agent(A2A)协议深度调研报告

首发博客:justin3go.com

简介

2025年4月,Google在 Cloud Next 2025 大会上正式发布了全新的 Agent2Agent (A2A) 协议。A2A是一个开放的互操作性协议,旨在打破不同AI代理框架和供应商之间的壁垒,实现跨平台的安全高效协作。该协议专为企业环境设计,通过标准化代理之间的通信,解决各类数据孤岛问题,使复杂工作流程的自动化成为可能并提升生产力。

A2A发布时即获得超过50家行业领先企业的支持(如Atlassian、Box、Salesforce、SAP、ServiceNow、MongoDB等),为AI智能体提供了一个通用框架,让不同供应商或架构的代理能够安全交换信息、协调操作,并无缝集成到企业业务中。

这一合作阵容体现出业界对AI代理互操作性的共同愿景:未来无论底层技术如何,AI智能体都能像网络服务一样自由“对话”和协同工作。

技术原理

核心架构

基于HTTP+JSON的AI代理通信协议,主要包含以下模块:

  1. Agent Card

    • 位置:/.well-known/agent.json
    • 作用:JSON格式的代理能力说明书(含API端点、技能、认证方式)
  2. 角色模型

    • 服务端:提供API接口(必须实现tasks/send等标准方法)
    • 客户端:通过HTTP调用其他代理
  3. 任务流程

    • 生命周期:submitted → working → (input-required) → completed/failed
    • 交互单元:
      • 消息:由多类型Part组成(文本/文件/结构化数据)
      • 工件:任务产出的结构化结果
  4. 通信机制

    • 基础模式:HTTP + JSON-RPC风格接口
    • 高级功能:
      • 实时推送:SSE协议(tasks/sendSubscribe
      • 异步通知:Webhook回调
      • 多模态支持:通过Part类型实现
  5. UX协商

    • 代理间预先协商交互形式(如文本/语音/表单)

基础框架与依赖

A2A协议本身不依赖特定的AI模型或框架,但其出现背景与大型语言模型(LLM)驱动的自治代理趋势密切相关。

协议的结构借鉴了分布式系统和微服务的思想,将每个AI代理视作一个独立服务,通过标准接口通信。这意味着任何基于LLM的代理开发框架(如LangChain、LangGraph、Google的Agent Developer Kit ADK、CrewAI、Genkit等)都可以实现A2A接口,从而与其它代理协同。

Google强调A2A能够适配“不透明的(opaque)”智能体——即无需暴露内部推理过程或内存状态的代理。这对许多企业级应用至关重要,因为涉及安全和合规时,各代理更倾向通过明确定义的输入输出进行交互,而不共享内部细节。

总的来说,A2A提供的是一套应用层协议规范,开发者可以用任何技术栈来构建符合该规范的代理(例如后端用Python、Node.js等皆可),只要遵循HTTP+JSON的接口契约,即可与其他代理互联互通。

协议意义:设计目标及多智能体协作价值

设计初衷

Agent2Agent协议的推出,源自于企业在大规模部署AI代理时遇到的实际痛点。随着企业中不同部门和团队引入各式各样的AI驱动代理(有的用于客服,有的用于办公自动化等),如何让不同厂商、不同框架构建的代理彼此通信、协同完成更复杂的任务,成为一大挑战。

传统上,企业可能需要为每对交互的代理定制集成接口或编写“胶水代码”,这不但成本高昂且难以扩展。A2A协议的设计目标正是为异构AI代理建立一个共同语言,让它们可以开箱即用地互相协作,而无需针对每种组合单独开发适配层。Google在内部大规模代理系统部署方面积累了经验,并抽象出这些通用挑战,从而牵头制定了A2A这一开放标准,以供整个行业采用。

开放与中立

A2A定位为一个开放协议标准而非Google私有接口,这一点具有重要意义。首先,开放意味着任何组织或个人都可根据公开规范实现自己的A2A代理,Google本身也将协议以Apache 2.0许可证在GitHub上开源。超过50家科技公司、SaaS提供商和咨询机构在协议制定初期即参与其中,共同贡献需求和标准制定。

这种多方合作确保了A2A具有中立性和通用性,避免一家厂商对标准的垄断。这与互联网早期的HTTP协议类似——作为开放标准被广泛认可,促进了不同系统之间的互联互通。同样,A2A协议也被寄望成为“代理之间的HTTP”,为AI代理打造出一个开放统一的交流层。在推出之时,就有观点将其视为行业走向AI代理互操作标准化的重要信号。

MCP的补充

值得注意的是,Google明确将A2A定位为Anthropic公司提出的模型上下文协议(Model Context Protocol, MCP)的补充而非替代。MCP协议主要解决的是单个代理如何使用工具和获取外部上下文的问题,即为AI模型调用API、检索数据库等提供一致的接口。而A2A关注的是代理与代理之间的对话与协作

Google形象地比喻道:“如果说MCP是扳手,为代理提供使用工具的手段;那么A2A就是技工之间的对话,让多个代理像技工团队一样交流诊断问题。” 也就是说,A2A并不是与MCP竞争,而是各司其职——MCP赋能单个代理连接外部工具和数据,A2A则让多个独立智能体彼此连接成更大的协作网络。两者相辅相成,共同构筑一个更强大的自治代理生态

提升自治与协同效能

A2A协议对多智能体系统的价值在于提高了代理自治协作的上限。通过A2A,不同能力的智能体可以动态组成“数字劳动力团队”,协同处理单个代理无法完成的复杂任务。例如,一个销售AI助手可以直接请求另一个财务AI代理生成报价方案;客服机器人可以与仓储AI代理沟通库存信息。

这种直接代理对接节省了人工协调或额外中间层,从而提升任务完成的效率和成功率。有研究表明,在企业场景下多智能体协作可使目标完成率较单代理方案提升显著幅度。同时,A2A的标准化方式也降低了引入新代理的边际成本——企业可以随时增添新的专能代理加入流程,它马上就能与现有代理“对话”,无需额外开发,实现即插即用的扩展性。

安全与管控

在强调开放协作的同时,A2A也注重企业所关心的安全和治理问题。协议设计内置了认证和授权机制,Agent Card中明确列出代理服务所需的身份认证方式。企业可通过统一的策略管理,控制哪些代理有权限互相通信,交换何种数据。

这种标准化管理方式比起过去各接口各自为政,更有利于审计和风险控制。此外,因为A2A只要求共享任务所需的输入输出,而不涉及代理内部推理过程,企业可以在保护机密算法和数据的前提下,让代理参与协作。从长期来看,随着更多企业采用A2A,他们也能够获得跨平台管理代理的统一视图,对整个AI代理“编队”进行监控和优化。这种标准化、可管可控的特性,是A2A能够在企业环境落地的重要原因之一。

应用场景:自动化、多代理协作、智能助手与企业通信

A2A协议作为多智能体协作的桥梁,在众多业务与产品场景中具有广泛的应用潜力。以下列举几个典型场景及案例,以展示A2A的价值:

  • 企业流程自动化
    在大型企业中,日常业务流程往往涉及多个系统和角色。通过A2A,不同职能的AI代理可以协同完成端到端的自动化流程。例如,在IT运维场景中,一个负责资产管理的代理可以向另一个负责采购的代理发送请求,自动完成“为新员工订购笔记本”这样的任务。

  • 多智能体协作
    A2A最直接的用途就是让多个AI智能体组成协作团队,分工完成复杂任务。在人力资源招聘流程中,企业可能部署了不同智能体:一个负责筛选简历,另一个负责安排面试时间,还有一个负责回答候选人常见问题。通过A2A,这些代理可以互相通知进度并共享信息。

  • 智能助理与个人助手
    现代的智能虚拟助理(无论面向个人用户还是职场办公)都在变得越来越复杂。通过A2A协议,智能助理可以不再是单一的AI模型,而是前端形象背后调用一组专能代理的集成体。例如,一个个人智能助手在帮用户规划海外旅行时,可以调用“航班预订代理”获取机票方案,再调用“行程优化代理”制定旅行日程,甚至与“翻译代理”协作获取当地语言帮助。

  • 企业通信与协同办公
    在大型组织里,不同部门可能各自采用了AI工具来提升工作效率。如果没有统一标准,这些代理各自为政,信息难以共享。借助A2A协议,企业能够实现跨部门AI代理的协同,如销售AI发现某客户有技术问题,可以直接通过A2A通知客服AI跟进。

  • 其他场景
    除上述典型应用外,A2A还可用于客户服务、电子商务物流、金融风控等诸多领域。随着AI代理在各行业的深入应用,几乎所有需要多个智能体协同工作的场景都可能成为A2A的用武之地。

行业影响:生态系统、竞品比较与产业趋势

生态系统构建

A2A协议的推出对AI开发生态产生了立竿见影的推动作用。首先,众多合作伙伴的加入(如上图所示)表明业内主要玩家正携手打造统一的代理通信标准。

对于开发者而言,这意味着日后构建AI应用可以更方便地集成来自不同供应商的智能组件,而不用担心兼容性问题。

对竞争格局的影响

作为首个公开的多智能体通信协议标准, A2A也对业界主要AI平台厂商产生压力和影响。一方面,Google通过开放标准凝聚业界资源,巩固了其在企业AI领域的领导地位;另一方面,其他巨头如Microsoft、OpenAI、IBM等如果没有类似标准,需要考虑是否支持A2A以融入这一生态。

未来客户很可能要求AI产品具备A2A兼容性以保护其投资。这将促使更多厂商加入支持行列,避免被生态排除。

对开发者与企业的意义

从开发者角度看,A2A的出现极大简化了多代理应用的开发。以前,实现两个不同框架AI系统的交互需要开发者精通双方接口并编写适配层;现在只需双方均实现A2A接口,即可直接调用。

这降低了企业部署AI代理的运营成本和技术风险,让更多传统IT部门也愿意尝试引入AI代理协作来改善业务。

产业趋势展望

A2A协议的诞生契合了AI产业向更自主、更协同发展的趋势。一方面,大型语言模型能力的提升催生了大量自治Agent的应用需求,单体智能逐渐无法满足复杂业务,这推动架构从“单智能体+工具”走向“多智能体协作”。

A2A提供了这一演进所需的标准底座。另一方面,企业对于数据主权和系统掌控的要求越来越高,他们希望能自由选购最合适的AI模块,而非被锁定在单一厂商生态中。A2A通过开放互通满足了这种去中心化、多样化需求,符合产业开放合作的大方向。

相关资料:论文、博客、演示与代码库

官方发布与技术博客

Google 团队在发布A2A协议的同时提供了详尽的官方说明和博客文章。其中最主要的是2025年4月9日发表于 Google Developers Blog 的《Announcing the Agent2Agent Protocol (A2A)》一文。

技术文档与规范

A2A协议的完整技术规范已经开源发布在GitHub仓库上。该仓库包含协议的JSON接口定义、示例代码和文档。

开源代码库与SDK

在GitHub的A2A仓库中,除了规范文档,还提供了多种语言的示例实现和开发工具包。开发者可以自由试用、参考并贡献改进。

演示与视频资料

为了方便理解A2A的实际效果,Google官方提供了一些演示案例。例如,在发布会上展示了跨平台代理协作的情景。

社区讨论与分析文章

A2A发布后引起了AI技术社区的广泛讨论。业界分析人士在博客和媒体上发表了许多见解,这些资料有助于从不同角度理解A2A协议的意义、应用前景和可能的挑战。

是否有学术论文

截至目前(2025年4月),A2A协议主要以工业界发布为主,并无专门的学术论文公布其细节。不过,其理念契合多智能体系统和分布式AI的研究方向。

总结

Agent2Agent (A2A) 协议作为Google携手业界推出的开放标准,开创了AI代理直接对话协作的新时代。其清晰的技术架构和面向企业的设计填补了多智能体系统缺乏通用通信规范的空白。

A2A的出现将AI代理从孤岛走向网络:不同能力的智能体可以像互联网服务那样彼此发现、通信和协调,在更大范围内实现自治智能。对于企业,它带来了跨应用AI自动化的新范式,预示着更高的效率和创新空间;对于开发者,它提供了标准工具和生态,大幅降低了多代理开发的门槛。

参考文献

  1. Rao Surapaneni 等, Announcing the Agent2Agent Protocol (A2A)
  2. Kevin Ichhpurani, Building the industry’s best agentic AI ecosystem with partners
  3. Google 开源项目, Agent2Agent Protocol – README
  4. Chris McKay, Google just Launched Agent2Agent… (Maginative, Apr 2025)
  5. Ofweek维科网, 谷歌发布新Agent协议A2A… (新浪财经转载)
  6. cnBeta资讯, Google推出Agent2Agent协议 跨平台连接AI代理
Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的人脸识别系统 深度学习 (源码+文档)Python毕业设计-基于Python的
以下是爬取某音评论区的 Python 代码: ```python import requests import json # 设置请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 模拟登录并获取cookies session = requests.session() login_url = 'https://passport.xiaomi.com/oauth2/login' session.get(login_url, headers=headers) login_api = 'https://account.xiaomi.com/pass/serviceLoginAuth2?_json=true' post_data = { 'sid': 'passport.xiaomi.com', 'callback': 'https://www.xiaomiyoupin.com/callback', 'qs': '%3FredirectUrl%3Dhttps%253A%252F%252Fm.xiaomiyoupin.com%252Fcomment%252Flist%253FgoodsId%253D118280%2526pageIndex%253D1%2526pageSize%253D10', '_sign': 'yR4M%2Fq%2BMFbqzFYjxZyJ3n9yMx7M%3D', 'serviceParam': '{"checkSafePhone":false}', 'service': 'mipay', 'loginTime': '1629805765', 'showExtra': 'true', 'callbackUrl': 'https://www.xiaomiyoupin.com/callback', 'qsStamp': 'eyJpdiI6InRnWU9pV1B0NzJQcHRoV3h1Zll1TlE9PSIsInZhbHVlIjoiWnZPRjN0bGY1QWpCQng5UWtWc1p4Zz09IiwibWFjIjoiYTJhMzg1ZjdhZjIwNmYzYzk0ZGJmMDY1ZjhhODM3YjQ0MjBhNjQ3YzhlZjM2NzczZjhiZmE5OGJjYjczMjBjZSJ9', 'sidTimeout': '1h', '_json': 'true', 'qsToken': 'eyJpdiI6IjJiNTdUZ21haE1aZzZmQ0xlQXh4dEE9PSIsInZhbHVlIjoiYStGXC9WQzBtRmZ1NU1Wb0tqT1ZUZz09IiwibWFjIjoiYzY2NTk0MjRlNDg0ZmY0ODRmNzU1ZGEyNTUzNzAzNzIzOWUyMzgyMjYzYjlkNjQ2ZDQ1MmRjZjNiNTQ2ZjEyZCJ9', 'deviceId': 'c7b4f0e9-b9da-31da-9c77-9b15a6b64a14', 'pwdMethod': 'pwd', 'user': 'your_account', # 替换成你的账号 'hash': 'your_password' # 替换成你的密码 } session.post(login_api, headers=headers, data=post_data) # 获取评论列表 comment_url = 'https://m.xiaomiyoupin.com/comment/list?goodsId=118280&pageIndex=1&pageSize=10' response = session.get(comment_url, headers=headers) if response.status_code == 200: result = json.loads(response.text) comments = result['data']['list'] for comment in comments: print(comment['content']) else: print('获取评论失败') ``` 需要注意的是,这个代码中的 `your_account` 和 `your_password` 需要替换成你自己的某音账号和密码。同时,由于某音评论区需要登录才能访问,所以在代码中我们先模拟登录并获取 cookies,然后再通过 cookies 访问评论列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值