AI Agent 工具调用机制深度解析:Skills vs MCP vs Function Calling
1. 引言随着大语言模型LLM从单纯的对话机器人向能够自主执行任务的 Agent 演进如何让模型安全、高效地与外部世界交互成为了核心课题。在众多技术方案中Function Calling、MCPModel Context Protocol和Skills是三个最常被提及且容易混淆的概念。它们都旨在解决同一个问题让 LLM 能够调用外部工具、获取实时数据或执行特定操作。然而它们在设计哲学、架构层次、使用场景和生态定位上有着本质的区别。本文将深入剖析这三者的定义、工作原理、核心差异以及各自的适用场景帮助你构建清晰的 AI Agent 技术选型认知。2. Function Calling最底层的原生能力2.1 定义与起源Function Calling函数调用并非一个独立的协议或框架而是大语言模型 API 提供的一种原生能力。它最早由 OpenAI 在 2023 年 6 月提出随后被 Google Gemini、Anthropic Claude、百度文心一言、阿里通义千问等主流模型厂商广泛采纳。其核心思想是开发者可以在 API 请求中以 JSON Schema 的形式描述一组可用的函数包括函数名、参数描述、参数类型等。模型在理解用户意图后会判断是否需要调用某个函数并输出一个结构化的 JSON 对象包含要调用的函数名和参数。开发者拿到这个 JSON 后在自己的服务端执行该函数并将结果返回给模型模型再基于结果生成最终的回复。2.2 工作原理定义工具开发者定义一组工具Tools每个工具包含name、description和parametersJSON Schema。发起请求将用户消息和工具定义一起发送给 LLM API。模型决策LLM 分析用户意图如果认为需要调用工具则返回一个tool_calls对象而不是直接生成文本回复。执行工具开发者收到tool_calls后在自己的后端执行对应的函数如查询数据库、调用第三方 API。返回结果将函数执行结果作为新的消息toolrole发送回 LLM。生成回复LLM 结合工具返回的结果生成最终的、对用户友好的自然语言回复。2.3 核心特点标准化JSON Schema 是业界广泛接受的描述格式几乎所有主流模型都支持。低延迟由于是模型原生能力无需额外的中间层或协议转换调用链路最短。灵活性开发者可以定义任意复杂的函数只要能用 JSON Schema 描述其输入输出。局限性函数定义和调用逻辑完全由开发者自行实现缺乏统一的发现、认证和调用规范。每个 Agent 都需要硬编码其可用的工具集。2.4 典型应用构建一个能查询天气、设置提醒、发送邮件的个人助手。让 Agent 能够调用内部 API 查询订单状态或客户信息。实现一个能根据用户指令生成并执行 SQL 查询的数据分析助手。3. MCPModel Context Protocol标准化的工具连接层3.1 定义与起源MCPModel Context Protocol是由 Anthropic 在 2024 年底提出并开源的开放协议。它的目标不是取代 Function Calling而是在其之上构建一个标准化的、去中心化的工具生态。你可以将 MCP 理解为 AI 世界的“USB 协议”。USB 定义了设备如键盘、鼠标、U盘如何与主机电脑通信而 MCP 定义了工具服务器如文件系统、数据库、GitHub API如何与AI 客户端如 Claude Desktop、VS Code 插件、自定义 Agent通信。3.2 工作原理MCP 采用客户端-服务器Client-Server架构MCP Host用户直接交互的 AI 应用如 Claude Desktop、VS Code 中的 AI 插件。MCP Client运行在 Host 内部负责与 MCP Server 建立一对一连接。MCP Server轻量级程序每个 Server 暴露一组特定的工具、资源或提示。例如一个sqlite-server可以暴露query和execute两个工具。交互流程发现DiscoveryMCP Client 连接到 MCP Server 后Server 会发送一个listTools响应告知其所有可用的工具及其 JSON Schema 描述。调用Invocation当 Host 中的 LLM 决定使用某个工具时Client 会向 Server 发送callTool请求Server 执行操作并返回结果。资源访问Resources除了工具MCP 还定义了Resources类似文件系统中的文件用于向 LLM 提供上下文和Prompts预定义的提示模板。3.3 核心特点标准化与互操作性任何遵循 MCP 协议的 Server 都可以被任何 MCP Client 使用。开发者只需编写一次工具 Server就能被整个生态复用。去中心化工具不再需要硬编码在 Agent 代码中。用户或开发者可以自由安装、配置不同的 MCP Server像安装 App 一样扩展 AI 的能力。安全隔离MCP Server 运行在独立的进程中Host 可以通过配置权限如允许访问哪些目录、哪些网络端点来控制 Server 的行为提高了安全性。传输层抽象MCP 支持多种传输方式如 stdio本地进程间通信和 SSEServer-Sent Events用于远程服务器底层通信细节对上层透明。3.4 典型应用Claude Desktop用户可以通过安装 MCP Server让 Claude 直接读取本地文件、操作 SQLite 数据库、与 Figma 或 GitHub 交互。IDE 插件VS Code 中的 AI 编程助手可以通过 MCP Server 访问项目文件、运行终端命令、调用代码分析工具。企业级 Agent 平台公司可以开发统一的 MCP Server 来封装内部微服务 API让不同的 AI Agent 都能通过标准协议调用。4. Skills面向用户的任务封装4.1 定义与起源“Skills” 这个词在不同的平台如 ChatGPT 的 GPTs、字节跳动的 Coze、百度文心智能体平台中有不同的具体实现但其核心思想是一致的将一组指令、知识库和工具调用逻辑打包成一个可复用的、面向特定任务的“技能包”。Skills 是比 Function Calling 和 MCP 更高层次的抽象。它不关心底层是用的 Function Calling 还是 MCP它关心的是如何让非技术用户也能创建和分享一个能完成特定任务的 AI 助手。4.2 工作原理以 OpenAI 的 GPTs 为例配置用户通过自然语言界面告诉 GPT Builder 自己想要创建一个什么样的助手例如“一个能帮我写周报的助手”。指令Instructions系统会生成一组系统提示词定义该 GPT 的行为、语气和限制。知识Knowledge用户可以上传文档、PDF 等文件作为 GPT 的额外知识库。能力Capabilities用户可以选择开启哪些内置能力如网页浏览、DALL·E 绘图、代码解释器。动作Actions这是 Skills 与 Function Calling/MCP 结合的地方。用户可以通过 OpenAPI SchemaSwagger或 MCP 协议为 GPT 配置自定义的外部 API 调用。4.3 核心特点用户友好面向非开发者通过配置而非编码来创建 AI 应用。可复用与分享创建好的 Skill如 GPTs可以发布到商店供其他用户使用。组合性一个 Skill 可以包含多个工具、知识库和复杂的指令逻辑。平台绑定Skills 通常是特定平台如 ChatGPT、Coze的产物跨平台迁移性较差。4.4 典型应用设计助手一个 GPT内置了设计规范文档知识库并能调用 Figma API动作来生成设计稿。代码审查助手一个 GPT能读取 GitHub 仓库的 PR动作并根据团队编码规范知识库给出审查意见。旅行规划师一个 GPT能调用航班、酒店、地图等多个 API动作并根据用户偏好指令生成旅行计划。5. 三者对比一张表看懂核心差异特性Function CallingMCPSkills本质LLM API 的原生能力开放协议 / 标准应用封装 / 产品形态抽象层次底层中间层顶层核心目标让模型能输出结构化函数调用标准化工具与 AI 应用的连接方式让用户能轻松创建和分享 AI 助手使用者开发者开发者 / 平台终端用户 / 开发者工具发现硬编码在代码中运行时动态发现listTools配置时定义生态模型厂商各自为政开放、去中心化、跨平台平台封闭生态安全性由开发者自行实现协议层面支持隔离与权限控制由平台实现复杂度低中高对平台而言典型代表OpenAItool_callsAnthropic MCPOpenAI GPTs, Coze Bot6. 如何选择场景驱动的技术选型6.1 什么时候用 Function Calling你正在构建一个独立的、功能单一的 Agent例如一个只负责查询内部 CRM 系统的聊天机器人。你对延迟和性能有极致要求不希望引入额外的网络开销或协议转换。你的工具集是固定的、有限的不需要动态发现或用户自定义安装。你希望获得最大的模型兼容性因为几乎所有模型都支持 Function Calling。6.2 什么时候用 MCP你正在构建一个通用的 AI 平台或框架希望第三方开发者能轻松为其贡献工具。你的 Agent 需要访问多种异构系统如文件系统、数据库、云服务、SaaS 应用且这些系统可能频繁变化。你重视安全隔离希望将工具运行在沙箱环境中限制其权限。你希望你的工具生态能够跨平台复用一次开发同时支持 Claude Desktop、VS Code 插件、自定义 Web App 等。6.3 什么时候用 Skills你是一个非技术用户希望快速创建一个能完成特定任务的 AI 助手而不想写代码。你是一个平台方希望构建一个 AI 应用商店让用户能发现、安装和使用他人创建的 AI 助手。你需要将复杂的指令、知识库和多个工具组合成一个连贯的、面向特定场景的体验。7. 三者关系不是替代而是互补理解这三者关系的关键在于它们处于不同的抽象层次可以协同工作。MCP 可以基于 Function Calling 实现MCP Client 在调用 LLM 时底层使用的正是 Function Calling 能力。MCP 协议是对 Function Calling 的标准化封装。Skills 可以包含 MCP 或 Function Calling一个 Skill如 GPTs的“Actions”功能既可以配置为传统的 OpenAPI Schema底层是 Function Calling也可以配置为 MCP Server。三者共同构建了 AI Agent 的完整生态Function Calling提供了“让模型理解工具”的基础能力。MCP提供了“让工具可被发现和连接”的标准协议。Skills提供了“让能力可被组合和分享”的产品形态。8. 未来展望MCP 有望成为行业标准随着 Anthropic 的推动和社区的支持MCP 正在被越来越多的工具和平台采纳。它有可能像 LSPLanguage Server Protocol统一代码编辑器生态一样统一 AI Agent 的工具生态。Function Calling 将更加内化模型对 Function Calling 的支持会越来越好例如更精准的参数提取、更复杂的嵌套调用、甚至模型原生支持并行调用多个函数。Skills 将更加智能和自动化未来的 Skills 可能不再需要用户手动配置AI 可以自动分析用户需求动态组合和编排工具甚至自动生成新的工具调用逻辑。9. 总结概念一句话总结Function Calling让 LLM 能“理解”并“请求”调用外部函数的原生 API 能力。MCP标准化 AI 应用与外部工具之间通信的开放协议实现“即插即用”。Skills将指令、知识、工具打包成面向特定任务的、可分享的** AI 应用产品形态**。对于开发者而言理解这三者的区别至关重要。Function Calling 是基础MCP 是生态Skills 是产品。在实际项目中它们往往不是非此即彼的选择而是可以分层组合共同构建出强大、灵活且安全的 AI Agent 系统。

相关新闻

ROS消息与服务创建实战:从零定义.msg和.srv文件

ROS消息与服务创建实战:从零定义.msg和.srv文件

1. 项目概述:为什么“创建ROS消息和服务”是每个ROS开发者绕不开的第一道硬门槛刚接触ROS(Robot Operating System)的新手,常以为装完系统、跑通小海龟就等于入门了。我带过十几届高校机器人社团和企业新员工培训,发现…

2026/7/15 19:00:05阅读更多 →
PostgreSQL 认证方式详解:trust 与 scram-sha-256 的区别与配置

PostgreSQL 认证方式详解:trust 与 scram-sha-256 的区别与配置

在 PostgreSQL 中,trust 和 scram-sha-256 是 pg_hba.conf(客户端认证配置文件)中用来控制数据库访问权限的两种身份验证方法。它们决定了用户连接数据库时,“如何证明自己是自己”。 简单概括两者的区别:trust 是无条…

2026/7/15 19:00:05阅读更多 →
ChatGPT称Sam Altman是骗子事件背后的LLM技术原理分析

ChatGPT称Sam Altman是骗子事件背后的LLM技术原理分析

最近AI圈有个挺有意思的话题:ChatGPT居然称自己的CEO Sam Altman是"骗子",这个事件在社交媒体上引发了不少讨论。作为OpenAI的创始人和CEO,Sam Altman一直是ChatGPT项目的核心推动者,现在却被自家AI"吐槽"&am…

2026/7/15 19:00:05阅读更多 →
META租售算力背后:算力仍紧缺,意在抢占云计算产业红利

META租售算力背后:算力仍紧缺,意在抢占云计算产业红利

市场误判:META租售算力被指“算力过剩”META要租售算力的消息已流传半月,然而市场对此反应不一。社交媒体上,不少观点认为META此举宣告了其此前激进资本开支策略失效,意味着算力从紧缺转为过剩,是妥妥的利空。但深入研…

2026/7/15 20:05:10阅读更多 →
ChatGPT模拟客户对话:7步构建可落地的AI客服训练闭环(含真实会话日志脱敏样本)

ChatGPT模拟客户对话:7步构建可落地的AI客服训练闭环(含真实会话日志脱敏样本)

更多请点击: https://codechina.net 第一章:ChatGPT模拟客户对话 在客户服务自动化实践中,利用ChatGPT构建高保真客户对话模拟环境,已成为验证对话策略、训练客服模型及压力测试的关键手段。该过程不依赖真实用户流量&#xff0c…

2026/7/15 20:05:10阅读更多 →
高原城市沙滩公园建设:从空间重构到智能运营的技术实践

高原城市沙滩公园建设:从空间重构到智能运营的技术实践

在昆明这座高原城市,人们对海的向往几乎成了一种集体执念。当滇池南岸的晋宁区用300亩土地打造出"高原夏威夷"沙滩公园时,这个看似违背地理常识的项目背后,藏着城市发展逻辑的深刻转变——从单纯的景观建设转向体验经济的系统化运营…

2026/7/15 20:05:10阅读更多 →
红帽混合云应用平台 OpenShift 4.22 全面推出,新增安全、虚拟化及成本优化功能

红帽混合云应用平台 OpenShift 4.22 全面推出,新增安全、虚拟化及成本优化功能

红帽混合云应用平台更新版本 Red Hat OpenShift 4.22 于 7 月 14 日全面推出,带来安全、工作负载隔离和虚拟化管理等新功能,聚焦削减成本、简化操作与保护数据。强化安全标准引入最小化红帽通用基础镜像(UBI),去除非必…

2026/7/15 20:05:10阅读更多 →
和差比幅法单脉冲测角:从原理到工程实现的误差控制与仿真验证

和差比幅法单脉冲测角:从原理到工程实现的误差控制与仿真验证

1. 单脉冲测角技术概述单脉冲测角技术是现代雷达系统中的核心功能之一,它能在单个脉冲周期内完成目标角度测量。想象一下,这就像用一把特殊的尺子,只需一次测量就能精确读出角度值,而不是反复调整。传统方法需要比较多个脉冲的测量…

2026/7/15 20:05:10阅读更多 →
职场人Python高效入门:聚焦自动化办公的实战路径

职场人Python高效入门:聚焦自动化办公的实战路径

1. 这不是又一份“Python学习清单”,而是我用三年带过27个转行学员后筛出来的真高效路径 你点开这篇,大概率正站在Python学习的十字路口:网上搜“Python入门”,跳出382万条结果;B站Python教程播放量动辄百万&#xff0…

2026/7/15 20:00:09阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
AI框架决定企业AI能走多远

AI框架决定企业AI能走多远

企业AI建设的第一性原理 企业搞AI,最关键的决定是什么?不是选哪家大模型,不是先做哪个场景,不是招多少AI人才——而是选哪个AI开发框架。 为什么?因为框架决定了企业AI能力的"天花板"。选对了框架&#xff0…

2026/7/15 0:01:30阅读更多 →
Java企业为什么需要AI框架

Java企业为什么需要AI框架

Java企业在AI时代的尴尬处境 Java是全球企业级应用开发的主流语言——全球超过一半的企业系统跑在Java上。但在AI浪潮面前,很多Java企业感到尴尬:大模型的接口是各种语言的,AI开发社区以其他语言为主流,似乎Java在AI时代"掉队…

2026/7/15 0:01:30阅读更多 →
CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

1. 项目概述:为什么需要关注CC3230x的SD主机、定时器与低功耗?在物联网和嵌入式设备开发领域,我们常常面临一个核心矛盾:设备需要具备强大的连接能力、可靠的数据存储和实时控制功能,同时又必须严格控制功耗以延长电池…

2026/7/15 0:01:30阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →