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 是让这些技能和工具能够跨平台、跨系统高效连接的标准
相关推荐
uncle_ll8 分钟前
LlamaIndex 全栈实战指南:架构解构、RAG 核心原理与私有知识库工程化落地方案
架构·llm·agent·rag·llamaindex
蛋先生DX1 小时前
大模型本地部署神器的瘦身进阶原理,就这两招?
llm·llama·ollama
众人皆醒我独醉2 小时前
流量路由:Istio 与 Knative 的集成
面试·kubernetes·llm
温暖的苹果4 小时前
opencode 配置完全指南:配置文件、目录与字段详解
ai·llm·agent·vibecoding·opencode
七点半.9 小时前
LLM 工程能力
人工智能·llm
修远客11 小时前
对话式修改:Agent的人机协作模式 — Chat as Interface,对话不是聊天,是最高效的人机协作方式
llm·agent
武子康11 小时前
机器人接入 AI 连续语音后,端云架构要改什么?
人工智能·llm·agent
tachibana211 小时前
大语言模型基础
数据库·人工智能·语言模型·自然语言处理·大模型·llm
阿里云云原生1 天前
云原生 AI 基础设施演进:利用 Envoy Wasm 构建去中心化的 LLM 内容安全网关
llm
Novlan11 天前
Transformer
llm