本文将Function Calling、MCP、Tool、Skill、向量、张量、Token和Embedding这些常被混淆的AI概念分为四组进行详解。从模型与工具交互、应用与外部能力连接、任务执行到模型内部的数据表示,文章系统地梳理了这些概念的不同层面和回答的问题,帮助小白和程序员更好地理解和应用大模型技术。
01引言
刚开始接触 AI 时,最让人头疼的往往不是某个概念有多难,而是几个相似的名词总在一起出现,读着读着就串了。
Function Calling 和 MCP 都与工具调用有关;Tool 和 Skill 看上去都在给 AI 增加能力;向量和张量都用来组织数字;Token 和 Embedding 又都出现在文字进入模型的过程中。
容易混淆,是因为这些词处在不同层面,回答的问题也不同。先把它们放进一张表里:
| 所处层面 | 代表概念 | 主要回答的问题 |
|---|---|---|
| 模型与工具交互 | Function Calling | 模型怎样表达“我想调用一个工具” |
| 应用与外部能力连接 | MCP | AI 应用怎样连接和使用外部能力 |
| 任务执行 | Tool、Skill | 能做什么,以及应该怎样把事情做好 |
| 模型内部的数据表示 | Token、向量、张量、Embedding | 文字怎样变成模型可以计算的数字 |
有了这张大致的地图,后面的关系就好理解了。
02Function Calling 与 MCP
1.Function Calling:模型表达工具调用意图
Function Calling 直译为“函数调用”,现在也常被归到 Tool Calling,也就是工具调用的范畴。它让模型除了生成普通文字,还能根据用户的问题,返回一段结构化的工具调用请求。
例如,用户问:
上海今天的天气怎么样?
如果应用提前告诉模型有一个get_weather工具,模型可能返回类似的内容:
●●●CODE
{ "name": "get_weather", "arguments": { "city": "上海" }}这不是天气查询结果,而是模型开出的一张“调用单”:请调用get_weather,城市参数填“上海”。
发出调用请求,不等于执行工具。
访问天气服务、处理异常并取回结果的,是模型外部的应用程序。应用还要把结果交回模型,模型才能把它组织成一段自然的回答。OpenAI 的 Function Calling 文档也把整个过程拆成了提供工具、接收调用、执行代码、回传结果和生成回答几个环节。
要在自己的应用中用好 Function Calling,通常需要准备三部分:
工具说明:告诉模型工具叫什么、能做什么、需要哪些参数;
工具实现:真正执行查询、写入或计算的程序;
调用衔接:接收模型生成的调用请求,执行对应程序,再把结果返回给模型。
可以把模型理解为负责判断和填写“调用单”,应用程序负责审核、执行和回传结果。
2.Function Calling 是训练出来的
模型能在合适的时候选择工具,并按指定结构填写参数,与训练和对齐有关。它学到的不是某一个固定工具,而是一种通用的处理方式:
●●●CODE
阅读工具说明 ↓判断当前任务是否需要工具 ↓选择工具并生成参数所以,即使训练时没有见过get_weather这个具体名称,模型也可能根据运行时提供的名称、描述和参数结构正确使用它。
不同模型平台支持的工具格式、字段和限制可能不完全相同。开发者更换模型或 API 时,往往需要调整工具描述和调用衔接代码。这是 Function Calling 在工程落地时需要处理的问题之一。
3.MCP:AI 应用以统一方式连接外部能力
MCP 的全称是 Model Context Protocol,中文叫模型上下文协议。它处理的是另一件事:让 AI 应用按照一套相对统一的方式连接外部能力。MCP 不是具体工具,也不负责替模型做决定。
MCP 采用 Host、Client 和 Server 架构。按照官方架构说明,Host 承载并协调 AI 应用;每个 Client 与一个 Server 连接;Server 对外提供工具、资源和提示模板等能力。
入门阶段可以这样理解:
| 组成部分 | 可以理解为 | 主要职责 |
|---|---|---|
| Host | 用户正在使用的 AI 应用 | 管理模型、上下文、权限和整体执行过程 |
| Client | Host 内的连接模块 | 与某个 MCP Server 建立会话并交换消息 |
| Server | 外部能力的提供者 | 按协议提供工具、资源或提示模板 |
例如,一个天气 MCP Server 可以对外提供“查询实时天气”和“查询未来预报”两个工具。支持 MCP 的 AI 应用连接它以后,可以发现这些工具并发起调用,而不必为每个应用重新设计一套服务接口。
●●●CODE
AI 应用(Host) ↓MCP Client ↓MCP Server ↓天气服务、数据库或本地程序MCP Server 既可以作为本地进程运行,也可以是远程服务。不过,无论采用哪种方式,工具背后的业务代码、身份认证、访问权限和异常处理仍然需要开发者实现。
4.MCP 与 Function Calling 怎样配合
Function Calling 和 MCP 经常一起工作,但各管一段:
- Function Calling 关注模型怎样表达工具调用请求;
- MCP 关注 AI 应用怎样发现、连接和调用外部能力;
- 应用程序负责把模型、MCP 和真正执行操作的代码组织起来。
在一种常见实现中,Host 从 MCP Server 获取工具说明,再转换成当前模型接口能够接受的工具格式。模型生成调用请求后,Host 通过 MCP Client 调用对应的 Server,最后把结果交回模型。
MCP 统一的是 Client 与 Server 之间的通信和能力描述方式。不同模型厂商的 Function Calling 格式仍可能存在差异,这部分通常由 Host 或开发框架处理。
如果一个内部应用只连接一两个固定工具,使用的模型也不会频繁更换,直接通过 Function Calling 接入通常更简单。当同一批工具需要被多个 AI 应用复用,或者希望以标准方式管理工具、资源和提示模板时,MCP 的价值才会更加明显。
Function Calling 让模型表达工具调用意图,MCP 让 AI 应用按照统一协议连接外部能力。
03Skill:怎样把方法和工具组织起来
1.工具多了,上下文就开始吃紧
借助支持 MCP 的 Host,同一个工具可以接入不同的 AI 应用,也就能供这些应用背后的不同模型使用。可一旦进入真实项目,工具数量很快就会多起来:查天气、读文件、搜网页、访问数据库、发送消息……一个 MCP Server 里还可能同时放着多个工具。
模型要先知道手边有哪些工具,才能判断该不该调用。为此,应用通常会把工具名称、功能描述和参数结构提供给模型。最直接的做法,是由 Host 把已经连接的工具一次性全部注册进去。假设一个 MCP Server 提供了 10 个工具,模型在做选择前,可能要先读完这 10 份说明;再多连几个 Server,工具列表还会继续变长。
麻烦也随之出现:
- 工具说明本身会占用 Token,减少真正留给任务内容的上下文空间;
- 无关工具过多会增加模型的选择难度,可能出现误选工具或填错参数的情况。
不过,MCP 并没有规定“所有工具必须永久、全量注入模型”。它只负责工具的发现和调用,最终把哪些工具交给模型,由 Host 或 Agent 框架决定。工具很多时,应用可以先筛选与当前任务相关的部分,也可以采用渐进式工具发现,再把候选工具交给模型。
所以,真正挤占上下文的,是“大量工具加上全量注册”这种组合,而不是 MCP 本身。
2.Skill 是什么
模型有了工具,不代表它就知道怎样把一项工作做好。
例如,网页搜索工具能找到资料,却不知道一篇面向初学者的技术文章该怎样选题、怎么核对事实、采用什么结构,哪些地方又值得配图。类似的步骤和经验如果经常重复使用,就可以整理成 Skill。
Skill 很像给 Agent 准备的“岗位操作手册”。它会写清楚适用场景、执行步骤、可用资料和工具,以及结果要达到什么标准。
按照 Agent Skills 规范,一个 Skill 通常以SKILL.md为入口,还可以附带脚本、参考资料和模板。内容不是一股脑全部塞给模型,而是逐步加载:
先加载元数据:只提供 Skill 的名称和简短描述,让模型知道“有哪些技能、分别什么时候使用”;
命中后加载说明:模型判断当前任务需要某个 Skill 时,再读取完整的
SKILL.md和其中的执行步骤;需要时读取资源:执行过程中,再按需读取脚本、参考资料或模板。
这样,系统即使保存了很多 Skill,每次任务开始时也不用把所有操作手册都放进上下文。模型先看到一份轻量的技能目录,选定方向后,再展开具体方法和资源。
Skill 也方便更新知识和工作方法。模型训练结束后,不会自动掌握每个团队后来形成的流程。开发者只要修改SKILL.md、脚本或参考资料,就能继续补充领域知识、个人经验和任务规范,不必重新训练模型。
不同产品对 Skill 的文件结构、触发方式和加载过程可能不同,但思路相近:把一类任务的成熟做法保存下来,供 Agent 按需读取和重复使用。
Skill 的渐进加载和 MCP 的工具发现并不冲突。前者按需展开任务方法和配套资源,后者负责发现、调用外部能力。实际系统还可以继续筛选 MCP Tool,只把当前任务可能用到的工具交给模型。
3.Skill 里的 Tool 可以有哪些形式
Skill 主要保存方法和说明。写下一段操作步骤,并不会让它自动获得执行能力;读取文件、搜索网页和查询数据库,还是要靠具体的 Tool。
Skill 中使用的 Tool,常见有以下几种形式:
| Tool 形式 | 在 Skill 中怎样使用 | 谁负责执行 |
|---|---|---|
| 应用内置或已经注册的 Tool | 在说明中指定什么时候使用搜索、文件读取、命令执行等工具 | Agent 所在的应用程序 |
| Skill 附带的脚本 | 在 Skill 目录中提供 Python、Node.js 等脚本,并写明运行条件和参数 | Agent 通过命令执行环境运行脚本 |
| 普通函数或业务 API | 由应用封装成可调用工具,Skill 说明调用时机和输入要求 | 应用程序或后端服务 |
| MCP Server 提供的 Tool | Skill 指导 Agent 在特定步骤调用某个 MCP 工具 | Host 通过 MCP Client 发起调用 |
比如,一个“技术文章写作”Skill 可以要求 Agent 先用文件工具读取原稿,再用搜索工具核对资料,最后运行附带的检查脚本。Skill 安排顺序,具体动作由工具和程序完成。
放在一起看,Skill 按需提供任务方法,Tool 执行具体动作,MCP 把外部 Tool 接入 AI 应用。
04向量与张量:两个“维”说的不是一回事
1.向量:一组有序的数
先把向量看成一组有顺序的数字:
●●●CODE
[0.12, -0.85, 0.33, 0.47]这里有 4 个分量,所以它是一个 4 维向量。此处的“4 维”,说的就是向量中有 4 个数。
在 AI 中,文字、图片和声音都可以转换成向量。以文字为例,Embedding 模型会把“苹果”变成一串向量,计算机由此可以比较它与“水果”“香蕉”等内容在向量空间中的关系。
实际使用的 Embedding 往往有几百甚至几千个分量。“768 维 Embedding”,就是这个向量中有 768 个数。
2.张量:组织数字的通用数据结构
张量是深度学习中组织数字的通用数据结构,可以有一条或多条轴。在 PyTorch 等框架中,模型的输入、输出和参数通常都用张量表示。张量的 shape 记录了每条轴的长度。
用 Excel 来类比:
| 数据形态 | 常见叫法 | 张量的轴数 | shape 示例 |
|---|---|---|---|
| 一个单元格 | 标量 | 0 | () |
| 一行数据 | 向量、一维张量 | 1 | (4,) |
| 一张表格 | 矩阵、二维张量 | 2 | (3, 4) |
| 多张同样大小的表格 | 三维张量 | 3 | (2, 3, 4) |
例如,一个张量的 shape 是:
●●●CODE
(2, 2, 3)括号里有 3 个数,说明这个张量有 3 条轴,也就是三维张量。每条轴的长度分别是 2、2 和 3,因此一共有:
●●●CODE
2 × 2 × 3 = 12 个数可以把它想象成 2 张表格,每张表格有 2 行、3 列:
●●●CODE
[ [ [1, 2, 3], [4, 5, 6] ], [ [7, 8, 9], [10, 11, 12] ]]3.同样是“维”,说的可能不是一回事
“维”在这里有两种常见含义:
- 向量的维数:表示向量包含多少个分量;
- 张量的维数:通常表示张量有多少条轴,也常称阶数或秩。
shape 为(768,)的数据,既可以叫 768 维向量,也可以叫一维张量。前一种说法关注 768 个分量,后一种说法关注它只有 1 条轴。
记住这个区别就够了:“768 维向量”说的是分量数量,“二维张量”说的是轴的数量。
05Token 与 Embedding:一个负责切分,一个负责变成数字
1.字和词是人的划分,Token 是模型的划分
人读一句话时,习惯按汉字或词语来理解。模型的切法不一样:文字进入模型前,会先经过 Tokenizer,也就是分词器,被拆成一个个 Token。
Token 可以是:
- 一个完整的常见词;
- 一个汉字或词语片段;
- 一个词根或子词;
- 标点、空格等符号;
- 模型使用的特殊标记。
许多模型采用子词切分。常见内容可以保留为一个整体,少见词则被拆成更小的部分。这样既不用为所有单词和变形准备一个无限大的词表,也不会像逐字符处理那样切得太碎。BPE、Unigram 和 WordPiece 都属于常见的子词切分方法。
同一段文字换一个模型,切出的 Token 数可能就变了。模型使用的词表、切分算法和特殊标记各不相同,所以“一个 Token 等于几个汉字或几个英文单词”没有固定答案。要估算费用或上下文长度,最好直接用目标模型的 Tokenizer 计算。
2.Token 怎样变成模型能算的数字
切成 Token 只是第一步。模型真正处理的是数字,后面还要经过几次转换:
每个 Token 在词表中都有一个编号,也就是 Token ID。模型根据这个编号找到对应的 Embedding,把离散的编号变成一串可以参与计算的数。
假设一句话被切成 10 个 Token,每个 Token 的 Embedding 有 768 个分量。先不考虑批次等其他轴,模型得到的数据就是一个 shape 为(10, 768)的二维张量:
- 第一个轴长度为 10,表示 10 个 Token;
- 第二个轴长度为 768,表示每个 Token 用一个 768 维向量表示。
向量、张量、Token 和 Embedding 到这里就接起来了。
3.Embedding 还有另一种常见用法
在大模型内部,Embedding 常指把 Token ID 映射成向量。不过在知识库检索和语义搜索中,我们也会说“把一段文档做 Embedding”。
这时得到的是代表整段文本语义的向量,常用来比较两段内容是否相近。两种用法都在做“内容到向量”的转换,只是服务的环节不同:
- Token Embedding 服务于模型内部计算;
- 文本 Embedding 常用于相似度比较、检索和聚类。
4.Token 会影响什么
Token 也会直接影响我们怎样使用模型:
- API 费用通常按照输入和输出 Token 计算;
- 上下文窗口限制的是 Token 数,而不是文档页数;
- 输入越长,需要处理的 Token 通常越多;
- 大语言模型生成文字时,本质上是在不断预测下一个 Token。
简单来说,Token 决定文字怎样切分,Embedding 把切分后的内容转换成可以计算的向量。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
适用人群
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。