AI知识补全(十六):A2A - 谷歌开源的agent通信协议是什么?

名人说:一笑出门去,千里落花风。——辛弃疾《水调歌头·我饮不须劝》
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)


上一篇:AI知识补全(十五):AI可解释性与透明度是什么?

目录

    • 一、什么是A2A协议?
      • 1. A2A的定义与背景
      • 2. A2A的核心概念
      • 3.为什么需要A2A?
      • 4. 架构设计
      • 5. 关键功能
    • 三、A2A与其他协议的关系
      • 1. A2A与MCP的比较
      • 2. A2A与其他代理协议的生态位置
    • 四、A2A协议的应用场景
      • 1. 企业级应用
      • 2. 实际案例分析
    • 五、A2A协议的实现与开发
      • 1. 技术实现
      • 2. 开发路线图
    • 六、A2A的行业影响与前景
      • 1. 行业合作与影响
      • 2. 未来发展趋势
    • 七、结论与展望

很高兴你打开了这篇博客,更多AI知识,请关注我、订阅专栏《AI知识图谱》,内容持续更新中…

一、什么是A2A协议?

在这里插入图片描述
图片来源:A2A(Google)

1. A2A的定义与背景

A2A(Agent2Agent)是由谷歌(Google)开源的一种全新AI代理通信协议,旨在解决不同框架和供应商开发的AI代理之间通信互操作的问题。这个协议于2025年4月份正式发布,背后有包括Atlassian、Salesforce、Deloitte等50多家主要合作伙伴的支持。

通俗易懂些来理解,就是给AI助手们创造了一种"国际通用语言",让它们能够相互理解和协作。不管是谷歌、微软、亚马逊还是其他公司开发的AI,只要它们都遵循这个A2A协议,就能像人与人交谈一样互相沟通

在这里插入图片描述
图片来源:A2A(Google)

谷歌认为A2A协议将为客户带来显著价值,使他们的AI代理能够跨整个企业应用程序领域工作。这种协作努力标志着一个共同愿景的未来,即AI代理无论其底层技术如何,都能无缝协作,自动化复杂的企业工作流程,推动前所未有的效率和创新水平。

2. A2A的核心概念

A2A协议的核心在于促进独立AI代理之间的通信,其基本概念包括:

  • Agent Card(代理卡片):一个公共元数据文件(通常位于/.well-known/agent.json),描述代理的能力、技能、端点URL和身份验证要求。客户端使用它进行发现。
  • A2A Server(A2A服务器):一个暴露HTTP端点的代理,实现A2A协议方法(在json规范中定义)。它接收请求并管理任务执行。
  • A2A Client(A2A客户端):消费A2A服务的应用程序或另一个代理。它向A2A服务器的URL发送请求(如tasks/send)。
  • Task(任务):工作的中央单元。客户端通过发送消息(tasks/send或tasks/sendSubscribe)启动任务。任务有唯一ID并经历各种状态(提交、工作、需要输入、完成、失败、取消)。
  • Message(消息):代表客户端(角色:“user”)和代理(角色:“agent”)之间的通信回合。

在这里插入图片描述

3.为什么需要A2A?

想象一下这个场景:你要计划一次旅行,需要:

  • 查找并比较机票价格
  • 根据天气预报选择合适的目的地
  • 预订酒店和餐厅
  • 安排当地活动和交通

以前,你可能需要打开4-5个不同的应用,手动在它们之间复制粘贴信息有了A2A协议,你只需告诉你的主AI助手:“帮我计划下周去日本的旅行”,然后它就能自动与专门负责机票查询的AI、天气预报AI、酒店预订AI等进行沟通协作,共同完成这个任务。

所有这些AI助手虽然可能来自不同公司、基于不同技术,但因为都"说"A2A这种"通用语言",所以能无缝协作,就像一个高效的团队

4. 架构设计

A2A协议促进了"客户端代理"与"远程代理"之间的通信。客户端代理负责从最终用户那里制定和传达任务,而远程代理则根据这些任务采取行动。这种架构设计使得代理之间可以明确地交换信息,无需共享内部状态或记忆。

图1:A2A通信架构图

在这里插入图片描述

图2:A2A协议概念图 - 展示了客户端代理与远程代理之间的通信流程,以及任务(Task)和代理卡片(Agent Card)在协议中的核心地位

  • 独立运行:代理独立运行并明确沟通以交换信息。
  • 符合标准:该协议使用广泛采用的Web技术,如HTTP、JSON-RPC和服务器发送事件(SSE),以最大限度地减少开发人员的摩擦。
  • 默认安全:内置身份验证和授权措施旨在保护敏感交易和数据。
  • 处理短任务和长任务:A2A支持简短交互(如快速信息请求)和需要持续协作的扩展流程。
  • 模态无关:代理可以通过实时共享结构化任务更新来处理文本、视频、音频或其他数据类型。

在这里插入图片描述

5. 关键功能

A2A协议依赖于几个关键功能:

  1. 能力发现:代理可以通过JSON格式的Agent Card"发布其能力",使客户端代理能够确定最佳的远程代理来完成任务。
  2. 任务管理:确保代理之间的通信仅面向完成请求,并定义任务的生命周期。
  3. 协作:发送有关上下文回复、工件(任务输出)或指令的消息。
  4. 用户体验协商:允许客户端和远程代理协商响应最终用户请求所需的正确格式,以及了解用户的UI能力,如iframe、视频、Web表单等。

每条消息包括"部分",这是一个完全形成的内容片段,比如生成的图像。每个部分都有指定的内容类型,允许客户端和远程代理协商所需的正确格式,并明确包括对用户UI能力的协商。

三、A2A与其他协议的关系

1. A2A与MCP的比较

在发布A2A时,谷歌将其定位为与Anthropic的MCP(Model Context Protocol)互补的协议。在公告中,谷歌提到,“A2A是一个开放协议,补充了Anthropic的MCP,后者为代理提供有用的工具和上下文。

在这里插入图片描述

谷歌在标题为"A2A ❤️ MCP"的A2A文档页面中,提供了一个汽车修理店用例示例,以演示A2A和MCP如何协同工作。

如果用类比来解释:如果MCP是扳手,那么A2A就是机械师之间在诊断问题时的对话。A2A还专门设计为支持不透明代理——那些不暴露其内部推理或记忆的代理——这对于需要安全、模块化或供应商抽象的企业用例至关重要。代理不是同步内部状态,而是通过定义明确的"任务"共享上下文,这些任务包括输入、指令、结果(“工件”)和实时状态更新。

2. A2A与其他代理协议的生态位置

谷歌云业务应用平台副总裁兼总经理Rao Surapaneni告诉VentureBeat,A2A使具有不同专业化和数据节点的代理更容易获得所需的上下文。“每个人都有一定的专业化,因为他们拥有数据节点或逻辑节点,或者当前用户群体专注于特定任务”。

A2A协议与Anthropic的模型上下文协议(MCP)不同,但两者可以互补。虽然MCP专注于应用程序和生成式AI模型之间的交互,但A2A协议专注于不同AI代理之间的交互。“你可以将MCP视为提供垂直集成(应用程序到模型),而A2A提供水平集成(代理到代理)”。

四、A2A协议的应用场景

1. 企业级应用

A2A协议的一个突出特点是其企业级关注点。该协议支持延伸数天、数周甚至数月的长期运行任务——如供应链规划或多阶段招聘。它还支持多模态协作,因此AI代理可以在统一工作流程中共享和处理文本、音频和视频

如果A2A获得牵引力——早期支持表明它可能会——它可能会像Kubernetes标准化云原生应用或OAuth简化跨平台安全访问一样加速代理生态系统。通过在协议级别解决互操作性问题,A2A降低了企业混合搭配不同提供商的代理并最终将它们视为连贯数字劳动力的门槛。

2. 实际案例分析

通过A2A协作,可以显著简化招聘软件工程师的过程。在像Agentspace这样的统一界面中,用户(例如招聘经理)可以指派其代理寻找与工作列表、位置和技能集匹配的候选人。然后,该代理与其他专门的代理交互,寻找潜在的候选人。

A2A的一个真实应用例子是招聘过程。一个代理可能根据特定标准筛选候选人,另一个可能安排面试,而第三个可能管理背景调查。这些专业代理可以通过统一的界面进行通信,同步每个步骤的状态,并确保相关信息安全传递。

在这里插入图片描述

五、A2A协议的实现与开发

1. 技术实现

A2A协议基于几个核心概念构建:

  • Agent Card(代理卡片):一个公共元数据文件,通常位于/.well-known/agent.json,描述代理的能力、技能、端点URL和身份验证要求。客户端使用它进行发现。
  • A2A Server(A2A服务器):一个暴露HTTP端点的代理,实现A2A协议方法(在json规范中定义)。它接收请求并管理任务执行。
  • A2A Client(A2A客户端):消费A2A服务的应用程序或另一个代理。它向A2A服务器的URL发送请求(如tasks/send)。
  • Task(任务):工作的中央单元。客户端通过发送消息(tasks/sendtasks/sendSubscribe)启动任务。任务有唯一ID并经历各种状态(submitted、working、input-required、completed、failed、canceled)。
  • Message(消息):代表客户端(角色:“user”)和代理(角色:“agent”)之间的通信回合。

在这里插入图片描述
图片来源:How A2A works(Google)

2. 开发路线图

未来计划包括改进协议本身和增强示例:

- 正式纳入授权方案和可选凭证直接在AgentCard中。
- 研究QuerySkill()方法,用于动态检查不支持或未预期的技能。
- 支持任务内的动态UX协商(例如,代理在对话中途添加音频/视频)。
- 探索扩展对客户端发起方法的支持(超出任务管理)。
- 改进流式传输可靠性和推送通知机制。
- 简化"Hello World"示例。
- 包括与不同框架集成或展示特定A2A功能的其他示例。
- 为常见客户端/服务器库提供更全面的文档。
- 从JSON Schema生成人类可读的HTML文档。

六、A2A的行业影响与前景

1. 行业合作与影响

谷歌与超过50家技术合作伙伴合作推出了A2A协议,这些合作伙伴包括Atlassian、Box、Cohere、Intuit、Langchain、MongoDB、PayPal、Salesforce、SAP、ServiceNow、UKG和Workday;以及领先的服务提供商,包括Accenture、BCG、Capgemini、Cognizant、Deloitte、HCLTech、Infosys、KPMG、McKinsey、PwC、TCS和Wipro。

对于努力在不同系统上实施AI驱动自动化的企业来说,这一举措意义重大。通过实现专业代理之间的互操作性,A2A解决了扩展代理AI解决方案的关键障碍。德勤等行业领导者强调了它在统一工作流程和降低集成成本方面的潜力。

2. 未来发展趋势

该协议目前作为开源项目在GitHub上提供,谷歌计划在今年晚些时候推出面向生产的版本。对于希望未来保障其AI投资的企业来说,A2A值得认真关注。

Surapaneni表示,谷歌将A2A设计为开放协议,这意味着更大的开源社区可以为A2A项目做出贡献并提出代码更新。“我们将其作为一项社区驱动的努力开放,并且是真正的开源。有一个治理委员会,但我们确实希望它是真正开放和社区驱动的。”

在开发A2A时,谷歌专注于使代理能够"以其自然、非结构化的模式工作,即使它们不共享记忆、工具和上下文"。该协议还建立在HTTP和JSON等现有标准之上,因此它更容易与现有技术栈集成,并默认是安全的。

七、结论与展望

A2A协议代表了AI代理通信领域的重要进步,通过提供标准化的通信框架,它解决了企业AI采用的关键障碍。作为一个开源项目,A2A协议得到了众多技术巨头和咨询公司的支持,这表明行业对统一AI代理生态系统的强烈需求和认可。

随着企业越来越多地采用AI代理来执行从客户服务到供应链管理的任务,A2A代表了朝着充分实现多代理生态系统潜力的关键一步。通过使不同供应商和框架开发的代理能够无缝协作,A2A有望推动企业AI应用的下一波创新浪潮。

对于AI开发者和企业决策者来说,密切关注A2A协议的发展将是至关重要的,因为它有可能成为未来代理通信的事实标准。随着越来越多的组织采用这一协议,我们可能会看到前所未有的AI协作和自动化水平,进一步推动数字化转型和创新。

参考资料

  1. Google GitHub A2A仓库: https://github.com/google/A2A
  2. Google Developers Blog: https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
  3. VentureBeat: https://venturebeat.com/ai/googles-agent2agent-interoperability-protocol-aims-to-standardize-agentic-communication/
  4. MarkTechPost: https://www.marktechpost.com/2025/04/09/google-introduces-agent2agent-a2a-a-new-open-protocol-that-allows-ai-agents-securely-collaborate-across-ecosystems-regardless-of-framework-or-vendor/

创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器人创新创业应需明确产品定位与方向指南】

机器人领域的创新创业, 需要对公司和产品的定位和生态进行深入思考, 明确其定位与发展目标, 明确产品在是为G、为B还是为C进行服务。 本文引用地址:https://www.eepw.com.cn/article/202504/469401.htm 超前的、探索性的创新技术一般是面向G端, 而不是面向B端或者C…

网安加·百家讲坛 | 刘志诚:AI安全风险与未来展望

作者简介:刘志诚,乐信集团信息安全中心总监、OWASP广东区域负责人、网安加社区特聘专家。专注于企业数字化过程中网络空间安全风险治理,对大数据、人工智能、区块链等新技术在金融风险治理领域的应用,以及新技术带来的技术风险治理…

TOA与AOA联合定位的高精度算法,三维、4个基站的情况,MATLAB例程,附完整代码

本代码实现了三维空间内目标的高精度定位,结合到达角(AOA) 和到达时间(TOA) 两种测量方法,通过4个基站的协同观测,利用最小二乘法解算目标位置。代码支持噪声模拟、误差分析及三维可视化,适用于无人机导航、室内定位等场景。订阅专栏后可获得完整代码 文章目录 运行结果…

2025MathorcupC题 音频文件的高质量读写与去噪优化 保姆级教程讲解|模型讲解

2025Mathorcup数学建模挑战赛(妈妈杯)C题保姆级分析完整思路代码数据教学 C题:音频文件的高质量读写与去噪优化 随着数字媒体技术的迅速发展,音频处理成为信息时代的关键技术之一。在日常生活中,从录音设备捕捉的原始…

Deno Dep:颠覆传统的模块化未来

一、重新定义依赖管理:Deno Dep 的革新哲学 Deno Dep(原Deno包管理器)彻底重构了JavaScript/TypeScript的依赖管理方式,其核心突破体现在: 1. 浏览器优先的模块化(URL-Centric Modules) // 直…

欧拉系统升级openssh 9.7p1

开发的系统准备上线,甲方对欧拉服务器进行了扫描,发现openssh版本为8.2p1,存在漏洞,因此需要升级openssh至9.7p1。欧拉系统版本为20.03 SP3。 1、下载openssh 9.7p1 https://www.openssh.com/releasenotes.html, 将下…

如何精通C++编程?

如果从学生时代算起的话,我学习和使用C已经差不多快十年了,仍然不敢说自己已经掌握了C的全部特性,但或许能够给出一些有用的建议吧。 我学习C全靠自学,花费了不少的功夫,在这里分享一些学习心得,希望对大家…

提高Qt工作线程的运行速度

1. 使用线程池(QThreadPool)替代单一线程 做过,但是当时没想到。。。 目的:减少线程创建和销毁的开销,复用线程资源。 实现步骤: 创建自定义任务类:继承QRunnable,实现run()方法。…

Solon AI MCP Server 入门:Helloworld (支持 java8 到 java24。国产解决方案)

目前网上能看到的 MCP Server 基本上都是基于 Python 或者 nodejs ,虽然也有 Java 版本的 MCP SDK,但是鲜有基于 Java 开发的。 作为Java 开发中的国产顶级框架 Solon 已经基于 MCP SDK 在进行 Solon AI MCP 框架开发了,本文将使用 Solon AI …

STL之迭代器(iterator)

迭代器的基本概念 迭代器(iterator)模式又称为游标(Cursor)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用于聚合对象的一种模式,通过运用该模式&#…

Android系统通知机制深度解析:Framework至SystemUI全链路剖析

1. 前言 在Android 13的ROM定制化开发中,系统通知机制作为用户交互的核心组件,其实现涉及Framework层到SystemUI的复杂协作。本文将深入剖析从Notification发送到呈现的全链路流程,重点解析关键类的作用机制及系统服务间的交互逻辑&#xff…

UE5角色状态机中跳跃落地移动衔接问题

UE5系列文章目录 文章目录 UE5系列文章目录前言一、状态机设置二、主要蓝图 前言 先说说遇到的问题,在我按空格键跳跃落地以后,角色落地再按WSAD键移动就出现了画面中角色抽搐的情况 一、状态机设置 在Unreal Engine 5中创建角色时,处理跳…

使用SVM对心脏数据是否患病进行分类预测

作者简介 杜嘉宝,男,西安工程大学电子信息学院,2024级研究生 研究方向:变压器故障预警与检测 电子邮件:djb857497378gmail.com 王子谦,男,西安工程大学电子信息学院,2024级研究生&a…

Node做BFF中间层架构优化前端开发体验并提升系统整体性能。

文章目录 1. BFF 层的定位2. 技术选型3. 架构设计3.1 分层设计3.2 示例架构 4. 核心功能实现4.1 数据聚合4.2 权限校验4.3 缓存优化 5、实战示例1. 场景说明2. ECharts 数据格式要求3. BFF 层实现步骤3.1 接收前端参数3.2 调用后端服务获取数据 4. 前端使用 总结 在使用 Node.j…

文件系统 软硬连接

🌻个人主页:路飞雪吖~ 🌠专栏:Linux 目录 一、理解文件系统 🌠磁盘结构 二、软硬连接 🌟软硬链接 🌠软链接: 🌠硬链接: 🌟理解软硬链接的应…

单片机 | 基于51单片机的自动循迹小车设计

以下是一个基于51单片机的自动循迹小车设计详解,包含原理、公式和完整代码: 一、系统原理 核心模块: 传感器:红外对管(TCRT5000)x4主控芯片:STC89C52RC(51单片机)电机驱动:L298N驱动模块电源:7.4V锂电池(电机) + 5V稳压(单片机)工作原理: 红外对管发射红外线,…

2025.04.17【Stacked area】| 生信数据可视化:堆叠区域图深度解析

文章目录 生信数据可视化:堆叠区域图深度解析堆叠面积图简介为什么使用堆叠面积图如何使用R语言创建堆叠面积图安装和加载ggplot2包创建堆叠面积图的基本步骤示例代码 解读堆叠面积图堆叠面积图的局限性实际应用案例示例:基因表达量随时间变化 结论 生信…

基于单片机的智能养生油炸炉系统设计与实现

标题:基于单片机的智能养生油炸炉系统设计与实现 内容:1.摘要 本文针对传统油炸炉功能单一、无法满足现代养生需求的问题,设计并实现了基于单片机的智能养生油炸炉系统。通过采用STC89C52单片机作为控制核心,结合温度传感器、液位传感器、继电器等硬件&…

QML与C++:基于ListView调用外部模型进行增删改查(附自定义组件)

目录 引言相关阅读项目结构文件组织 核心技术实现1. 数据模型设计联系人项目类 (datamodel.h)数据模型类 (datamodel.h)数据模型实现 (datamodel.cpp) 2. 主程序入口点 (main.cpp)3. 主界面设计 (Main.qml)4. 联系人对话框 (ContactDialog.qml)5. 自定义组件CustomTextField.qm…

【MySQL】事务ACID理解记忆

事务的 ACID 特性详解 数据库中的 事务(Transaction) 是一组操作的集合,这些操作要么全部执行,要么全部不执行。为了保证事务可靠执行,必须满足 ACID 四大特性: 特性英文缩写简要说明原子性Atomicity事务…