两个协议的分工
- MCP(Model Context Protocol):Anthropic 提出 → Agent ↔ 工具/数据的连接
- A2A(Agent-to-Agent Protocol):Google 提出 → Agent ↔ Agent 的协作
两者不是竞争关系,是互补关系。
MCP 的三种能力
- Tools(工具):Agent 可以调用的函数——查数据库、发邮件、创建工单
- Resources(资源):Agent 可以读取的数据——用户信息、文件内容
- Prompts(提示模板):预定义的标准化交互模板
A2A 的核心概念:Agent Card
每个 Agent 发布"名片",让其他 Agent 能发现它:
{ "name": "数据分析专家 Agent", "capabilities": ["nl2sql", "data_visualization", "report_generation"], "input_modes": ["text", "structured_data"], "output_modes": ["text", "chart", "report"], "sla": { "max_response_time_ms": 5000 } }MCP + A2A 协同场景
用户问"上个月华东区销售额为什么下降了?"
- 指挥官 Agent 接收问题,判断需要数据支持
- A2A→ 数据 Agent:"查询华东区上月数据"
- MCP→ 数据库 MCP Server:执行查询
- MCP→ 知识库 MCP Server:检索业务口径
- A2A→ 业务 Agent:"分析下降原因"
- MCP→ CRM MCP Server:查询客户流失
- A2A→ 报告 Agent:综合分析,生成报告
踩过的 3 个坑
- MCP 超时处理:复杂 SQL 查询可能很慢,需要根据工具类型动态调整超时时间
- A2A 循环委托:Agent A 委托给 B,B 又委托回 A,必须实现循环检测
- 上下文窗口溢出:多个 MCP + 多个 A2A 结果同时注入时,需要上下文预算管理
📎参考链接:KM Ai|企业级 AI Workforce 产品矩阵|鲲溟智能