引言
在人工智能快速发展的当下,Agent、MCP、Function Call 这三个概念频繁出现在各种技术讨论中。它们之间存在相似性,容易被混淆,但各自承担着不同的角色。
一、Function Call
Function Call(函数调用)是大模型调用外部函数或 API 以获取信息、执行计算或与系统交互的机制。它将自然语言与程序化工具连接起来,使得大模型能够突破纯文本生成的限制。
核心价值
- 突破模型闭域限制:通过调用外部工具(如数据库、API、专业软件)扩展 LLM 能力边界。
- 提升响应可靠性:将开放域问题转化为确定性函数执行(例如数学计算转 Wolfram Alpha 调用)。
- 实现动作代理:从纯文本生成升级为可编程行为(如发送邮件、修改代码)。
- 深度绑定模型:通常作为模型的一部分,是增强大模型能力的直接方式。
Function Call 时序图
以 ChatGPT 利用 Function call 解答'北京今日气温?'为例,其交互流程如下:

嵌入机制
本质上,Function Call 可以看作是 ChatGPT 插件的 API 化升级。它深度绑定到模型中,模型运行时直接调用,就像是模型内部的协议一样。开发者通过结构化的描述文件来简化通信流程,告诉模型如何调用接口以及这些接口能做什么。当用户提问时,如果模型判断插件能更好地解决问题,就会直接调用相应接口。
二、什么是 MCP?
MCP(Model Context Protocol)是大语言模型(LLM)与外部数据源、工具及服务之间的交互的一种通用的开放通信协议。其核心目标是通过统一的接口框架,解决 AI 模型与真实环境连接不足的问题,使模型能够动态感知上下文并调用多样化工具,从而扩展其功能边界。
三、MCP Server
1、MCP 架构
MCP 协议基于 C-S 架构,核心组件包括:
- MCP Hosts(主机):像 Claude Desktop、IDE 或 AI 工具这样的程序,希望通过 MCP 访问数据。
- MCP Clients(客户端):维护与服务器 1:1 连接的协议客户端。
- MCP Servers(服务器):每个暴露特定功能的轻量级程序,通过标准化的模型上下文协议提供服务。
- Local Data Sources(本地数据源):您计算机的文件、数据库和服务,MCP 服务器可以安全地访问。
- Remote Services(远程服务):可以通过互联网(例如,通过 API)访问的外部系统,MCP 服务器可以连接到。
MCP 通过标准化接口和动态工具发现机制,正在重构 AI 与工具生态的协作范式。其本质是构建 LLM 与真实世界的通用适配层,既解决了模型与环境的割裂问题,又降低了开发者的集成成本。

2、MCP 的通信机制
- 消息格式:基于 JSON-RPC 2.0 协议,支持请求(双向)、响应、通知(单向)三类消息类型。
- 传输方式:
- 本地通信:通过标准输入输出(stdio)传输,适用于 IDE 等本地工具集成。
- 远程通信:使用 SSE(Server-Sent Events)实现 HTTP 长连接,支持跨网络服务调用。
3、MCP Server 的核心功能
3.1、动态工具发现
MCP Server 允许 LLM 运行时动态获取已注册的工具列表(如数据库查询、文件操作等),无需硬编码集成,极大提升灵活性和扩展性。
3.2、权限控制与安全执行
支持细粒度权限管理(开发者/用户/模型层级),并通过沙箱技术(如 Docker、WASM)隔离工具执行环境,保障数据安全。
3.3、资源暴露与工具调用
可安全暴露本地文件、数据库记录或远程 API 服务,供 LLM 通过自然语言指令调用,例如查询 PostgreSQL 数据库或生成 3D 建模指令。
3.4、实时通信与上下文管理
支持双向通信(如 SSE 事件流),实时推送数据更新至 LLM,维持会话状态以优化多轮交互。
4、MCP Server 的应用

四、什么是 Agent?
Agent(智能体)指能够自主动态感知环境、规划任务并调用外部能力(外部服务、外部工具、数据库、MCP、Function Call 等)以实现目标的实体,具备环境交互、决策与学习能力。与普通程序最大的不同,Agent 具有环境感知的动态响应能力(如自动驾驶实时避障),而传统程序仅按预设流程执行。
Agent 可以调用外部服务(工具、数据库等),具备自主决策能力,完成复杂任务。它可以调用 MCP、Function Call 等能力。

1、Agent 的特征
其核心特征是'自主代理,动态规划',代替用户或系统完成任务。
- 自主决策:能够根据目标制定计划。
- 状态记忆:能够保持上下文连贯性。
- 迭代改进:能够根据反馈动态调整策略。
- 情境感知:通过多模态传感器融合(如 Tesla 的 8 摄像头 + 雷达系统)。
一般的核心工作流模型为:环境输入 → 感知滤波 → 状态评估 → 策略生成 → 动作执行 → 效果反馈。
2、Agent 的形态
根据形态可分为:
- 软件 Agent:如聊天机器人、推荐算法。
- 物理 Agent:如自动驾驶汽车、工业机器人。
- 混合 Agent:如无人机搭载视觉识别系统。
3、Agent 的工作时序图

五、Function Call vs MCP vs Agent
Function Call 是指大模型直接调用预定义函数的能力,允许模型生成请求参数并整合结果。例如模型可以通过 Function Call 查询天气或执行简单的数学计算。它的本质是'代码级工具',通常与模型绑定部署。
Agent 是一种具备自主决策能力的 AI 实体,能够感知环境、规划任务并自主调用工具(包括 MCP Server 和 Function Call)完成目标。例如,一个 Agent 可以接到'撰写 AI 趋势报告'的任务后,自动抓取数据、分析内容并生成报告。
MCP Server 的功能相对单一,专注于提供数据和工具接口的工具箱。例如,它可以抓取网页、读取文件或调用 API,但不具备推理能力。
1、复杂度与能力方面


2、响应方式

3、三者协同


4、功能对比

5、总结
AI Agent 是一个智能系统,它可以自主运行以实现特定目标。传统的 AI 聊天仅提供建议或者需要手动执行任务,AI Agent 则可以分析具体情况,做出决策,并自行采取行动。而 AI Agent 可以利用 MCP 提供的功能描述来理解更多的上下文,并在各种平台/服务自动执行任务。
如果 Agent 想要更好地完成任务,一般需要接入足够多的外部工具,而外部工具的接入千差万别;Function Call 是大模型本身的一种能力,可以调用外部函数或 API 以增强大模型能力,但它同样面临着不同开发者自由定义导致的不标准问题;MCP 则是给 AI 应用提供了一套标准化协议,方便 AI 应用更好地访问外部工具,以提升大模型的响应能力。

