Function Calling vs. MCP vs. A2A vs. AG-UI
一、Function Calling
传统的函数调用方式,通过预定义接口传递参数并获取返回值,适用于结构化、明确的输入输出场景。例如:调用数学计算函数
sum(a, b),返回 a + b 的结果。
应用场景
- 计算服务:
calculate_distance(lat1, lon1, lat2, lon2)。 - 数据库查询:
get_user_profile(user_id)。 - 第三方API集成:调用支付接口
process_payment(order_id, amount)。
优缺点对比
- 优点:简单高效、易调试、低延迟。
- 缺点:无法处理上下文依赖,功能单一。

技术实现
- 通过RESTful API、gRPC等实现,请求-响应模式。
- 示例:HTTP POST请求调用云端函数。
Function Calling适用于简单、独立的任务,追求高效率和低复杂度。
二、MCP
MCP(模型上下文协议)由 Anthropic 于 2024 年底提出,旨在标准化大语言模型(LLM)与外部工具和资源的交互接口。其核心目标是通过统一的 API 和安全机制,降低 Agent 调用外部资源(如数据库、API)的适配成本,并提升安全性。MCP 标准化了 Agent 与工具(Tool)之间的通信。
核心功能
- 标准化接口:
- 提供统一 API,支持 Agent 快速接入数据库、文件系统、第三方 API
等资源。
- 例如,Agent 可通过 MCP 查询 SQL 数据库或调用支付系统完成交易。
- 安全机制:
- 通过权限控制和密钥隔离,防止越权访问和敏感信息泄露。
- MCP 作为数据访问网关,代理 API 请求,确保安全合规。
- 动态扩展性:
- 支持本地、云端或第三方平台部署,适应多样化场景。

技术特点
- 架构:采用 Client-Server 模式,包含 MCP Host(任务发起方)、MCP Client(通信模块)和 MCPServer(执行后端服务)。
- 兼容性:支持多模型(如 GPT、Claude)和多工具协同。
- 组件:核心概念包括资源、提示、工具和采样,确保高效交互。

应用场景
- 智能客服系统:查询用户订单状态,调用数据库或支付 API 实时响应。
- 自动化决策支持:金融领域通过 MCP 访问实时市场数据生成报告。
- 代码开发与调试:如 Manus 平台利用 MCP 调用 GitHub 仓库实现代码修复。
- 企业服务集成:阿里、腾讯等将支付、地图服务封装为 MCP 接口,供开发者使用。
优缺点对比
- 优点:支持复杂交互,适应动态场景。
- 缺点:实现复杂、维护成本高,潜在性能瓶颈。
技术实现
- 需要协议层设计,如:
- 在HTTP头部添加
Context-ID标识会话。 - 使用WebSocket长连接维护实时上下文。
- 请求体中嵌入历史上下文(如OpenAI的对话式API)。
- 在HTTP头部添加
行业影响
- 生态发展:已被 Cursor、OpenAI 等采用,HuggingFace
社区贡献超 1000 个 MCPServer,覆盖数据库、图像处理等领域。
-
商业价值:推动“Tool-as-a-Service”模式,降低开发门槛,加速
AI 工具市场化。
- 效率提升:统一接口将工具适配代码量从 1000 行压缩至 10
行。
MCP需处理多步交互、长期依赖的场景,愿意为灵活性承担额外开销。
三、A2A
A2A(智能体间协议)由谷歌提出,专注于标准化 Agent 之间的协作与通信。其目标是打破 Agent 的孤立运行模式,通过统一协议实现跨平台、跨组织的高效协作。Agent2Agent 协议标准化了 Agent 与 Agent 之间的通信。

核心功能
- 能力发现与协商:
- 每个 Agent 拥有“AgentCard”,记录其能力(如搜索、代码编写)。
- 通过动态匹配选择最适合的 Agent 完成任务。
- 协作流程管理:
- 支持复杂任务分解、分配和状态同步。
- 例如,招聘流程中 HR Agent 与 IT Agent 协同完成账号开通。
- 用户体验优化:
- 通过 UX 协商机制,Agent 协商最佳交互方式(如对话式或卡片式 UI)。

技术特点
- 协议设计:基于 HTTP 的标准化通信,支持 JSON 数据交换。
- 注册机制:提供 Agent Protocol Registry,类似 DNS,查询 Agent 能力与接口。
- 跨平台兼容:支持 GPT、Claude、LangChain 等多种模型和框架。
应用场景
- 招聘流程自动化:HR Agent 协调简历筛选、面试安排和账号开通。
- 供应链管理:需求预测、库存优化和物流调度 Agent 协作优化流程。
- IT 服务管理:员工请求设备时,Agent 协调库存、采购和配置。
- 客户支持增强:一线客服 Agent 将复杂问题转交专家 Agent 处理。
- 个性化学习:学习平台 Agent 协作推荐课程和跟踪进度。
行业影响
- 生态扩展:微软、CrewAI、LangChain 等支持 A2A,推动 Agent 生态协作。
- 效率提升:微软通过 A2A 将医疗行业 HIPAA 审计周期从 14 天缩短至 4 天。
- 去中心化:支持 P2P 架构,适用于物联网设备协作。

四、AG-UI
AG-UI(Agent User Interaction Protocol,智能体用户交互协议) 是一个开放的、轻量的、基于事件的协议,由 CopilotKit 公司发布,它通过标准 HTTP 或可选的二进制通道,以流式方式传输一系列 JSON 事件,主要用来对 AI agent 和前端应用程序的交互进行标准化。
AG-UI 为 AI agent 和前端应用程序之间搭建了一座桥梁,让这两者之间的交互更加友好,为用户带来更好体验。示意图如下:

- Application:用户交互用到的应用程序(比如 chat 或其他任何 AI 应用)
- AG-UI 客户端:通用的通信客户端,诸如
HttpAgent,或用于连接现有协议的专用客户端 - Agent:后端用户处理用户请求并生成流式响应的 agent
- Secure Proxy:能够提供额外能力或作为安全代理的后端服务
4.1 核心组件
AG-UI 的核心组件包括协议层(Protocol Layer)、标准化 HTTP 客户端(Standard HTTP Client)、消息类型(Message Type)、运行智能体(Running Agent)、状态管理(State Management)、工具交接(Tools and Handoff)以及事件(Events)。
协议层(Protocol Layer):AG-UI 协议层主要为 agent 通信提供一个灵活的基础。协议的核心让应用程序能够运行 agent 并且接受到事件流。
标准 HTTP 客户端:
- AG-UI 提供了一个标准的 HTTP 客户端
HttpAgent,可用于连接任何支持 POST 请求的端点。该端点接收RunAgentInput类型的请求体,并返回BaseEvent对象的数据流。 HttpAgent支持 HTTP SSE (Server-Sent Events) 和 HTTP binary protocol 两种模式。
- AG-UI 提供了一个标准的 HTTP 客户端
消息类型:AG-UI 为 agent 通信的不同方面定义了一些事件策略,主要包括:
- Lifecycle events:监控 Agent 的运行情况。Agent
的运行状态可能包含
RunStarted、StepStarted/StepFinished、RunFinished(成功)、RunError(失败)。 - Text message
events:用于处理文本流式内容的事件。这些事件遵循流模式,并以增量的方式交付内容。文本消息可能以
TextMessageStart开始,然后用TextMessageContent事件来交付文本,最后以TextMessageEnd事件结束。 - Tool call events:管理 Agent 对工具的执行。当 Agent
想要使用某个 tool 时,会触发一个
ToolCallStart事件,随后会有ToolCallArgs事件,用于流式传输传递给工具的参数,最后以一个ToolCallEnd事件结束。 - State management events:同步 Agent 和 UI
之间的状态。协议中的状态管理采用高效的“快照-增量”模式:初始或偶尔发送完整的状态快照,而持续的变更则通过增量更新(delta)来传递。快照能够确保前端有完整的状态上下文,而
delta
最小化了需要频繁更新的数据传输。两者的有效结合,可以使前端不进行不必要数据传输的情况下,保持对
Agent 状态的准确呈现。包括的事件有
StateSnapshot和StateDelta。 - Special
events:支持自定义功能,比如和外部系统集成。包括的事件由
Raw和Custom。
- Lifecycle events:监控 Agent 的运行情况。Agent
的运行状态可能包含
运行 Agent: 创建 agent 客户端实例并启用 agent。
- 状态管理:AG-UI 通过专用事件对状态进行管理,目前提供的事件有:
- STATE_SNAPSHOT:某一时刻的完整状态表示;
- STATE_DELTA:使用 JSON 补丁格式(RFC 6902)的增量状态变更;
- MESSAGES_SNAPSHOT:表示完整的对话历史;
工具和交接:AG-UI 通过标准化事件来提供 agent 之间的任务移交的和工具的使用。
事件:AG-UI 中的所有通信都是基于类型事件。每一个事件都继承自
BaseEvent,其接口如下:
1 | |

核心功能
- 事件驱动通信:
- 定义五类事件:生命周期、文本信息、工具调用、状态管理和特殊事件。
- 例如,生命周期事件(RUN_STARTED/RUN_FINISHED)标记任务状态。
- 双向状态同步:
- 前端根据 Agent 状态动态更新 UI,如任务失败时弹出提示。
多传输方式: - 支持 SSE、WebSocket、Webhook 等流式通信协议。
- 前端根据 Agent 状态动态更新 UI,如任务失败时弹出提示。
技术特点
- 架构:采用中间件层,兼容 LangGraph、CrewAI 等框架,提供 TypeScript 和 Python SDK。
- 安全性:通过 Secure Proxy 确保通信安全。
- 事件类型:16 种事件支持实时交互,如 STATE_SNAPSHOT 传递完整状态。
应用场景
- 智能客服系统:前端实时显示 Agent 处理进度,如“正在分析问题”。
- AI 编辑器:动态展示 AI 生成内容的修改过程。
- 多 Agent 协作平台:统一界面管理 Agent 任务状态,如招聘流程监控。
- 嵌入式设备交互:智能家电 App 实时反馈设备状态,如空调温度调节。
行业影响
- 用户体验优化:事件驱动机制减少用户等待感知。
- 生态闭环:与 MCP、A2A 协同,补齐 AI 应用交互环节。
- 标准化交互:确保不同 Agent 与前端的兼容性。
五、MCP vs A2A vs AG-UI
相比于 MCP 和 A2A,AG-UI 主要聚焦在智能体和用户(agent-user)的交互层上。它和 MCP 于 A2A 并不是竞争关系。这三者在 AI 生态中的作用不同:
- AG-UI:主要处理由用户(人)参与的交互以及流式更新用户界面;
- A2A:主要促进智能体(agent-to-agent)之间的通信和协作;
- MCP:主要解决跨不同模型之间工具调用的标准化和上下文处理问题;

MCP 与 A2A 的协同
- MCP:解决 Agent 与外部工具的交互,如调用数据库或 API。
- A2A:实现 Agent 间的协作,如多个 Agent 联动完成复杂任务。
- 结合场景:在供应链管理中,MCP 调用物流 API,A2A 协调需求预测与库存优化。
AG-UI 的桥梁作用
- AG-UI 规范 Agent 与用户界面的交互,基于 MCP 和 A2A 的功能,提供实时 UI 更新。
- 例如,在 AI 编辑器中,MCP 调用编辑工具,A2A 协调多个 Agent,AG-UI 展示修改进度。
行业生态影响
- 微软、谷歌、Anthropic 等推动协议标准化,降低开发门槛,加速 AI 落地。
- 三者共同支持企业级应用(如自动化招聘、智能客服),实现全流程无人化。
总结
MCP、A2A 和 AG-UI 分别从外部工具交互、Agent 间协作和用户界面交互三个层面,构建了高效、安全、可扩展的 AI 应用生态:
| 协议 | 核心角色 | 典型场景 | 行业价值 |
|---|---|---|---|
| MCP | 连接 Agent 与外部资源 | 智能客服、代码修复 | 降低开发成本,提升安全性 |
| A2A | 实现 Agent 间协作 | 招聘自动化、供应链管理 | 跨生态协作,提升效率 |
| AG-UI | 优化 Agent 与 UI 交互 | AI 编辑器、嵌入式设备 | 提升用户体验,构建闭环 |
这三项协议通过互补协作,推动 AI 从孤立功能向生态化方向发展,覆盖从底层工具调用到用户交互的全链路需求,为智能客服、自动化办公、物联网等领域的创新提供了坚实基础。
Reference
- CopilotKit 官网
- AG-UI GitHub
- AG-UI docs
- Model Context Protocol
- A2A GitHub
- Agent2Agent (A2A) Protocol
- 一文看懂:MCP(大模型上下文协议)
- X:Avi Chawla
- MCP、A2A 后,AI 领域又新增 AG-UI 协议
- 企业新基建:MCP + LLM + Agent架构,将打通AI Agent的“神经中枢”
- MCP 和 A2A 之后又一 AI Agent 协议刷屏了:AG-UI 协议架构设计剖析
- AG-UI: 代理到用户交互协议, 继 MCP 和 A2A 之后,下一个急需的东西。
- Agentic MCP and A2A Architecture: A Comprehensive Guide
- Function Calling 与 MCP对比
- MCP、A2A 与 AG-UI 协议:定义、功能与应用场景
- 谷歌A2A vs. Anthropic MCP:AI界的“工具人”与“团队协作”之争,一文看懂!