引言
在 AI 应用开发的浪潮中,Skill、MCP 和 Function Call 这几个术语频繁出现,但很多人容易混淆它们的边界。简单来说,它们分别代表了能力调用的基础机制、产品化封装以及标准化的通信协议。
Function Call:交互的基石
Function Call 是最底层的机制,由 OpenAI 在 2023 年普及。它让大语言模型能够智能地决定何时调用开发者预定义的函数。 工作流程很清晰:
- 定义:开发者描述可用函数的名称、参数和类型。
- 决策:模型根据用户意图判断是否需要调用函数及参数。
- 响应:模型输出结构化 JSON,而非自然语言。
- 执行:应用层接收 JSON 并实际运行代码。
- 回复:将结果反馈给模型生成最终回答。
这已成为行业标准,是 AI 连接外部世界的入口。比如问'北京天气',模型会调用你定义的
get_weather函数,而不是瞎猜。
Skill:能力的封装
Skill 更偏向产品化,常见于 Agent 平台如 Coze 或 Dify。它是一个封装好的功能模块,内部可能包含提示词、知识库或多个 Function Call。 构建时通过可视化配置打包完整能力;用户触发后,Agent 自动匹配并执行整个流程。它的优势在于易用性和可组合性,对终端用户透明,隐藏了底层逻辑。例如安装一个'全网搜索'Skill,Bot 就能直接处理新闻查询,无需用户关心背后的 API 细节。
MCP:标准化的新协议
MCP(Model Context Protocol)由 Anthropic 主导,旨在解决工具交互的标准化问题。它是 Function Call 的进化版,采用客户端 - 服务器架构。 服务器端暴露资源和工具,客户端(如 IDE 或 AI 应用)动态发现并连接。通过 JSON-RPC 通信,不仅支持工具调用,还引入了'资源'概念(如文件读取)。相比传统方式,MCP 更安全(本地化连接),且避免了硬编码,让不同模型能统一接入各类服务。
对比与趋势
| 维度 | Function Call | Skill | MCP |
|---|---|---|---|
| 层级 | 基础机制(原子操作) | 产品模块(功能集合) | 通信协议(基础设施) |
| 目标 | 调用单个外部函数 | 提供完整复用能力 | 标准化交互方式 |
| 面向对象 | 开发者 | 终端用户 / 低代码开发者 | 工具与应用开发者 |
| 互操作性 | 低(格式各异) | 中(依赖框架) | 高(统一标准) |
| 类比 | 单个积木 | 乐高套装 | 积木接口标准 |
三者关系紧密:Skill 建立在 Function Call 之上,而 MCP 正在成为实现 Function Call 能力的标准通道。短期看,Function Call + Skill 仍是主流;长期来看,MCP 有望像 HTTP 一样成为 AI 访问世界的基础设施。


