Agent2Agent (A2A):Google出台Mcp互补协议

360影视 国产动漫 2025-04-12 09:00 5

摘要:想象一下,你的企业里充斥着各种聪明的 AI 智能体,个个身怀绝技,有的擅长处理订单,有的精通客户服务,还有的能帮你写代码... 但问题来了,这些来自不同门派(框架、供应商)的高手们,却像鸡同鸭讲,无法互相沟通协作!这效率怎么能上去?简直是智能体世界的"巴别塔"

想象一下,你的企业里充斥着各种聪明的 AI 智能体,个个身怀绝技,有的擅长处理订单,有的精通客户服务,还有的能帮你写代码... 但问题来了,这些来自不同门派(框架、供应商)的高手们,却像鸡同鸭讲,无法互相沟通协作!这效率怎么能上去?简直是智能体世界的"巴别塔"困境!

AI 智能体间的“沟通鸿沟”日益成为行业瓶颈,于是谷歌联合 Atlassian、Salesforce、SAP 等超过 50 家技术领袖,共同设计并开源了全新的 Agent2Agent (A2A) 协议。A2A 的使命就是直击这一痛点,赋予智能体跨越框架和平台的“通用语”,实现真正的互联互通与协同工作!

好问题!划重点:MCP 更多是关注如何给智能体提供更好的"上下文理解能力"和"工具",好比是给大侠配上了更锋利的剑和更清晰的地图。而A2A 则专注于解决智能体之间的"沟通与协作"问题,是如何让不同门派的大侠们能够一起组队打怪、协同作战!

可以说,A2A 和 MCP 并非竞争关系,更像是互补的关系。A2A 负责打通智能体之间的"任督二脉",让它们能够交流任务、协调动作;而 MCP 则可以帮助智能体更好地理解任务背景和可用资源。两者结合,威力倍增,才能真正构建起一个高效、智能的多智能体协作生态!

那么,这个被寄予厚望的 A2A 协议,究竟有何神通?且听我细细道来...

什么是 A2A?

A2A 是一个开放协议,旨在为构建在不同平台和框架上的 AI 智能体提供一种标准的通信方式。它的核心目标是打破智能体生态系统之间的壁垒,赋予它们一种"通用语言",无论其底层技术如何,都能实现:

能力发现:智能体可以向外界展示其能力。

交互协商:协商如何与用户互动(文本、表单、双向音视频等)。

安全协作:在安全的环境下共同完成任务。

通过 A2A,企业可以构建一个动态的多智能体生态系统,让智能体跨越孤立的数据系统和应用程序进行协作,从而最大化 AI 的潜力。

为什么需要 A2A?(核心价值与设计原则)

A2A 的出现并非偶然,它旨在解决企业在规模化部署智能体时遇到的实际问题。其核心价值在于:

提升自主性与生产力:使智能体能够跨系统协作,处理更复杂的任务,从而显著提高生产力。

降低长期成本:通过标准化互操作,减少集成和维护的复杂性。

释放创新潜力:促进不同智能体能力的组合,激发新的应用场景。

为了实现这些目标,A2A 的设计遵循了五大关键原则:

1. 拥抱智能体能力 (Embrace agentic capabilities):专注于智能体以其自然的、非结构化的方式协作,即使它们不共享内存、工具或上下文。

2. 基于现有标准 (Build on existing standards):构建在 HTTP、SSE、JSON-RPC 等广泛使用的标准之上,易于集成到现有 IT 基础架构中。

3. 默认安全 (Secure by default):支持企业级的身份验证和授权机制,与 OpenAPI 的认证方案保持一致。

4. 支持长时任务 (Support for long-running tasks):协议设计灵活,既能处理快速请求,也能支持可能耗时数小时甚至数天(有人工介入)的深度研究任务,并能提供实时反馈和状态更新。

5. 模态无关 (Modality agnostic):不仅限于文本,明确支持音频、视频流等多模态交互。

A2A 如何工作?

A2A 定义了"客户端"智能体(发起任务)和"远程"智能体(执行任务)之间的通信模型。其核心概念包括:

智能体名片 (Agent Card):一个公开的元数据文件(通常位于/.well-known/agent.json),描述智能体的能力、技能、端点 URL 和认证要求,供客户端发现。

A2A 服务器 (A2A Server):实现 A2A 协议方法(如tasks/send)的智能体 HTTP 端点。

A2A 客户端 (A2A Client):消费 A2A 服务的应用程序或其他智能体。

任务 (Task):工作的核心单元。客户端通过发送消息 (tasks/send或tasks/sendSubscribe) 启动任务。任务有唯一 ID,并经历不同状态(submittedworkinginput-requiredcompletedfailedcanceled)。

消息 (Message):代表客户端(user角色)和智能体(agent角色)之间的通信回合,包含多个"部件"。

部件 (Part):消息或工件内的基本内容单元,可以是文本 (TextPart)、文件 (FilePart,内联字节或 URI)或结构化数据 (DataPart,如 JSON 表单)。

工件 (Artifact):智能体在任务期间生成的输出(如生成的文件、最终结构化数据),也包含"部件"。

流式传输 (Streaming):对于长时任务,支持streaming能力的服务器可通过tasks/sendSubscribe,让客户端接收包含任务状态 (TaskStatusUpdateEvent) 或工件更新 (TaskArtifactUpdateEvent) 的服务器发送事件 (SSE),实现实时进度跟踪。

推送通知 (Push Notifications):支持pushNotifications的服务器可以将任务更新主动推送到客户端提供的 webhook URL。

典型流程:

1. 发现 (Discovery):客户端从服务器的周知 URL 获取智能体名片。

2. 启动 (Initiation):客户端发送tasks/send或tasks/sendSubscribe请求,包含初始用户消息和唯一的任务 ID。

3. 处理 (Processing)

• (流式): 服务器发送 SSE 事件。

• (非流式): 服务器同步处理并返回最终任务对象。

4. 交互 (Interaction - 可选):若任务进入input-required状态,客户端使用相同任务 ID 通过tasks/send或tasks/sendSubscribe发送后续消息。

5. 完成 (Completion):任务达到最终状态(completedfailedcanceled)。

实际案例:候选人招聘

想象一下招聘软件工程师的场景。招聘经理可以在统一界面(如 Agentspace)中指示其智能体,根据职位描述、地点和技能要求寻找候选人。该智能体随后利用 A2A 与其他专门负责招聘(如对接 LinkedIn 或内部 HR 系统)的智能体协作,汇总候选人建议。用户审核后,可以指示其智能体安排面试,甚至调用另一个智能体进行背景调查。这个过程展示了智能体如何通过 A2A 跨系统协作,高效完成复杂任务。

官方Agent示例:CrewAI + A2A 实现图像生成智能体

下面是一个更具体的例子,展示了如何将流行的智能体框架 CrewAI 与 A2A 协议结合,构建一个图像生成智能体。

核心思路:

这个智能体利用 CrewAI 来编排任务,并调用 Google Gemini API 来根据文本提示生成图像。A2A 协议则负责提供一个标准化的接口,允许其他 A2A 客户端发送生成请求,并以"工件 (Artifact)"的形式接收生成的图片。

交互流程 (时序图):

关键组件:

CrewAI 智能体: 包含图像生成工具和逻辑的核心智能体。

A2A 服务器: 包装 CrewAI 智能体,提供符合 A2A 协议的 HTTP 端点。

图像生成: 使用 Google Gemini API 实现文生图功能。

缓存系统: (可选) 用于存储生成的图像,以便后续检索(内存或文件)。

主要特点:

• 通过 Google Gemini 实现文本到图像的生成。

• (示例中可能包含) 支持基于参考图像进行修改。

• 包含错误处理和重试机制。

• 可选的文件持久化缓存。

局限性:

• 该示例可能不包含真正的流式传输(因为 CrewAI 本身原生支持有限)。

• 可能仅限于单轮交互,不支持复杂的多轮对话。

运行示例 (简要步骤):

1. 获取代码示例 (通常在 A2A 的官方仓库 samples/python/agents/crewai目录下)。

2. 配置你的 Google API Key (通常通过 .env文件)。

3. 设置 Python 环境并安装依赖 (推荐使用 uv)。

4. 运行 A2A 服务器 (即 CrewAI 智能体)。

5. 在另一个终端运行 A2A 客户端与之交互。

这个例子清晰地展示了如何将现有的智能体框架通过 A2A 协议接入更广泛的智能体生态系统,让其能力可以被其他遵循 A2A 协议的客户端发现和调用。

生态系统与未来

A2A 不仅仅是一个规范,更是一个蓬勃发展的生态系统。Google 与众多合作伙伴的共同努力,确保了协议的实用性和广泛适用性。

A2A 是一个开源项目,其发展依赖于社区的贡献。未来计划包括:

协议增强:改进智能体发现机制(如在 AgentCard 中包含授权方案)、探索动态技能查询 (QuerySkill)、支持任务内动态 UX 协商(如中途添加音视频)、扩展客户端方法、提升流式传输和推送通知的可靠性。

示例与文档完善:提供更简单的"Hello World"示例、集成更多框架的示例、更全面的客户端/服务器库文档、从 JSON Schema 生成人类可读的 HTML 文档。

目前,A2A 的规范草案已经发布,预计将在今年晚些时候推出生产就绪版本。

开始使用 A2A

对 A2A 感兴趣?你可以:

• 阅读 技术文档深入了解协议能力。

• 查阅 JSON 规范了解详细结构。

• 尝试使用官方 代码示例(Python, JS, CLI 等) 和示例智能体(ADK, CrewAI, LangGraph, Genkit)。

• 通过 GitHub issues为协议改进提供反馈。

结语

A2A 协议为实现 AI 智能体的真正互操作性铺平了道路。通过提供一个开放、标准化的通信框架,A2A 有望解锁前所未有的自动化水平和创新潜力,塑造一个智能体无缝协作解决复杂问题的未来。

参考来源: A2A Protocol Documentation

来源:opendotnet

相关推荐