很多人容易把这两个概念混淆。
实际上:
Function Calling 是"调用函数"。
而:
MCP(Model Context Protocol)是"连接工具的标准协议"。
可以这样理解:
AI
│
├── Function Calling
│ │
│ ├── 调用 getWeather()
│ ├── 调用 searchHouse()
│ └── 调用 createOrder()
│
└── MCP
│
├── Photoshop
├── Figma
├── MySQL
├── 飞书
├── GitHub
└── 企业知识库
Function Calling
本质:
AI 返回一个 JSON,由程序去执行对应函数。
例如:
用户:
北京天气怎么样?
LLM 返回:
{
"function":"getWeather",
"city":"北京"
}
程序:
调用天气API
然后把结果再发给 AI。
整个过程:
AI 不直接执行。
程序执行。
所以:
Function Calling 更偏:
API 调用机制。
MCP
MCP 是 Anthropic 提出的开放协议。
它解决的问题是:
AI 如何统一接入各种软件。
以前:
每接一个工具:
都要重新开发。
例如:
接 Figma
写一套。
接 Photoshop
再写一套。
接 Jira
再写一套。
非常麻烦。
MCP 就像:
USB-C。
所有工具都按照 MCP 标准提供接口。
AI 就可以:
统一调用。
所以:
MCP 更偏:
工具接入协议。
一句话总结:
| Function Calling | MCP |
|---|---|
| 调用某个函数 | 连接整个工具生态 |
| 一次调用一个 API | 接入完整应用 |
| AI 返回 JSON | AI 直接操作工具 |
| 偏程序开发 | 偏 Agent 生态 |