Skip to content
🔗 分享本题
查看我的学习进度 →

编排器通过 A2A 委托专业 Agent 且每个 Agent 通过 MCP 使用搜索数据库代码工具的混合架构

🧠 图解记忆: A2A 是 Agent 间的语言,MCP 是 Agent 操作工具的接口,生产系统通常分层混用。

💡 答案要点

核心洞察:两个协议不在同一层次

很多人把 MCP 和 A2A 当竞争关系来问,这是最大的误区。它们解决的是不同层次的问题:

┌─────────────────────────────────────────┐
│  编排器 Agent(Orchestrator)            │
│  ┌───────────────────────────────────┐  │
│  │  A2A:Agent 间委派与协作            │  │  ← Agent ↔ Agent 通信
│  │  (语言层:相互对话)                │  │
│  └───────────────────────────────────┘  │
│  ┌───────────────────────────────────┐  │
│  │  MCP:工具与资源访问标准化           │  │  ← Agent ↔ 外部系统
│  │  (双手层:操作世界)                │  │
│  └───────────────────────────────────┘  │
└─────────────────────────────────────────┘

类比:
  MCP = USB-C(任何设备都可以用统一接口连接)
  A2A = HTTP(任何 Agent 都可以用统一协议通信)

A2A + MCP 混合架构三大模式

模式一:编排器-工作器(最常见)

编排器
  │ A2A(任务委派)
  ├─→ 研究员 Agent ─→ MCP(网络搜索、DB查询)
  ├─→ 编码员 Agent ─→ MCP(GitHub、代码执行)
  └─→ 审查员 Agent ─→ MCP(测试运行、部署)

适用:各步骤可独立执行,且每步需要专业技能
举例:采购流程——研究员找产品 → 合规检查政策 → 采购下单 → 财务审批
模式二:流水线模型

输入数据
  │ A2A(Artifact 传递)
  → 分析 Agent ─→ MCP(BI工具)
  → 报告 Agent ─→ MCP(Notion、Slack)
  → 通知 Agent ─→ MCP(邮件、PagerDuty)

适用:数据处理流水线、顺序审批工作流
特点:每个 Agent 的产出成为下一个 Agent 的输入
模式三:对等协作模型

Agent A ←── A2A ──→ Agent B
  │                      │
MCP                    MCP
(领域工具A)          (领域工具B)

适用:复杂创意性工作、需要共识的决策
特点:不存在垂直层级,平等协作

A2A 任务生命周期(九状态机)

面试常问 A2A 和普通函数调用的区别——A2A 的核心是有状态任务机:

A2A 任务状态机:

           ┌──────────────┐
           │   queued     │ ← 初始状态,已接收等待处理
           └──────┬───────┘

           ┌──────────────┐
           │   running    │ ← 正在处理
           └──────┬───────┘

    ┌─────────────┼─────────────┐
    ↓             ↓             ↓
input-required  auth-required  ┌──────────┐
(需额外输入)  (需认证)     │ completed│ ← 终态:成功
    ↑             ↑            └──────────┘
    └──────?───────┘
(人类审批/HITL 场景)

           ┌──────────────┐
           │  canceled    │ ← 终态:被取消
           └──────────────┘

           ┌──────────────┐
           │  rejected    │ ← 终态:Agent 拒绝请求
           └──────────────┘

           ┌──────────────┐
           │   failed     │ ← 终态:处理过程出错
           └──────────────┘

关键点: input-required 是 A2A 支持人机协作(HITL)的核心机制 —— Agent 可以暂停等待人类审批,这在 MCP 里是不内置的。


A2A Agent Card 结构(企业发现机制)

json
{
  "name": "代码审查 Agent",
  "description": "自动化代码审查与安全分析",
  "url": "https://review.example.com/a2a",
  "version": "1.0.0",
  "protocolVersion": "0.3.0",
  "provider": {
    "organization": "DevCorp",
    "url": "https://devcorp.com"
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "defaultInputModes": ["text", "application/json"],
  "defaultOutputModes": ["text", "application/json"],
  "skills": [
    {
      "id": "security-review",
      "name": "安全审查",
      "description": "扫描代码中的安全漏洞",
      "tags": ["security", "code-review", "OWASP"],
      "examples": ["审查这个 PR 的安全问题"]
    }
  ]
}

Agent Card 发布在 /.well-known/agent.json,供其他 Agent 发现和对接。


A2A + MCP 混合 vs 单协议对比

维度仅用 MCP仅用 A2AA2A + MCP 混合
Agent 间通信
工具接入
任务状态跟踪❌(仅 Tasks 原语)✅(完整状态机)
人类审批✅(input-required)
Agent 发现✅(Agent Card)
适用场景单 Agent 工具调用Agent 网络生产级多 Agent 系统

企业级生产部署四层检查清单

第一层:智能体注册表(A2A 必需)
  → 统一管理所有 Agent Card
  → 定义标准:能力、输入输出格式、认证信息
  → 类似微服务的服务注册中心

第二层:MCP 服务器治理(安全关键!)
  → 中央 MCP 网关:所有 Agent 的 MCP 调用统一路由
  → 最小权限范围:每个 Agent 仅访问所需工具
  → 审计日志:记录所有 MCP 调用检测异常
  → ⚠️ 截至 2026 年初,已披露 30+ MCP CVE

第三层:可观测性(分布式追踪)
  → 分布式追踪:把整个 A2A 委派链连为单一 trace(OpenTelemetry)
  → 按 Agent 追踪成本:每个 Agent 的 LLM Token + MCP 调用次数
  → 故障模式分析:哪个 Agent 在何种条件下失败

第四层:回滚与隔离策略
  → 熔断器:特定 Agent 连续失败时隔离
  → 超时策略:A2A 任务委派设置明确超时
  → 降级 Agent:主 Agent 故障时自动切换备用

落地路线图(三阶段)

第一阶段(1-2个月):基础建设
  → 整理 MCP 服务器清单,配置中央网关
  → 定义 Agent Card 标准,构建注册表
  → 配置可观测性流水线

第二阶段(2-4个月):试点多 Agent 系统
  → 使用编排器-工作器模式小规模试点
  → 验证 A2A 委派链追踪
  → 基准测试成本和延迟

第三阶段(4-6个月):生产扩展
  → 应用熔断器和回滚策略
  → 开展安全审计,建立 MCP CVE 响应流程
  → 全组织培训与入职

面试话术:

示例表达(仅在能用本人经历或可复现实验佐证时使用): "A2A 和 MCP 不是竞争关系,是不同层次。MCP 是 Agent 的'双手',负责连接外部工具;A2A 是 Agent 之间的'语言',负责协作通信。最强的架构是两者组合:编排器通过 A2A 委派任务给专业 Agent,每个 Agent 通过 MCP 访问自己的工具集。我做过一个客服场景:编排器 Agent 通过 A2A 把查询任务分发给产品 Agent(用 MCP 查数据库)和物流 Agent(用 MCP 查物流 API),结果整合后返回。生产部署四件套:注册表、MCP 网关+审计、可观测性(OpenTelemetry 链路追踪)、熔断降级。面试时能说出这套分层思路,说明你不只在用工具,在理解系统本质。"

📚 参考:A2A(Agent2Agent)协议官网 · MCP 官方规范


版本: v2.0 | 更新: 2026-04-10 | by 二狗子 🐕