1. Skills vs Prompt
|------|----------------|-----------------|
| 维度 | Prompt | Skills |
| 本质 | 单次对话的文本指令 | 可持久化、可发现的能力单元 |
| 复用性 | 随对话上下文丢失,难以维护 | 标准化封装,跨项目、多场景复用 |
| 加载机制 | 全量载入(挤占 Token) | 延迟加载(按需读取正文) |
-
Prompt:用户即时表达意图的载体(如"分析这份报表")。
-
Skills :包含元数据(何时使用)+ 正文(如何执行) 的完整方案,通过
load_skill()机制按需加载到上下文。
2. Skills vs MCP
这是最容易产生误解的地方。
|------|------------------------------|-------------------------|
| 维度 | MCP (Model Context Protocol) | Skills |
| 核心思路 | 标准化连接:通过 JSON-RPC 统一数据格式 | 逻辑编排:用自然语言描述复杂执行路径 |
| 定义方式 | 在 Server 端用代码(TS/Python)写死逻辑 | 在 SKILL.md 中用自然语言引导模型决策 |
| 环境依赖 | 需要运行一个 MCP Server 进程 | 依赖可执行环境(如本地 Shell 或沙箱) |
| 哲学 | 以协议为中心:一次编写,所有 AI 通用 | 以模型为中心:利用模型推理能力处理不确定性 |
-
MCP 解决的是连通性:它像 USB-C,让 AI 能以统一格式读文件、查数据库。
-
Skills 解决的是编排逻辑:它像一份说明书,告诉 AI 如何执行复杂任务流------这些任务完全可以包括调用多个 MCP 工具。
-
两者的关系 :它们不是竞争关系 ,而是解决不同层面的问题。MCP 负责把外部系统接入进来,Skills 负责决定什么时候用、怎么组合这些能力。一个高级 Skill 的底层往往就是调用多个 MCP 工具。

MCP 图解
3. Function Calling vs Skills
|------|------------------|--------------------------------------------|
| 维度 | Function Calling | Skills |
| 层级 | 底层机制 | 上层应用 |
| 依赖关系 | 基础能力 | 在执行时可能使用 Function Calling(如加载文档、执行脚本、读取资源) |
| 粒度 | 原子操作(单次工具调用) | 复合流程(多步骤决策 + 工具组合) |
Skills 没有创造新能力,而是通过自然语言文档将能力组织成更易用的形式:
-
Agent 读取
SKILL.md,将规则和流程注入推理上下文。 -
根据上下文指导,Agent 可能通过 Function Calling 执行脚本、读取资源或调用 MCP 工具。
4、系统总结:
|------------------|--------------------|----------|-------------------------------|
| 组件 | 一句话定义 | 形象类比 | 关键理解 |
| Prompt | 即时意图表达的载体 | 用户说的话 | 单次、易失 |
| Function Calling | LLM 输出结构化调用的能力 | 神经信号 | 一切的基础,实现非结构化 → 结构化转换 |
| MCP | 标准化的工具接入协议 | USB-C 接口 | 解决外部系统"如何接入"(连通性) |
| Skills | 用自然语言定义的 sub-agent | 任务说明书 | 解决复杂任务"如何编排"(执行逻辑),可调用 MCP 工具 |
四层关系:Function Calling 是地基 → Prompt 表达意图 → MCP 负责连通外部系统 → Skills 负责编排复杂任务流(可调用 MCP)
这里需要澄清一个常见误解:MCP 和 Skills 不是竞争关系 ,也不是非此即彼。
-
MCP 解决外部系统如何接入:让 AI 能以统一格式读文件、查数据库、调用 API。
-
Skills 解决复杂任务如何编排:用自然语言定义执行流程,这些流程完全可以包含调用多个 MCP 工具。