如果你最近在看 AI 产品、开发框架或技术推文,很容易产生一种错觉:几乎所有人都在谈同一件事,但每个人用的词都不一样。有人说自己在做 LLM App,有人说那其实是 Agent,有人强调核心是 Function Calling,有人又说未来一定是 MCP,还有人喜欢把一套经验、提示词和脚本打包成 Skill

这些词经常同时出现,但它们其实分属不同层级。有的是“模型”,有的是“系统形态”,有的是“调用机制”,有的是“连接协议”,还有的是“可复用能力包”。如果不把层级理清,讨论很容易变成鸡同鸭讲。

这篇文章想做的,就是把这些术语放回各自的历史脉络里,回答五个问题:

  1. 它到底是什么意思?
  2. 它大概是什么时候进入主流语境的?
  3. 它是为了解决什么问题而出现的?
  4. 它和别的术语是什么关系?
  5. 为什么今天大家会把它们混着说?

一句话先讲清楚

最短版本可以这样理解:

  • LLM 是会生成语言的基础模型。
  • Agent 是围绕模型构建出来、能够感知上下文并采取行动的系统。
  • Function Call 是让模型“请求调用外部能力”的机制。
  • MCP 是让模型、工具和数据源之间按统一方式连接的协议。
  • Skill 则更像一层可复用的“能力封装”或“任务配方”。

也就是说,这几个词并不在同一个抽象层上。LLM 更靠近能力底座,Agent 更靠近应用形态,Function Call 更像运行时机制,MCP 更像生态接口标准,Skill 则更像经验与能力的打包单元。

1. LLM:为什么“大语言模型”会成为新时代底座

LLM,即 Large Language Model,字面意思是“大语言模型”。如果只看定义,它并不神秘:一种在海量文本上训练、能够根据上下文继续生成文本的模型。

LLM 真正变成时代关键词,不是因为“语言模型”这个概念本身新,而是因为“规模”与“泛化能力”的拐点到了。

它的历史脉络

一条常见的技术谱系是这样的:

  • 2017 年,Google 发表论文 Attention Is All You NeedTransformer 架构成为后续大模型的基础。
  • 2018 到 2020 年之间,BERTGPT 系列让“预训练 + 下游适配”逐渐成为主流范式。
  • 2020 年,OpenAI 发布 GPT-3 论文 Language Models are Few-Shot Learners,让“只靠提示就能完成大量任务”的能力被大规模看见。
  • 2022 年 11 月 30 日,ChatGPT 发布,LLM 从研究语境正式进入大众和产业语境。

所以,LLM 这个词流行的背后,并不是学界突然发明了“语言模型”,而是产业界突然意识到:当模型足够大、训练足够广时,它不再只是一个 NLP 组件,而像一个通用接口。

它解决了什么问题

在传统软件里,我们往往需要为每个任务单独建规则、建流程、建分类器;而 LLM 的诱人之处在于,它把很多原本彼此分离的语言任务,压缩进了同一种接口里:你只需要“描述任务”,模型就能尝试完成。

这也是后来一切术语扩展的起点。因为当模型看起来像一个“通用文本计算机”时,大家自然会继续追问:它能不能不仅回答问题,还能替我操作世界?

于是,Agent 的话题开始升温。

2. Agent:一个很老的词,为什么在 LLM 时代突然翻红

很多人以为 Agent 是大模型时代才有的词,其实不是。

在 AI 与软件工程语境里,Agent 至少在 1990 年代就已经是一个成熟概念。1995 年,Michael Wooldridge 和 Nicholas Jennings 在 Intelligent Agents: Theory and Practice 这篇经典论文里系统讨论了智能体问题。那个年代谈的 Agent,核心特征通常包括:自主性、持续性、对环境的感知,以及基于目标采取行动。

所以从历史上看,Agent 不是“比聊天机器人高级一点的包装词”,而是一个比 LLM 老得多的概念。

那为什么它在 2023 年后突然爆红

因为 LLM 补上了一个关键拼图:自然语言推理与通用任务编排能力。

在过去,做 Agent 常常意味着写大量显式规则、状态机、规划器和专用模块;而在 LLM 时代,开发者开始发现,模型本身已经能承担一部分“理解目标、拆解步骤、选择工具、生成下一步动作”的职责。这样一来,很多原本昂贵且僵硬的 agent 设计,突然变得更轻、更快、更像“能先跑起来”的系统。

今天语境里的 Agent 更接近什么

如果用今天更接地气的说法,Agent 通常是:

“一个以 LLM 为核心,能读取上下文、调用工具、记住部分状态,并在多步流程里持续完成目标的系统。”

注意,这个定义里最关键的词不是“模型”,而是“系统”。Agent 往往意味着:

  • 不只回答一次,而是能连续多步执行;
  • 不只生成文本,而是能调用外部能力;
  • 不只被动响应,而是会围绕目标做决策;
  • 不只看当前对话,而是会利用更广义的上下文。

因此,Agent 不是 LLM 的同义词。更准确地说,LLM 是大脑的一部分,Agent 是把大脑、记忆、工具、状态和执行循环拼起来后的整体。

3. Function Call:为什么它是 Agent 爆发的关键基础设施

如果说 LLM 让模型会“说”,Agent 让系统会“做”,那么 Function Call 解决的就是中间最关键的一步:模型如何把“我想做什么”变成“系统可以执行什么”。

它到底是什么

Function Calling 的核心思想并不复杂:开发者先把一组可调用函数及其参数 schema 告诉模型,模型在合适的时候不直接输出自然语言答案,而是输出一个结构化的“我要调用这个函数,并传这些参数”的请求。

然后,真正执行函数的是外部程序,不是模型本身。程序把执行结果再喂回模型,模型才继续生成最终回答。

为什么 2023 年是个分水岭

2023 年 6 月 13 日,OpenAI 正式发布 function calling 能力。这件事的重要性在于,它把“模型调用工具”从零散 prompt 技巧,推进成了平台级接口。

在这之前,开发者也会通过 prompt 诱导模型输出 JSON,再由程序解析。但那种方式脆弱、容易格式漂移。Function Calling 把这个过程制度化了:函数名、参数 schema、返回流程,都开始有了更稳定的约定。

它为什么重要

因为大多数“能干活的 AI”都离不开它。

举几个最直观的例子:

  • 查天气,需要调天气 API;
  • 订会议室,需要调公司日历系统;
  • 改数据库记录,需要调用后端服务;
  • 写文件、跑命令、开网页,也都需要外部工具。

换句话说,Function Calling 让模型第一次比较可靠地“伸手”到模型外部。

很多今天被称为 Agent 的产品,本质上就是:LLM + Function Calling + 状态循环 + 外部工具

4. MCP:为什么大家开始关心“工具怎么统一接”

当 function calling 变得常见,一个新问题马上出现了:如果每个工具、每个数据源、每个平台都要各写一套接法,系统迟早会被集成成本拖垮。

这正是 MCP 出场的背景。

MCP,即 Model Context Protocol,是 Anthropic 于 2024 年 11 月 25 日公开发布的开放协议。它想解决的问题不是“模型会不会调用工具”,而是“工具和上下文能不能用统一方式暴露给模型和客户端”。

MCP 想标准化什么

可以把它理解成 AI 世界里的“统一插口”。

它尝试把下面这些东西放进同一套协议框架里:

  • 工具如何被发现;
  • 资源如何被暴露;
  • 提示模板如何被共享;
  • 客户端如何与外部能力建立双向连接。

如果说 Function Calling 更像“模型如何请求调用某个函数”,那么 MCP 更进一步关心的是:

“整个外部能力生态,能不能以统一协议被挂载、发现、描述和调用?”

它和 Function Call 是替代关系吗

不是。两者更像不同层级的互补关系。

  • Function Calling 解决的是“模型如何发出结构化调用意图”;
  • MCP 解决的是“外部能力如何以统一标准被接入和管理”。

你可以把前者理解为“调用语义”,把后者理解为“连接协议”。

也正因为如此,2025 年以后,越来越多产品开始把 MCP 当成工具互操作层,而不是单一厂商私有接口。

5. Skill:一个最容易被混用、也最不统一的词

和前面几个术语相比,Skill 是最松散、最依赖上下文的一个词。

它没有像 TransformerFunction CallingMCP 那样明确绑定到某一篇论文、某一次协议发布或某一份统一标准。相反,Skill 更像是一个产品和生态反复借用的比喻:把某种可复用能力包装成一个可装载单元。

这个词最早是怎么火起来的

在面向消费者的智能助手领域,Skill 的大众化传播可以明显追溯到 Alexa。2015 年 6 月 25 日,Amazon 发布 Alexa Skills Kit,把第三方为 Alexa 增加的新能力直接称为 skills。从那以后,skill 开始成为“给助手安装新能力”的通俗说法。

到了 LLM 时代,Skill 又发生了什么变化

在 LLM/Agent 生态里,Skill 的含义开始漂移,至少出现了几种常见用法:

  • 一组 prompt 模板和任务说明;
  • 一套工具调用流程;
  • 一段可复用的领域知识;
  • 一个包含文档、脚本、资源文件的能力包。

这也是为什么你会看到一些框架曾经把插件叫 skills,后来又改叫 plugins。例如 Microsoft Semantic Kernel 在 2023 年 10 月明确把 skills 重命名为 plugins,原因之一就是为了与 OpenAI plugin 规范更对齐。

但很有意思的是,到了 2026 年,微软又在 Agent Framework 语境里重新使用了 Agent Skills 这个说法,并把它定义为一种围绕 SKILL.md 组织的可移植能力包。这说明 Skill 并没有消失,而是在从“插件同义词”逐渐演化为“经验 + 说明 + 资源 + 脚本”的复合封装。

所以今天到底该怎么理解 Skill

如果非要给出一个尽量稳妥的定义,我会这样写:

Skill 不是模型能力本身,而是把某项任务能力以可复用形式封装起来的组织单位。

它可能包含工具,但不等于工具;它可能依赖 prompt,但不等于 prompt;它可能被 agent 调用,但不等于 agent。

6. 把这些词放回同一张图里

很多争论其实只是因为大家在谈不同层级的问题。一个更清晰的分层方式大概是:

  • LLM:能力底座,负责理解与生成。
  • Function Calling:调用机制,让模型能发出结构化动作请求。
  • MCP:连接标准,让工具、资源和提示以统一方式接入。
  • Skill:能力封装,把某个任务领域的方法、知识和脚本打包复用。
  • Agent:系统形态,把以上要素组织成一个能持续完成目标的执行体。

如果把它写成一句更直白的话,就是:

LLM 负责“想”,Function Calling 负责“喊人干活”,MCP 负责“把外部世界接进来”,Skill 负责“把经验沉淀下来”,Agent 负责“把整件事跑通”。

7. 为什么这几个词今天会被频繁混用

因为过去两年里,AI 产品形态正在快速塌缩。

以前我们会把模型、插件、自动化、集成、工作流分得很开;但现在一个真实可用的 AI 应用,往往同时具备这些属性:

  • 它背后有一个 LLM
  • 它会调用函数或工具;
  • 它需要接入外部系统;
  • 它会复用领域流程;
  • 它还能在多轮中持续完成任务。

于是,很多团队在谈“agent”时,实际指的是“带工具的大模型应用”;谈“skill”时,实际指的是“prompt + 脚本模板”;谈“MCP”时,实际又是在说“工具生态标准化”。词开始重叠,是因为系统本身开始重叠。

8. 一个更实用的区分方法

如果你在写文档、做分享,或者评审一个 AI 产品,我建议用下面这组问题来区分术语:

  • 如果你在问“核心智能从哪里来”,你谈的是 LLM
  • 如果你在问“它能不能自己规划并连续执行”,你谈的是 Agent
  • 如果你在问“模型怎么触发外部操作”,你谈的是 Function Calling
  • 如果你在问“工具和上下文怎么标准化接入”,你谈的是 MCP
  • 如果你在问“某种能力如何被沉淀、复用和分发”,你谈的是 Skill

这五个问题一旦分开,概念边界会清楚很多。

结语

回头看这条演化线,会发现一个很有意思的趋势:

AI 产业最初解决的是“模型会不会说”,接着解决“模型能不能按要求说”,然后开始解决“模型能不能调用工具做事”,再往前一步,就是“这些工具能不能统一接入”,以及“这些能力能不能沉淀成可复用资产”。

所以,这几个术语并不是彼此竞争的新旧黑话,而更像一条连续演化链上的不同节点:

LLM 出发,经由 Function Calling 连接行动能力,经由 MCP 连接外部世界,经由 Skill 沉淀可复用经验,最终在 Agent 这种系统形态中汇合。

如果非要用一句话概括,我会写:

LLM 让机器开始会说,Function Calling 让它开始会做,MCP 让它开始会连接,Skill 让经验开始可复用,而 Agent 则让这一切第一次像一个完整的软件生命体。”

参考资料