Skills vs MCP vs Function Calling 的介绍

在当前大模型(LLM)应用开发的语境下,Skills(技能) 、MCP(Model Context Protocol,模型上下文协议) 和 Function Calling(函数调用) 是三个核心概念。它们共同解决了同一个问题:如何让"只会聊天"的 AI 变成"能干实事"的智能体(Agent)?

本文将为你深入浅出地拆解这三者的定义、区别以及它们如何协同工作。


1. Function Calling(函数调用):AI 的"动作接口"

定义: Function Calling 是大模型原生支持的一种能力。它允许开发者预先定义一些函数(包括函数名、描述、参数结构),并将其提供给模型。当用户提出需求时,模型会判断是否需要调用这些函数,并输出结构化的调用指令(通常是 JSON 格式),而不是直接回答文字。

  • 核心逻辑: 模型输出意图 -> 程序执行代码 -> 程序将结果回传给模型 -> 模型生成最终回复。
  • 地位: 它是现代 Agent 的基石。没有它,模型只能做文字游戏,无法与外部系统交互。

2. Skills(技能):Agent 的"能力库"

定义: Skills 是一个更高层次的抽象概念,它通常是 Function Calling 的封装与集合。

如果说 Function Calling 是底层的"API 调用",那么 Skills 就是一个"具备特定功能的工具包"。例如,一个"搜索技能(Search Skill)"可能内部封装了联网搜索、结果过滤、内容总结三个函数。

  • 特点:
    • 可复用性: 技能可以被不同 Agent 共享。
    • 模块化: 开发者可以像积木一样,给 Agent 装备"查询数据库"、"发送邮件"、"操作 Excel"等不同技能。
    • 上下文感知: 技能通常包含了完成任务所需的 prompt 和约束条件。

3. MCP(Model Context Protocol):连接的"通用语言"

定义: MCP 是由 Anthropic 推出的一项开源协议。如果说 Function Calling 和 Skills 是 Agent 的"手",那么 MCP 就是连接这些手与各种数据源的"标准接口"。

在 MCP 出现之前,如果你想让 AI 读取 GitHub 的数据,你需要为 GitHub 写一套适配器;想读取 Google Drive,又得写一套。MCP 旨在解决这种碎片化问题:它定义了一种标准,让任何数据源(服务器)都能以统一的方式与任何 AI(客户端)对话。

  • 核心优势:
    • 标准化: 开发者只需要遵循 MCP 标准,就可以一次开发,处处运行(适用于 Claude、Cursor 等支持 MCP 的平台)。
    • 解耦: 模型不再需要关心底层 API 的具体实现,只需要通过 MCP 协议获取数据、资源或执行工具。

三者对比总结

维度 Function Calling Skills MCP
本质 模型原生能力 (Feature) 业务逻辑封装 (Abstraction) 通信标准/协议 (Protocol)
解决的问题 模型如何调用代码 Agent 如何组织能力 如何标准化接入工具与数据
抽象层级 底层 (Low-level) 中层 (Mid-level) 顶层 (Infrastructure)
类比 电脑的 CPU 指令集 电脑安装的软件 USB 接口标准

它们如何协同工作?

想象你要开发一个"自动化财务助手":

  1. MCP(基础设施层): 你通过 MCP 服务器连接了公司的财务数据库和钉钉 API。因为遵循了 MCP 协议,你的 Agent 可以直接"挂载"这些数据源。
  2. Skills(逻辑层): 你在 Agent 中配置了"财务报表生成技能"。这个技能内部调用了 MCP 提供的接口,自动提取数据并整理。
  3. Function Calling(执行层): 当用户说"帮我生成上个月的报表"时,模型通过 Function Calling 识别出需要调用"财务报表生成"这个 Skill,最终完成任务。

总结

  • Function Calling 是模型与代码交互的手段;
  • Skills 是通过这些手段构建出的业务能力;
  • MCP 是让这些技能和工具能够跨平台、跨系统高效连接的标准。
相关推荐
泯泷29 分钟前
AI 社交的真问题:助理拥有“我”,平台拥有“别人”
人工智能·llm·agent
泯泷13 小时前
让 Agent 分清“马上办、等一等、顺手办”
人工智能·llm·agent
泯泷14 小时前
语音,正在成为 AI Agent 最自然的接口
人工智能·llm·agent
泯泷17 小时前
该 SFT、RL 还是 Mid-training?先搞清楚模型到底"缺"了什么
llm·agent·强化学习
泯泷19 小时前
SFT 的真相:它不教模型"知道什么",只教它"怎么说"
人工智能·llm·agent
泯泷20 小时前
为什么 RL 比 SFT 更会"举一反三"?
人工智能·llm·agent
泯泷1 天前
模型"缺课"了:为什么该补底座,而不是急着上 RL
llm·agent·强化学习
泯泷1 天前
RL 训练真正难的不是算法:环境、奖励与样本效率
llm·agent
Baihai_IDP2 天前
RAG vs SKILL vs MCP vs RLM
llm·agent·mcp
Baihai_IDP2 天前
别再争论 AI 该不该像人了,赋予 AI 人格是非常有效的后训练策略
人工智能·llm·aigc