Google A2A协议,是为了战略性占领标准?

发布于:2025-04-16 ⋅ 阅读:(11) ⋅ 点赞:(0)

一、导读

2025 年 4 月 9 日,Google 正式发布了 Agent2Agent(A2A)协议。

A2A 协议致力于打破智能体之间的隔阂,让它们能够跨越框架和供应商的限制,以一种标准化、开放的方式进行沟通与协作

截止到现在,代码仓库已经4.5k星

https://github.com/google/A2A

在这里插入图片描述

接下来,本文将深入剖析 A2A 协议的核心概念与架构,通过具体案例展示其在实际应用中的功能,

最后总结 A2A 协议对人工智能领域未来发展的重要意义。

二、A2A协议介绍

官方文档:https://google.github.io/A2A/#/documentation

本节为摘要,需要深度了解的可以自行查看

1、A2A与MCP协议的关系

  • MCP是专注模型的工具或数据的调用

  • A2A 更多是专注智能体的合作,跟MCP并不矛盾,是一个互补关系

在这里插入图片描述

2、以应用场景分析

在这里插入图片描述

想象一下,我们有下面一个协作流程

  1. 用户请求

    • 用户向系统提出生成销售分析报告的需求。
  2. 售前洞察代理工作

    • 售前洞察代理分析销售数据,识别关键的销售趋势和客户行为模式。
    • 它确定报告中需要包含的关键指标,如销售额、产品类别、地区分布等。
  3. 数据可视化代理工作

    • 数据可视化代理接收售前洞察代理提供的分析结果和关键指标。
    • 它利用MCP协议使用工具层提供的数据和API生成相应的图表和图形。
  4. A2A 协作

    • 数据可视化代理通过A2A协议将生成的图表发送给售前洞察代理
    • 售前洞察代理接收图表,并将其整合到销售分析报告中。
  5. 报告生成

    • 售前洞察代理完成报告的编写,包括对图表的解释和对销售策略的建议。
    • 报告突出显示业绩增长点和潜在问题,为用户制定本季度的销售策略提供支持。
  6. 报告交付

    • 售前洞察代理将完整的销售分析报告交付给用户。

这些组件都来自不同的生态圈,但是遵从相同协议,使得他们可以向搭积木一样,由用户的"问题" 自我调度生态圈的积木,产生了一个解决用户问题的的智能体。

3、A2A概念&功能

A2A协议的核心概念包括:

  1. 功能发现:智能体可以使用JSON格式的智能体卡(类似智能体的名片)来公布其功能与验证方式,从而让客户端智能体能够确定可以执行任务的最佳智能体,并利用A2A与远端智能体进行通信。
  2. 任务管理:A2A协议定义了一个“任务”对象,客户端和远程Agent之间的所有沟通都是围绕着完成任务来进行的。这个“任务”对象有自己的生命周期(比如:待处理、进行中、已完成、失败等)。
  3. 协作:智能体可以相互发送消息,以传达上下文、回复、交付物或用户说明。
  4. 用户体验协商机制:每条消息均包含若干“内容单元”,每个单元均标注特定内容类型,使客户端与远端智能体能够协商确定所需格式,并特别涵盖UI能力的协调。

A2A协议的功能包括:

  • 允许智能体之间相互通信,安全地交换信息,并在各种企业平台或应用程序上协调行动。
  • 支持企业级身份验证与授权,其认证方案在发布时即与OpenAPI标准保持同步。
  • 支持包括音视频流在内的多种交互模态,并采用灵活设计,既能高效处理即时任务,也能支持需要数小时甚至数天(含人工介入环节)的深度研究任务。

通过A2A协议开发的智能体,可以通过https://domain/.well-known/agent.json被开放式的发现,下面的案例会单独将

A2A比较重要的是一个 智能体的卡片(Card)https://google.github.io/A2A/#/documentation?id=agent-card-1

在这里插入图片描述

三、案例

克隆这个项目

https://github.com/google/A2A

git clone https://github.com/google/A2A

在这里插入图片描述

我们将启动2个Agent以及web界面,依赖与python3.13版本,并且安装使用uv

pip install uv

在此之前,会用到google的 Gemini Api key,自行注册一个

https://aistudio.google.com/apikey

1、CrewAI

本示例演示了一个使用 CrewAI 构建并通过 A2A 协议暴露的简单图像生成代理。
详情关于这个内容请阅读:
https://github.com/google/A2A/tree/main/samples/python/agents/crewai
白话文【画图的Agent】

启动服务

cd samples/python/agents/crewai
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

uv run .

在这里插入图片描述
默认为10001端口
在这里插入图片描述

现在我们来看看这个智能体的卡片信息
http://localhost:10001/.well-known/agent.json

在这里插入图片描述
我将描述的信息翻译如下

  1. 基本信息

    • name:智能体的名称,这里是“Image Generator Agent”。
    • description:对智能体功能的简要描述,说明它可以按需生成高质量图像,并利用强大的编辑功能来修改、增强或完全转换视觉内容。
    • url:智能体的服务地址,这里是 http://localhost:10001/,表示智能体在本地服务器上运行。
    • version:智能体的版本号,这里是 1.0.0
  2. 能力(capabilities)

    • streaming:是否支持流式传输,这里是 false
    • pushNotifications:是否支持推送通知,这里是 false
    • stateTransitionHistory:是否支持状态转换历史,这里是 false
  3. 输入和输出模式(Input and Output Modes)

    • defaultInputModes:智能体默认接受的输入模式,包括文本(text)、纯文本(text/plain)和PNG图像(image/png)。
    • defaultOutputModes:智能体默认提供的输出模式,同样包括文本(text)、纯文本(text/plain)和PNG图像(image/png)。
  4. 技能(skills)

    • 包含一个或多个技能,每个技能都有其ID、名称、描述、标签和示例。
    • 在这个例子中,有一个技能 image_generator
      • id:技能的唯一标识符,这里是 image_generator
      • name:技能的名称,这里是“Image Generator”。
      • description:技能的详细描述,与智能体的描述相同。
      • tags:与技能相关的标签,这里包括 generate imageedit image
      • examples:技能的使用示例,这里是一个示例“Generate a photorealistic image of raspberry lemonade”。

2、LangGraph

本示例演示了一个使用 LangGraph 构建并通过 A2A 协议公开的货币转换代理。它展示了支持多轮对话和流式响应的会话交互。
详情关于这个内容请阅读:
https://github.com/google/A2A/blob/main/samples/python/agents/langgraph/README.md
白话文【货币汇率计算的】

启动服务

cd samples/python/agents/langgraph
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

uv run .

在这里插入图片描述

同样的你也可以访问这个智能体卡片信息
http://localhost:10000/.well-known/agent.json

3、在页面进行测试

cd demo/ui
echo "GOOGLE_API_KEY=your_api_key_here" > .env 或者 set GOOGLE_API_KEY=你的key

这个命令将自动安装包跟运行服务

uv run main.py

你将看到下面内容
在这里插入图片描述

访问页面
http://localhost:12000/

在这里插入图片描述

将刚刚2个Agent全部注册上去
在这里插入图片描述
随后就可以体验对话了
在这里插入图片描述
你可以问,剩下的你自己的体验吧!

  • 美元换算 (LangGraph)
  • 帮我画一直小鸟(CrewAI)

在这里插入图片描述

四、结论

  • 制定标准

    我总觉得google正在抢占标准,掌控生态,国内起始早就有人在搞了
    https://www.showapi.com/news/article/67da437d4ddd791c0e00a39f
    谁能制定标准,那么后续在Agent生态圈中一定会有主导权,或许就是 “安卓” “IOS” “小米” 生态圈了

  • MCP会持续发展
    讲真的 MCP就是将数据跟API等,能够实现一个插座调用,A2A有点像是过度设计
    一个Agent,即可以看成工具,也可以说是Agent,这种状态说不清的,各位看官自有见解

下面是A2A官方的一幅图,对应的文档地址可以自己看看

https://google.github.io/A2A/#/topics/a2a_and_mcp

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到