【总结】MCP 与 function calling的区别
·
目录
1 前言
最近在学习 AI Agent 相关的技术时,发现很多同学对 MCP 和 Function Calling 这两个概念傻傻分不清楚。有人说它们是一回事,有人说 MCP 是 Function Calling 的替代品。今天我们就用一张图来彻底搞懂它们的区别。
下面通过用户和chatgpt聊天的流程来说明,我们本质使用的是大模型的API接口的。

2 什么是 Function Calling?
Function Calling(函数调用) 是 AI 模型的一种能力。它让大模型能够:
-
理解用户意图
-
决定调用哪个外部函数
-
生成符合函数签名的参数
-
将函数返回结果整合到回答中
简单说:模型学会了“喊人帮忙”。
用户:纽约明天天气怎么样?
↓
模型思考:我需要调用“搜索天气”这个函数
↓
模型输出:{ "function": "search_weather", "params": {"city": "纽约"} }
↓
系统执行函数,拿到结果“24℃”
↓
模型:纽约明天24摄氏度
3 什么是 MCP?
MCP(Model Context Protocol) 是一个协议标准,由 Anthropic 提出。它定义了:
-
AI 应用如何与外部工具/数据源通信
-
工具服务器的接口规范
-
数据传输格式
可以把它理解为 AI 世界的 USB-C 接口。
在没有 MCP 之前,每个 AI 应用要连接不同的工具,都需要写不同的适配代码。有了 MCP,任何支持该协议的 AI 客户端都可以无缝连接任何 MCP 服务器。
4 核心区别
| 维度 | Function Calling | MCP |
|---|---|---|
| 本质 | 模型的一种能力 | 一套通信协议 |
| 谁实现的 | 模型提供商(OpenAI、Anthropic等) | 开发者自己搭建 |
| 作用范围 | 模型 ↔ 调用方之间 | AI应用 ↔ 外部工具之间 |
| 类比 | 你会“打电话”这个技能 | 你们约定用“普通话”交流 |
| 依赖关系 | 需要模型支持 | 任何模型都可使用(通过适配层) |
5 它们不是二选一,而是协作关系
很多人问:有了 MCP,还需要 Function Calling 吗?
答案是:都需要,而且它们配合使用。
一个典型的流程:
用户提问
↓
AI 模型使用 Function Calling 能力决定调用哪个工具
↓
MCP 客户端将这次调用转换为 MCP 协议格式
↓
MCP 服务器接收请求,执行实际操作(查数据库、调API等)
↓
结果通过 MCP 返回给模型
↓
模型生成最终回答
Function Calling 是“决策层”,MCP 是“通信层”。
更多推荐

所有评论(0)