12附课12 分钟

附12:MCP 与 A2A 协议 —— LLM 工具标准化的未来

理解 MCP 协议核心架构与三大能力、掌握 MCP 与 Function Calling 本质区别、了解 A2A Agent 间协作协议。

MCPA2A工具标准Agent协作协议
进度保存在本机浏览器;验收通过后再点更稳妥

附12:MCP 与 A2A 协议 —— LLM 工具标准化的未来

本节目标:理解 MCP 协议的核心架构、掌握 MCP 与 Function Calling 的本质区别、了解 A2A 协议、建立工具标准化全局视野。

第12课你实现了 MCP 协议集成。这一节把 MCP 和 A2A 的底层逻辑讲透。


1. 为什么需要标准化?

code
没有标准:
  N 个 AI 应用 × M 个工具 = N×M 个适配器

有标准:
  N 个 AI 应用 + M 个 MCP Server = N+M 个实现

类比:没有标准 = 每个网站用不同协议(FTP、Gopher...)。有标准 = HTTP 统一了 Web。


2. MCP = LLM 的 USB 接口

由 Anthropic 2024 年底提出并开源。

核心架构

Code
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  MCP Host    │ 1:N │  MCP Client  │ 1:1 │  MCP Server  │
│  (AI 应用)   │───→ │  (协议客户端) │───→ │  (工具/数据)  │
│  Claude/Cursor│     │              │     │  GitHub/DB   │
└──────────────┘     └──────────────┘     └──────────────┘
  • Host:发起请求的 AI 应用
  • Client:协议层,负责与 Server 通信
  • Server:暴露工具和数据的服务

MCP Server 三大能力

能力说明示例
ToolsLLM 可调用的函数search_issues(), create_file()
ResourcesLLM 可读取的数据文件内容、数据库记录
Prompts预定义的 Prompt 模板代码审查模板、总结模板

通信方式

  • stdio(本地):标准输入输出,适合本地工具
  • HTTP + SSE(远程):适合远程服务
  • 协议格式:JSON-RPC 2.0

3. MCP vs Function Calling

code
Function Calling(LLM 层面的能力):
  - 定义"LLM 怎么声明和调用函数"
  - OpenAI 有自己的格式,Anthropic 有自己的,Google 有自己的
  - 解决了"LLM 怎么调"

MCP(应用层面的协议):
  - 定义"AI 应用如何发现、连接、管理外部工具"
  - 包含工具发现、权限、生命周期管理
  - 解决了"应用怎么连"
  - Function Calling 是 MCP 的底层能力之一

类比:Function Calling = 插头形状,MCP = USB 协议(包含插头形状 + 数据传输 + 设备发现 + 电源管理)。


4. A2A = Agent 的局域网

由 Google 2025 年初提出。

核心概念

概念说明
Agent Card(名片)每个 Agent 发布 JSON 文件,描述自己的能力、技能、认证方式
Task(任务)核心交互单元,状态:submitted → working → completed/failed
Message(消息)Agent 之间的通信载体
Artifact(产物)任务的输出结果

MCP vs A2A

维度MCPA2A
解决什么LLM ↔ 工具/数据Agent ↔ Agent
类比USB 接口局域网协议
发起者AnthropicGoogle
关系互补,不竞争互补,不竞争

实际系统中的协作

Code
Agent A(用 MCP 连接数据库查数据)
  → 用 A2A 把分析任务委托给 Agent B
    → Agent B(用 MCP 连接可视化工具生成图表)
    → Agent B(用 A2A 把结果返回给 Agent A)

5. 项目中的应用方向

Code
// 当前:LangChain4j @Tool 直接绑定
@Tool("检索古籍")
public String searchClassics(String query) { ... }

// 未来:封装为 MCP Server
// → 任何支持 MCP 的 AI 应用都能直接连接使用
// → Claude Desktop、Cursor、自研 UI 都可用
// → 从"紧耦合单体 Agent"演进为"松耦合可插拔服务"

核心要点

  1. MCP = LLM 的 USB 接口,统一了 N×M 的适配问题
  2. MCP Server 提供 Tools、Resources、Prompts 三大能力
  3. Function Calling 是 LLM 层面的,MCP 是应用层面的——层级不同
  4. A2A 是 Agent 间协作协议,与 MCP 互补——一个纵向连工具,一个横向连 Agent
  5. MCP 已成行业标准,各大厂均支持

上篇附课到此结束。接下来进入下篇:RAG 方法论深度与底层原理(课14-21)。