news 2026/2/25 4:11:53

大模型skills技能与函数调用与多模态协作协议MCP三者关联与区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型skills技能与函数调用与多模态协作协议MCP三者关联与区别

要厘清大模型智能体体系中,skills(技能)、function call(函数调用)和MCP(多组件/多模态协作协议)三者的关联与核心区别,核心是理解它们在智能体运行中各自的定位、作用边界,以及相互依存的关系。

结论:

  1. 定位不同:Skills是智能体的“业务能力”(做什么),Function Call是“工具调用的通信语言”(怎么传),MCP是“全组件协作的通用规则”(怎么统一传)。
  2. 范围不同:MCP涵盖Function Call,Function Call支撑Skills落地;Skills面向业务,后两者面向技术交互。
  3. 核心价值不同:Skills解决“智能体能做什么”,Function Call解决“大模型怎么指挥工具”,MCP解决“不同组件怎么无缝配合”。

一、先明确三者的核心定位(通俗化定义)

在解释关联与区别前,先把每个概念的“角色”讲清楚,避免术语混淆:

概念核心定位(通俗比喻)一句话核心定义
Skills(技能)智能体的“具体做事能力”(比如“做菜”“开车”)面向业务场景封装的、可复用的能力单元,是智能体完成特定任务的核心(如“代码执行技能”“课程推荐技能”)
Function Call(函数调用)智能体的“标准化沟通语言”(比如“普通话”)大模型与外部技能/工具交互的专用协议,将大模型的自然语言决策转化为机器可执行的函数指令(如调用API、执行代码)
MCP(Multi-Component Protocol/多模态协作协议)智能体的“通用协作框架”(比如“国际通用社交礼仪”)比Function Call更底层、更通用的跨组件协作标准,支持多模型、多工具、多模态(文本/图片/音频)的统一交互,涵盖Function Call但范围更广

二、三者的核心关联(层级+链路)

三者是**“底层协议 → 通信桥梁 → 业务能力”** 的层层支撑关系,构成智能体运行的完整链路:

1. 层级依存关系

MCP(底层通用协作协议)

Function Call(专用通信协议,MCP的子集)

Skills(业务技能,基于Function Call落地)

  • MCP是最底层的基础规范:定义了智能体中“大模型↔工具↔其他模型”之间交互的通用格式、上下文传递规则、错误处理标准等,Function Call是MCP针对“函数/工具调用”场景的具体实现
  • Function Call是技能调用的核心桥梁:Skills是面向业务的“能力封装”,但大模型无法直接执行Skills,必须通过Function Call将“调用某个Skill”的决策转化为标准化指令(如JSON格式),让Skill对应的工具/函数能识别并执行。
  • Skills是最终落地的业务载体:Function Call和MCP都是“通信规则”,而Skills是这些规则要服务的“目标”——智能体最终要靠Skills完成实际任务(如生成学习计划、执行代码)。
2. 完整调用链路(以AI职业教育智能体为例)

用户输入 → 大模型解析需求 → 匹配“课程推荐Skill” → 基于MCP的通用规范,生成Function Call指令(JSON格式) → 调用课程库API执行Skill → 执行结果按MCP规范返回 → 大模型整合结果输出。

三、三者的核心区别(维度对比)

对比维度Skills(技能)Function Call(函数调用)MCP(多组件协作协议)
核心本质业务能力单元(做什么)通信协议(怎么传指令)通用协作规范(怎么统一交互)
作用层级业务层(面向用户需求)交互层(面向工具调用)协议层(面向全组件协作)
粒度/范围粗粒度(封装完整业务逻辑,如“学习计划生成”)中粒度(仅覆盖函数/工具调用场景)细粒度(覆盖多模型、多模态、多工具的全场景交互)
设计目标复用性、场景化(解决具体业务问题)标准化、可执行性(让大模型指令被工具识别)通用性、兼容性(让不同组件间能无缝协作)
是否依赖外部工具是(多数Skills依赖API、代码解释器等)是(仅用于大模型与外部工具交互)否(本身是规则,不依赖工具,而是规范工具交互)
典型输出业务结果(如学习计划、数据分析报告)标准化指令/返回结果(如{“name”:“code_exec”,“params”:{“code”:“print(1)”}})统一格式的交互数据(含上下文、指令、结果、状态)

四、实际场景举例(强化理解)

假设智能体要完成“生成带可视化图表的Python数据分析学习报告”:

  • Skills:包含3个核心技能——「Python代码执行Skill」(生成图表)、「学习内容整理Skill」(整理知识点)、「报告排版Skill」(整合内容和图表);
  • Function Call:大模型针对每个Skill生成对应的函数调用指令,比如调用「Python代码执行Skill」时,生成:
    {"name":"code_execution_skill","parameters":{"code_str":"import matplotlib.pyplot as plt; plt.plot([1,2,3],[4,5,6]); plt.savefig('chart.png')","requirements":["matplotlib"]}}
  • MCP:规范这3个Skill的执行顺序、上下文传递(比如把「代码执行Skill」生成的图表路径传递给「报告排版Skill」)、多模态结果(文本+图片)的统一返回格式,确保不同Skill之间能无缝协作。

AI职业教育智能体的「个性化数据分析学习路径生成」实际应用案例,拆解SkillsFunction CallMCP三者的关联与区别,这个案例完全贴合AI职业教育的业务场景,能直观体现三者如何协同落地。

一、 案例背景

用户需求:“我是零基础,想3个月转行数据分析,每天能学2小时,帮我生成带实战项目和学习资源的学习路径,还要评估我学完能掌握的技能”。
智能体目标:整合「技能测评、课程匹配、资源推荐、进度规划、能力评估」五大能力,输出结构化学习路径。

二、 三者在案例中的具体应用与关联

1.Skills:智能体的「业务能力包」—— 解决「做什么」的问题

Skills 是面向职业教育业务场景封装的可复用能力单元,每个Skill对应一个具体任务,是智能体的核心业务载体。
本案例中,智能体需要调用5个核心Skills:

技能名称核心功能依赖工具/数据
基础能力测评Skill基于用户“零基础”“每天2小时”等信息,评估用户的学习起点和可承载强度学员能力标签库、学习时长-进度映射模型
课程库匹配Skill筛选适配零基础的数据分析课程(Python基础→SQL→可视化→实战)职业教育课程管理系统(CMS)API
实战项目推荐Skill匹配3个梯度的实战项目(入门级→进阶级→求职级)项目案例库、企业招聘需求数据库
学习进度规划Skill按3个月周期拆分学习任务,分配每周学习模块和时长学习节奏算法(避免疲劳效应)
能力评估预测Skill预测用户学完后可掌握的技能(如“独立完成电商数据分析报告”)技能达成度预测模型

关键特征:每个Skill都有明确的输入输出规范,比如「课程库匹配Skill」的输入是用户基础、学习时长,输出是课程列表+优先级排序

2.Function Call:智能体的「通信桥梁」—— 解决「怎么调用」的问题

Function Call 是大模型与Skills之间的标准化调用协议,它的作用是把大模型的“自然语言决策”转化为机器可识别的指令,让Skills能被精准触发和执行。
在本案例中,大模型作为“中枢大脑”,需要通过Function Call连接Skills,核心流程如下:

  1. 大模型解析用户需求后,决策“需要先调用基础能力测评Skill”;
  2. 大模型按照预设的函数调用格式,生成标准化JSON指令:
    {"name":"basic_ability_assessment_skill","parameters":{"user_level":"零基础","daily_learning_hours":2,"target_career":"数据分析"}}
  3. 智能体的调度器接收该指令,调用「基础能力测评Skill」对应的函数/接口;
  4. Skill执行完成后,返回结果(如{"suitable_pace": "每周5模块", "risk_point": "SQL入门易卡顿"}),再通过Function Call传递给大模型。

关键特征:Function Call 是针对性的工具调用协议,只负责“大模型→Skill”的指令传递,格式固定、轻量化,是Skills被激活的必要条件。

3.MCP:智能体的「底层协作规则」—— 解决「怎么协同」的问题

MCP(Multi-Component Protocol,多组件协作协议)是更底层的通用交互规范,它不仅涵盖Function Call,还定义了多Skills、多工具、多模态数据之间的协作规则,确保整个智能体系统的“有序运转”。
在本案例中,MCP的核心作用体现在3个维度:

MCP规范维度具体落地表现
上下文传递规则规定「基础能力测评Skill」的输出,必须作为「课程库匹配Skill」的输入,且上下文数据格式统一为JSON-LD,避免数据混乱
多Skills执行顺序定义Skills的执行优先级:测评Skill → 进度规划Skill → 课程匹配Skill → 项目推荐Skill → 能力评估Skill,禁止无序调用
异常处理标准若「课程库匹配Skill」调用CMS API失败,MCP规定“先重试2次→切换备用课程数据库→若仍失败则触发人工介入”,所有Skill的异常处理逻辑统一
多模态结果封装最终输出的学习路径包含「文本课程表+视频资源链接+项目文档」,MCP规定多模态数据的统一返回格式,确保用户端展示一致

关键特征:MCP是全局协作框架,Function Call是MCP在“技能调用”场景下的子集实现;MCP解决的是“多个Skills如何协同工作”的问题,而Function Call只解决“单个Skill如何被调用”的问题。

4. 三者协同的完整执行链路

用户输入需求

大模型解析需求

基于MCP规则,决策Skills执行顺序

大模型生成Function Call指令

调度器按指令调用Skill1:基础测评

Skill1执行,按MCP格式返回结果

大模型生成Function Call指令调用Skill2:课程匹配

Skill2-Skill5依次执行,MCP管控上下文传递

大模型整合所有Skill结果

按MCP规范封装多模态学习路径

返回给用户

三、 三者的核心区别(案例视角)

对比维度Skills(技能)Function Call(函数调用)MCP(多组件协作协议)
核心定位业务能力单元(做什么技能调用协议(怎么调全局协作规则(怎么协同
作用范围单个业务任务(如“课程匹配”)大模型与单个Skill的交互智能体所有组件(Skills、工具、模型、数据)
是否依赖业务场景强依赖(职业教育场景的Skills不能直接用于电商客服)弱依赖(格式通用,可跨场景复用)弱依赖(规则通用,可适配不同智能体)
典型输出物业务结果(如课程列表、项目推荐)标准化调用指令/返回结果(JSON格式)统一的交互规范文档/上下文数据
层级关系最高层(业务层)中间层(交互层)最底层(协议层)

四、 案例总结

  1. Skills是“干活的人”:没有Skills,智能体就没有解决职业教育问题的实际能力;
  2. Function Call是“传话的人”:没有它,大模型的“想法”无法传递给Skills,Skills就是“摆设”;
  3. MCP是“定规矩的人”:没有它,多个Skills会“各自为政”,无法协同生成完整的学习路径;
  4. 三者关系MCP(底层规则)包含Function Call(调用协议)Function Call支撑Skills(业务能力)落地,共同构成智能体的核心能力体系。

基础架构示意

1)大脑层 (The Brain - LLM)

这是智能体的核心,负责高级认知。

功能:语义理解、意图识别、逻辑推理。
输入:用户的自然语言。
输出:决策指令(例如:决定调用哪个 Skill)。

(2)规划层 (Planning) —— 智能体的“前额叶”

任务拆解 (Decomposition):将大目标拆成 Step 1, 2, 3。
反思 (Reflection):对初步计划进行自我纠错(Self-Correction)。

(3)记忆层 (Memory) —— 智能体的“经验库”

短期记忆:对话上下文(Context window)。
长期记忆:通过 RAG 技术检索的行业知识、历史审计案例。

(4)执行与技能层 (Action & Skills) —— 重点区域

这里是 Skills 和 Tools 的交互区:

给一个SKILL实例
Skill 到底长什么样? 可以把它想象成一个 “带有逻辑的说明书”。如果用代码化的方式描述,它大致长这样:

Skill_Name:"Supply_Chain_Risk_Audit"Role_Template:"Senior_Auditor_Prompt_v1.2"# 这里是你的专家提示词Workflow: - Step_1: Call_MCP(erp_server, get_supplier_info)- Step_2: Call_MCP(search_server, check_news)- Step_3: If(Risk_Score>80)thenCall_MCP(mail_server, draft_email)Constraints: - Max_Token_Usage:2000- Human_In_The_Loop:true# 关键操作必须由人类确认

二、工作流程

没有 Skill 的流程:用户 -> 大脑 -> 工具。大模型容易在复杂的工具调用中“迷路”。
有 Skill 的流程:用户 -> 大脑 -> Skill (SOP 逻辑) -> 多个工具组合。流程变得可预测、专业化且高效。
对应的图例:

三、实现

在现代智能体开发框架(如 LangGraph, CrewAI 或企业级自定义引擎)中,Skill 不再只是一段 Prompt,而是一个声明式的逻辑实体。

1、Skill 的代码结构定义

一个健壮的 Skill 通常由 描述(Metadata)、逻辑流(Logic Flow) 和 工具绑定(Tool Binding) 三部分组成。

以下是以 YAML/JSON 混合风格定义的“供应商风险审计 Skill”示例:

skill_id:"supply_chain_risk_analyzer_v2"version:"2026.01.06"# 1. 专家 Prompt 注入:赋予模型特定的审计思维system_prompt_extension:>你现在是首席审计专家。在调用工具前,必须先建立假设。 在获取数据后,必须寻找'交付延迟''外部负面新闻'的关联度。 如果风险评分超过75,必须强制生成预防性建议。# 2. 依赖的工具集(通过 MCP 协议连接)required_tools: - mcp_server:"enterprise_erp"tools:["get_supplier_performance","get_unfulfilled_orders"]- mcp_server:"global_intelligence"tools:["search_news","get_weather_alerts"]# 3. 确定性的逻辑流 (The Workflow)workflow_control: mode:"sequential_with_reflection"# 顺序执行带自省steps: - id:"internal_audit"action:"get_supplier_performance"retry_policy:"max_3_times"- id:"external_scan"action:"search_news"condition:"if internal_audit.delayed_rate > 0.1"# 只有延迟率超标才查新闻,节省 Token- id:"final_judgment"logic:"python_interpreter"# 运行一段确定的数学公式计算风险分code:"risk_score = (data.delay * 0.7) + (data.news_sentiment * 0.3)"

2. Skill 执行的内部状态机

为了保证复杂任务不掉线,Skill 在执行时会维护一个“状态机” (State Machine)。

为什么需要状态机?
断点续传:如果网络闪断或 MCP 服务器重启,智能体知道自己执行到了“Step 2”,不需要从头再来。
多轮交互:当 Skill 发现缺失关键信息(比如供应商代码错误)时,它可以将状态挂起(Suspend),向人类询问后继续。

3. Skill vs. Tool 调用流程对比(代码逻辑视角)

普通工具调用 (Direct Tool Use)

# 模型直接决定调哪个,很松散response=llm.call(tools=[google_search, send_email],prompt="帮我看看供应商风险")# 结果:模型可能直接发了邮件,但忘了看内部数据。

基于 Skill 的调用 (Skill-Based)

# 通过 Skill 引擎执行,逻辑受控audit_skill=SkillEngine.load("risk_analyzer")result=audit_skill.run(input="供应商 A")# 内部闭环:# 1. 强制先查 ERP# 2. 强制做风险建模
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/16 13:12:36

前端使用docker打包nuxt官网项目

安装docker的文章在另一篇:https://blog.csdn.net/m0_69727853/article/details/154741168?spm1001.2014.3001.5501 1. 查看docker是否安装成功 docker -v 2. 如果显示没有docker,查看当前的环境变量是否正确 tips提示:如果找不到安装的doc…

作者头像 李华
网站建设 2026/2/16 0:10:49

Java计算机毕设之基于Java+springboot的寿险公司人力资源管理系统基于SpringBoot的人力资源管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/20 23:14:47

PolarDB-X 企业版分布式集群部署文档

目录PolarDB-X 企业版分布式集群部署文档快速连接快速连接命令集群信息集群状态Pod 列表服务列表镜像版本安装步骤1. 安装 Helm2. 创建命名空间3. 添加 Helm 仓库并安装 Operator4. 获取最新镜像版本5. 创建集群配置文件6. 部署集群7. 监控部署进度8. 获取连接密码集群架构架构…

作者头像 李华
网站建设 2026/2/25 0:30:40

计算机Java毕设实战-基于springboot的社区协作与资源共享系统社区闲置资源交易与共享系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/15 2:09:57

【计算机毕业设计案例】基于springboot的闲一品闲置品交易平台于Java+SpringBoot的闲置用品交易平台(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华