Skip to content

简介

@multi-agent/a2a 是 A2A(Agent-to-Agent)协议的 TypeScript 实现,为 AI 智能体之间的互操作性和协作提供标准化通信方式。

无论底层框架或模型供应商如何,智能体都能通过 A2A 协议安全地发现彼此、交换信息、协同完成复杂任务。

突破虚拟边界 — A2A 让智能体不止于对话,更能触达物理世界:操作文件、执行命令、控制设备,从思考走向行动。

架构图

核心能力

能力说明
能力发现Agent 通过 AgentCard 声明自身技能,其他 Agent 可发现并调用最合适的智能体
双向流通信基于 gRPC 的实时双向流,支持流式输出、进度反馈、中途取消
Human in the Loop人类也可以作为一个特殊类型的 Agent 加入到智能体的协作当中,Agent 可主动向用户提问,支持人机协作的交互式任务
跨平台提供跨运行时的统一编程接口,浏览器与 Node.js 开发体验一致

双向流通信

Agent 之间可以在同一连接上实时收发消息:

双向流通信

  • 流式输出 - LLM 逐字生成,用户实时看到
  • 双向交互 - Agent 可以主动提问,支持 Human in the Loop
  • 进度反馈 - 长任务实时报告进度

跨平台统一 API

同一套代码,Node.js 和浏览器都能运行:

环境底层协议导入路径
Node.jsgRPC@multi-agent/a2a
浏览器WebSocket@multi-agent/a2a/browser
typescript
const stream = await client.call('chat', { message: '你好,一句话介绍马云。' })
for await (const msg of stream) {
  if (msg.type === 'progress') console.log(msg.text)
  if (msg.type === 'done') console.log(msg.data)
}

插件系统

通过插件扩展 Agent 能力,无需修改业务代码:

  • Tracing Plugin - 全链路追踪,requestId 贯穿整个调用链
  • IO Metrics Plugin - Token 计量,统计输入输出 token 数
  • Parasite Plugin - 本地 Agent 寄生到云端,穿透内网
  • MCP Plugin - 接入 MCP 生态,扩展 Agent 可用工具

A2A 与 MCP

MCP 和 A2A 解决不同层面的问题,可以配合使用:

MCPA2A
定位Agent 调用工具Agent 之间通信
通信模式请求/响应双向流
流式输出不支持支持
双向交互不支持支持

常见模式:

  • 单个 Agent 通过 MCP 调用工具
  • 多个 Agent 通过 A2A 协作

MIT Licensed