function call 、mcp、skills 有什么区别?

7 阅读2分钟

这三个概念很多人都会混,我给你讲一个工程视角 + 一句话能分清的版本👇


🧠 一句话总览

👉 function call = 调工具
👉 MCP = 接外部系统
👉 skills = 封装好的能力/流程


🧩 一、function call(函数调用)

👉 本质

👉 模型调用一个你定义好的函数


📦 例子

你定义:

{
  "name": "get_weather",
  "params": { "city": "string" }
}

模型会输出:

{
  "function_call": {
    "name": "get_weather",
    "arguments": { "city": "上海" }
  }
}

🧠 特点

  • ✔️ 简单
  • ✔️ 结构化(JSON)
  • ✔️ 一次性调用

🎯 用途

👉 让 AI 去执行具体动作

比如:

  • 查天气
  • 下单
  • 调接口

🔌 二、MCP(Model Context Protocol)

👉 本质

👉 让 AI 连接“外部系统”的协议


📦 类比

👉 function call = “打电话给一个函数”
👉 MCP = “接入一个完整系统(像接入Figma / GitHub)”


🧠 特点

  • ✔️ 长连接 / 持续交互
  • ✔️ 能访问复杂数据(文件、设计稿)
  • ✔️ 不只是一次调用

🎯 用途

比如:

  • Figma MCP 👉 读设计稿
  • GitHub MCP 👉 看代码仓库

👉 模型可以说:

读取这个 Figma 页面

👉 MCP帮它拿数据


🧠 核心区别

👉 function call:

  • 你定义函数
  • AI调用

👉 MCP:

  • 系统暴露能力
  • AI“接入并探索”

🧠 三、Skills(技能)

👉 本质

👉 把一整套流程封装起来


📦 举例

一个 skill 可能是:

👉 “帮我写一个React页面”

它内部可能包含:

  • 调 MCP(读Figma)
  • 调 function(生成代码)
  • 多轮逻辑

🧠 特点

  • ✔️ 高层抽象
  • ✔️ 面向“任务”
  • ✔️ 可复用

🎯 用途

👉 给用户直接用:

  • 写邮件
  • 做数据分析
  • 生成页面

🧠 四、三者关系(非常重要)

skills(最上层)
   ↓
MCP(连接外部世界)
   ↓
function call(执行具体动作)

🔥 五、举例(Figma)

你现在在做:

👉 Figma → 前端代码


实际发生的是:

1️⃣ skill(你看到的)

👉 “生成页面”


2️⃣ MCP(背后)

👉 读取 Figma 设计稿


3️⃣ function call(底层)

👉 调代码生成函数 / parser


🧠 六、总结一句话(记这个就够)

👉 function call 是“工具”,MCP 是“接口”,skills 是“能力”