技术更迭

image-20250912095241722

LLM 应用工程化难题

  1. 模型外部世界割裂
    • LLM 是基于概率计算的新范式,虽然很强大,但仍需要与传统的结构化计算范式相结合,即通过工具调用来完成精确任务
    • 目前传统结构化工具与 LLM 之间是割裂的,LLM 难以直接动态地接入实时数据数据库企业工具
    • 传统的 API 调用方式零散且不标准,导致开发效率低下
  2. Agent 协作的孤岛效应
    • 不同 Agent 框架(LangGraph、AutoGen、CrewAI)各自为政,缺乏统一的通信标准,跨平台协作很难实现
  3. 复杂场景的工程化瓶颈
    • 从搜索助手到企业知识中台、RAG 与多 Agent 系统需要处理多源数据多模态交互长时任务,现有工具链难以提供统一的解决方案

MCP + A2A

标准化 + 可扩展

image-20250912101054787

MCP

模型主控 + 客户端驱动

  1. MCP 是一个为 LLM 更方便地利用外部资源(主要是工具)而设计的标准化接口,旨在打破 LLM 与外部数据、工具之间的壁垒
  2. 传统上,将 AI 系统连接到外部工具需要集成多个 API - 代码冗余 + 难以维护 + 扩展性差

image-20250912101826989

MCP 将繁琐细节都隐藏到服务器端 - 开发者只需关心 LLM 想用哪个工具做什么 - 不再需要为每个服务编写样板代码 - 即插即用

  1. 服务端注册工具能力
  2. 然后 Agent 发起同一套 JSON-RPC 调用
  3. MCP 服务器负责底层的 HTTP 请求鉴权连接管理结果解析,最后把结果一并返回给 LLM

JSON-RPC 调用

1
2
3
4
5
6
7
8
{
"method": "callTool",
"params": {
"tool": "Translate",
"input": "Hello, world!",
"target_lang": "zh"
}
}

核心理念 - 模型主控、客户端驱动服务器调用

Role Effect
LLM 推理 + 决策
客户端 动态提供上下文、工具和资源
外部服务器 提供工具和资源

image-20250912103117569

  1. 基于 MCP 的标准化协议,可以将 AI Agent 轻松地连接到各种外部工具数据源
  2. MCP 相当于专门为 AI 应用提供的 USB-C 端口
    • 即插即用,所有繁琐的事情,都由 MCP Server 根据协议来提供

OpenAI Function Calling vs LangChain Tools vs JSON-RPC

  1. OpenAI Function Calling 和 LangChain Tools 让 LLM 能够实现工具调用,但并没有真正解决 LLM 应用开发高墙
  2. OpenAI Function Calling 只绑在 GPT 系列上
    • 其调用规范、参数定义和返回格式都深度耦合在 OpenAI 的 API 流程中,无法扩展到其它开源或私有模型
  3. LangChain Tools 支持多种模型和工具,但所有能力都要写在 LangChain 框架里面 - Spring AI
  4. JSON-RPC 作为通用远程调用协议,轻量却太过底层 - 只关心发送请求接收响应
    • 不包括 - LLM 的上下文管理并发会话流式返回能力发现
    • 并没有形成面向 LLM + Agent 协作统一可插拔开箱即用接口规范

MCPJSON-RPC 之上,为 LLM 量身定制

Key Value
统一工具描述 所有能力用同一份 tool.json 注册,LLM 只按名字 call 即可
会话与权限 自动管理多轮对话状态工具访问权限鉴权流程LLM 无需关心鉴权细节
流式与事件 内建流式数据返回异步回调事件订阅,让长任务实时监控异步通知都能自然融入推理过程
多层传输 即可跑 HTTP/REST、也可以挂 WebSocketRPCMQ,灵活适配不同的部署场景

MCP - 模型想用什么工具干啥 - LLM 专注于决策开发者专注于业务逻辑

image-20250913001255456

MCP 的统一接口让开发者无需为每个场景定制协议,显著降低了工程化成本 - 只需要保留核心决策业务流程

A2A

  1. Agent-to-Agent - 智能代理之间的协议,本质上,是让不同的 Agent 能够无障碍沟通和协作的标准语言
  2. 不同的 Agent 会有不同的能力,为了共同完成一项任务,必须不断地交换信息、共享知识、甚至协同合作
  3. 不同的开发者、公司和团队可能会创造出各种各样的 Agent,它们之间基本无法按标准语言统一沟通
  4. A2A 协议应运而生,它定义了一套清晰标准的沟通方式,让所有 Agent 可以顺畅地交流彼此的需求能力决策状态

image-20250913002756303

A2A 协议的职责

Key Value
统一协议 所有 Agent 均使用同一个消息 schema 进行能力发现调用
异步协作 支持流式异步返回,可并发处理多任务
灵活扩展 新 Agent 即插即用,无需额外适配器
解耦实现 Agent 专注业务,底层传输鉴权错误处理由协议层统一管理
  1. A2A 协议是一种开放标准,用于让不同平台和框架下的 AI 智能代理能够实现无障碍地信息交换和协作
  2. 技术上说
    • A2A 通过标准化的组件(如 Agent Cards )为 Agent 间的相互发现握手提供了通用语言
    • A2A 在 JSON-RPCHTTP/SSE 等底层传输之上,定义了能力发现会话管理任务生命周期管理消息与内容单元权限认证流式事件等语义
    • 使得多 Agent 能够灵活拼接异步协作,并且具备企业安全可扩展性
  3. A2A 支持长时任务多模态协作(文本、图像、音视频),并强调企业安全性
  4. MCP资源管理结合,A2A 使 Agent 能够动态协商任务分配,实时共享数据洞察
    • 一个基于 CrewAI 的客服 Agent 可以通过 A2A 的 LlamaIndex 驱动的知识检索 Agent 协作,共同完成客户问题的精准解答

MCP vs A2A

都是标准化协议,都在 LLM 应用场景中实现信息交换和协作,形成互补关系,形成一个完整的 AI 时代的通信协议方案

image-20250913005507158

MCP 与 A2A 结合,将单一 AI 应用推向分布式模块化的智能生态

  1. MCP 提供了统一的上下文管理工具调用接口,整合了 LLM 驱动的概率计算传统工具驱动的结构化计算
  2. A2A 则为多 Agent 协同注入了开放标准

未来的 AI 系统将不再是孤立的模型,而是由无数 Agent知识模块组成的动态网络

相同点

image-20250913004742619

差异点

image-20250913005135465