Skill(技能)、**MCP(模型上下文协议)和Function Call(函数调用)**是构建现代 AI 应用时绕不开的三个核心概念。简单来说,它们分别代表了能力调用的基础机制、面向用户的功能产品以及连接 AI 与外部资源的新一代通信协议。
Function Call(函数调用)
这是最基础且广泛使用的概念,主要由 OpenAI 在 2023 年 6 月引入并普及。它本质上是一种让大语言模型智能决定何时、以何种参数调用开发者预定义函数的机制。
工作原理:
- 定义:开发者向模型描述可用函数,包括名称、描述及参数类型。
- 决策:模型根据对话上下文判断是否需要调用函数,确定具体参数。
- 响应:模型返回结构化的 JSON 对象(如
{"name": "get_weather", "arguments": {"location": "Beijing"}}),而非自然语言。 - 执行:应用程序接收 JSON 后,在本地或服务器端实际执行代码并获取结果。
- 回复:将执行结果反馈给模型,由模型组织成自然语言回复给用户。
特点:标准化程度高,已成为众多模型支持的特性;它是实现 AI 与外部世界交互的基石,但主要面向开发者,普通用户感知不强。
Skill(技能)
这是一个更高层、更产品化的概念,常见于 AI 智能体和 AI 应用平台(如 Coze、GPTs、Dify)。
是什么:一个封装好的、可重复使用的功能模块或 AI 能力。一个 Skill 内部可能包含提示词、知识库、多个 Function Call 以及工作流。
如何工作:
- 构建:通过可视化或配置化方式打包完整能力。例如'订机票'Skill 可能串联查询航班、获取价格等多个步骤。
- 调用:用户通过自然语言触发(如'我想去上海'),AI 智能体自动识别并调用匹配的 Skill。
- 执行:Skill 作为整体在后台运行,串联多个动作,最终返回结果。
特点:产品化强,终端用户可直接理解和使用;具备可组合性,可在智能体中安装多个 Skills;封装性好,隐藏了底层复杂的逻辑。
MCP(Model Context Protocol,模型上下文协议)
这是由 Anthropic 提出并主导的开放协议,旨在标准化 AI 模型与外部资源(服务器、数据库、API 等)的交互方式,可以看作是 Function Call 的进化版。
是什么:一套客户端 - 服务器协议。它定义了标准,让任何兼容 MCP 的'服务器'都能被任何兼容 MCP 的'客户端'使用。
如何工作:
- 服务器:工具(如文件系统、数据库)实现为 MCP 服务器,宣告提供的资源和工具。
- 客户端:AI 应用(如 Claude Desktop、Cursor IDE)作为客户端,启动时连接一个或多个 MCP 服务器。
- 通信:双方通过标准的 JSON-RPC 消息通信。当需要时,客户端获取资源列表或调用工具,并将结果提供给 AI 模型。
特点:解决了不同 AI 模型和工具之间各自为政的问题;支持动态发现,无需硬编码;引入了'资源'概念,不仅限于工具;安全性更高,连接通常本地化。
对比总结
| 特性 | Function Call | Skill | MCP |
|---|---|---|---|


