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



