跳转至

Agent Interoperability — 跨框架 Agent 互操作

不同厂商、不同框架构建的 AI agent 能够在无需了解对方内部实现的情况下协作完成任务的能力。这是当前 agent 生态从"孤岛"走向"网络"的核心工程挑战。

问题的结构

当前状态:孤岛生态

2024 年前后,agent 框架迅速增殖:LangGraph、CrewAI、Semantic Kernel、AutoGen、Google ADK、Anthropic Claude SDK……每个框架有自己的内部通信机制,但框架之间没有标准化接口。

结果: - 每次跨框架集成都需要定制开发(点对点方案) - 将 agent 包装成工具是常见妥协——但这削弱了 agent 的自主性 - 生态无法自然形成复合系统

根本张力:Agent ≠ Tool

传统 MCP/函数调用模型将外部能力暴露为工具(tool):无状态、执行确定函数、单次请求-响应。

但 agent 有本质不同的需求: - 多轮协商:任务可能需要澄清、迭代 - 有状态执行:任务跨越多个请求持续进行 - 异步委派:client 不需要持续等待 - 能力声明:agent 需要描述自己擅长什么

将 agent 包装成工具会强行截断这些能力。

A2A 的解法

A2A 协议通过三个机制实现互操作:

1. 标准化发现(Agent Card)

Agent Card 发布于固定端点 /.well-known/agent-card,让任何 A2A-compliant client 都能在运行时发现 agent 的能力和接口,无需预先配置。

2. 标准化通信语义(Task + Message)

Task Lifecycle 定义了跨框架统一的工作单元表示。无论底层用什么框架实现,A2A Task 的状态机是一致的。

3. 不透明执行(Opaque Execution)

Agent 协作时不暴露内部状态、记忆或工具实现。协作双方只依赖: - 声明的能力(Agent Card skills) - 交换的上下文(Message + Artifact)

这保护了知识产权,也使得跨组织协作成为可能。

与现有框架的关系

与 Orchestrator-Workers 的关系

Orchestrator-Workers 模式描述的是单系统内的 agent 编排。A2A 将这个模式扩展到跨系统边界:orchestrator 可以是任何框架的 client agent,workers 可以是任何框架的 remote agent,中间通过 A2A 协议通信。

与 Agent OS 的关系

Agent OS 视角,A2A 类比于操作系统的网络栈: - 本地进程通信 ↔ 框架内 agent 调用 - TCP/IP 跨机器通信 ↔ A2A 跨框架通信 - DNS 服务发现 ↔ Agent Card 能力发现

AgenticOS Workshop(ASPLOS 2026)中 Cisco agntcy 框架明确将 A2A 作为"Internet of Agents"的通信层。

与 MCP 的互补关系

MCP 和 A2A 在 agent 技术栈中各司其职:

维度 MCP A2A
连接对象 Agent ↔ 工具/数据 Agent ↔ Agent
通信性质 无状态函数调用 有状态任务委派
典型场景 搜索、数据库查询 委托另一个 agent 完成子任务
发现机制 JSON Schema 能力描述 Agent Card

生态意义

互操作性不只是技术问题,也是生态问题:

  • 分工专业化:团队可以专注构建最擅长的 agent,通过 A2A 接入生态
  • 复合系统:多个专业 agent 的能力可以组合,突破单 agent 能力上限
  • 渐进采用:A2A 是开放标准,已有 agent 系统可以逐步增加 A2A 接口而不必重写

开放问题

互操作性带来新的协调难题(超出 A2A 当前规范):

  • 能力语义对齐:两个 agent 声明同样的 skill,但语义不同——谁来仲裁?
  • 错误传播:远程 agent 失败时,委托链如何处理?(与 error-cascade 相关)
  • 信任模型:如何验证 agent card 的声明是真实的?

References