跳转至

什么是A2A

Agent2Agent(A2A)协议是一个开放标准,旨在解决人工智能快速发展的环境中的一个基本问题:由不同团队构建、使用不同技术并由不同组织拥有的AIAgent如何有效地进行通信和协作?

随着AIAgent变得越来越专业化和强大,它们需要在复杂任务上协同工作的需求也在增加。想象一下,用户要求他们的主要AI助手规划一次国际旅行。这个简单的请求可能涉及协调多个专业Agent的能力:

  1. 一个负责航班预订的Agent
  2. 另一个负责酒店预订的Agent
  3. 第三个负责当地旅游推荐和预订的Agent
  4. 第四个负责货币兑换和旅行建议的Agent

如果没有通用的通信协议,将这些不同的Agent整合成一个连贯的用户体验将是一个重大的工程挑战。每个集成都可能是一个定制的点对点解决方案,这使得系统难以扩展、维护和扩展。

A2A解决方案

A2A为这些独立的、通常是"不透明"(黑盒)的Agent系统提供了一种标准化的交互方式。它定义了:

  • 通用传输和格式:使用基于HTTP(S)的JSON-RPC 2.0来定义消息的结构和传输方式。
  • 发现机制(Agent卡片):Agent如何宣传其能力并被其他Agent发现。
  • 任务管理工作流:协作任务如何启动、推进和完成。这包括对可能需要长时间运行或需要多轮交互的任务的支持。
  • 支持多种数据模式:Agent如何交换不仅仅是文本,还包括文件、结构化数据(如表单)以及潜在的其他富媒体内容。
  • 安全性和异步性的核心原则:安全通信的指导原则,以及处理可能需要较长时间或涉及人工参与流程的任务。

A2A的关键设计原则

A2A的开发遵循以下几个核心原则:

  • 简单性:尽可能利用现有的、广为人知的标准,如HTTP、JSON-RPC和服务器发送事件(SSE),而不是重新发明轮子。
  • 企业适用性:从一开始就通过遵循标准Web实践,解决关键的企业需求,如身份验证、授权、安全性、隐私性、追踪和监控。
  • 异步优先:通过流式传输和推送通知等机制,原生支持长时间运行的任务和Agent或用户可能不持续连接的场景。
  • 模态无关(支持各种数据类型):允许Agent使用各种类型的内容进行通信,实现比纯文本要要丰富和灵活的交互。
  • 不透明执行(隔离):使Agent能够在不暴露其内部逻辑、记忆或专有工具的情况下进行协作。Agent基于声明的能力和交换的上下文进行交互,保护知识产权并增强安全性。

使用A2A的优势

采用A2A可以带来以下显著优势:

  • 增强互操作性:打破不同AI Agent生态系统之间的壁垒,使来自不同供应商和框架的Agent能够协同工作。
  • 提升Agent能力:允许开发者通过组合多个专业Agent的优势来创建更复杂的应用程序。
  • 降低集成复杂度:标准化Agent通信的"方式",让团队能够专注于"内容"——他们的Agent提供的价值。
  • 促进创新:鼓励开发更丰富的专业Agent生态系统,这些Agent可以轻松地融入更大的协作工作流程中。
  • 面向未来:提供一个灵活的框架,能够随着Agent技术的持续发展而适应。

通过为Agent之间的通信建立共同基础,A2A旨在加速AI Agent在各个行业和应用中的采用和实用性,为更强大和协作的AI系统铺平道路。

接下来,让我们了解构成A2A协议基础的关键概念