AI 核心概念解析:Skill、MCP 与 Function Call
在构建现代 AI 应用时,我们常听到 Skill、MCP 和 Function Call 这三个词。它们虽然都涉及模型与外部世界的交互,但层级和定位截然不同。
简单来说,Function Call 是底层的原子能力调用机制;Skill 是面向用户封装好的功能产品;而 MCP 则是连接 AI 与外部资源的新一代通信协议。
Function Call:基础调用机制
这是最广泛使用的概念,主要由 OpenAI 在 2023 年引入并普及。它让大语言模型能够智能地决定何时、以何种参数调用开发者预先定义好的函数。
工作原理
- 定义:开发者向模型描述可用函数(名称、描述、参数列表及类型)。
- 决策:用户提问后,模型根据上下文判断是否需要调用函数,以及具体参数。
- 响应:模型返回结构化 JSON 对象(如
{"name": "get_weather", "arguments": {"location": "Beijing"}}),而非自然语言。 - 执行:应用程序接收 JSON 后,在本地或服务器端实际执行代码,获取结果。
- 回复:将执行结果返回给模型,模型组织成自然语言回复给用户。
特点
- 标准化:已成为众多模型支持的标准特性。
- 核心机制:实现 AI 与外部世界交互的基石。
- 开发层:主要面向开发者,用户感知不强。
示例:你问'北京天气怎么样?',模型不是瞎猜,而是调用了你定义的 get_weather(location) 函数,并将 API 返回的真实数据告诉你。
Skill:封装的功能模块
这是一个更高层、更产品化的概念,常见于 AI 智能体和 AI 应用平台(如 Coze、GPTs、Dify)。
是什么
一个封装好的、可重复使用的功能模块或 AI 能力。一个 Skill 内部可能包含提示词、知识库、一个或多个 Function Call 以及工作流。
如何工作
- 构建:在平台上通过可视化或配置化方式打包完整能力。例如,'订机票'Skill 可能包含查询航班、获取价格、填写订单等多个步骤。
- 调用:用户通过自然语言触发,AI 智能体自动识别并调用最匹配的 Skill。
- 执行:Skill 作为一个整体在后台运行,串联多个动作,最终返回结果。
特点
- 产品化:终端用户可直接理解和使用的东西(如'翻译技能'、'画图技能')。
- 可组合性:可在智能体中安装多个 Skills,让它具备多种能力。
- 封装性:隐藏底层复杂的函数调用和逻辑,提供端到端的体验。
示例:在 Coze 平台上安装了一个'全网搜索'Skill。当用户问'最近有什么科技新闻?'时,Bot 会自动使用这个 Skill 去搜索并返回结果。底层依然是通过 Function Call 调用搜索 API。
MCP:模型上下文协议
这是由 Anthropic 提出并主导的开放协议,旨在标准化 AI 模型与外部资源(服务器、数据库、API 等)的交互方式。可以看作是 Function Call 的进化版。
是什么
一个客户端 - 服务器协议。它定义了一套标准,让任何兼容 MCP 的'服务器'都能被任何兼容 MCP 的'客户端'使用。
如何工作
- 服务器:工具(如文件系统、数据库、日历 API)实现为 MCP 服务器,宣告自己提供的资源和工具。


