SuperAPI AI 工具集

a2a-protocol

智能体与模型

查看项目

更新于 10-15 23:41

技能介绍

用途:在实现 A2A(Agent-to-Agent)协议时使用,包括智能体互操作、多智能体通信、智能体发现、agent card 解析,以及 A2A 任务的创建、查询、列表、取消与订阅。A2A 是开放协议,最初由 Google 创建,现属 Linux Foundation,使不同框架或厂商的智能体可相互发现与协作。它与 MCP 互补:MCP 连接模型与工具/数据,A2A 面向保持自主的智能体间协作。

主要能力:支持三种绑定——JSON-RPC 2.0(HTTP POST)、gRPC(HTTP/2)、HTTP+JSON/REST;支持 API Key、Basic/Bearer、OAuth 2.0、OpenID Connect、mTLS 等安全方案,凭据经 HTTP 头传递。核心概念包括客户端-服务器模型、agent card(位于 /.well-known/agent-card.json 的 JSON 元数据)、任务生命周期(submitted、working、completed、failed、canceled、input-required、auth-required、rejected)、消息/Part/Artifact 与 contextId。

使用方式:发现智能体可执行 curl https://agent.example.com/.well-known/agent-card.json。发送消息用 a2a.sendMessage,流式用 a2a.sendStreamingMessage(需 agent card 声明 capabilities.streaming: true),查询用 a2a.getTask,多轮用相同 task_id 与 context_id 续发消息,异步任务可配置 a2a.createTaskPushNotificationConfig 的 HTTPS webhook,取消用 a2a.cancelTask。每个 JSON-RPC params 必须包含 "a2a-version": "1.0"。

限制与注意:A2A 是协议规范而非 SDK;流式需服务端声明能力;task_id 与 context_id 不同,多轮需同时传;推送 webhook 必须 HTTPS;终态任务不可再发消息;错误包括 TaskNotFoundError、TaskNotCancelableError、PushNotificationNotSupportedError、UnsupportedOperationError、ContentTypeNotSupportedError、VersionNotSupportedError。详细子域可查阅 references/ 下文件。