前置知识
阅读本文前,建议先了解:
- 01-Skill 的定义与作用 - Skill基本概念
- 模型上下文协议 MCP - MCP基础概念
一、为什么需要了解Skill与MCP的关系?
很多初学者容易混淆Skill和MCP,认为它们是”竞争关系”。实际上,它们是互补关系,解决不同层面的问题。
┌─────────────────────────────────────────────────────────────┐
│ AI Agent系统架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 应用层:Claude Code │ │
│ │ │ │
│ │ ┌───────────────┐ ┌───────────────┐ │ │
│ │ │ Skill │ │ MCP │ │ │
│ │ │ (能力模块) │ │ (外部连接) │ │ │
│ │ └───────────────┘ └───────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 工具层:内置Tool / MCP服务器 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 资源层:文件系统、API、数据库 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
二、Skill和MCP到底是什么?
2.1 Skill:AI的”能力包”
Skill 像是给AI安装”技能包”——告诉AI”怎么做”。
Skill的核心作用:
┌─────────────────────────────────────┐
│ 📚 知识封装 │
│ - 特定领域的专业知识 │
│ - 最佳实践和方法论 │
│ - 操作流程和规范 │
├─────────────────────────────────────┤
│ 🎯 任务规划 │
│ - 告诉AI如何分析问题 │
│ - 指导AI 一步步完成任务 │
│ - 提供检查点和注意事项 │
└─────────────────────────────────────┘
举例:一个pdf Skill封装了:
- 如何读取PDF
- 如何提取文本/表格/图片
- 常见问题怎么处理
2.2 MCP:AI的”连接器”
MCP 像是给AI配备”转接头”——让AI能连接外部世界。
MCP的核心作用:
┌─────────────────────────────────────┐
│ 🔌 工具连接 │
│ - 连接外部工具和API │
│ - 标准化调用方式 │
│ - 动态发现能力 │
├─────────────────────────────────────┤
│ 📡 数据访问 │
│ - 读取文件系统 │
│ - 访问数据库 │
│ - 获取外部资源 │
└─────────────────────────────────────┘
举例:一个MCP服务器提供:
- 文件系统操作
- GitHub API调用
- 数据库查询
三、核心区别对比
| 对比维度 | Skill | MCP |
|---|---|---|
| 本质 | 指令集+知识包 | 客户端-服务器连接 |
| 解决的问题 | ”AI不知道怎么做" | "AI无法访问外部” |
| 作用 | 提供方法论 | 提供执行能力 |
| 存放位置 | 本地文件夹 | 远程服务器 |
| 典型用途 | 封装处理流程 | 连接外部系统 |
3.1 比喻理解
Skill vs MCP = 方法 vs 行动
Skill 就像:
┌─────────────────────┐
│ 菜谱(食谱) │
│ - 告诉你如何做菜 │
│ - 火候、调料、步骤 │
│ - 但不能直接吃到 │
└─────────────────────┘
↓ 你需要
┌─────────────────────┐
│ 厨房(工具) │
│ - 炉灶、锅具 │
│ - 可以实际烹饪 │
└─────────────────────┘
↓ 这个角色
MCP ≈ 厨房
即:Skill提供"做法",MCP提供"厨房"
四、什么时候用哪个?
4.1 用Skill的场景
✅ 需要告诉AI"如何做"时:
- 封装复杂的处理流程
- 提供领域专业知识
- 标准化操作规范
- 需要跨会话复用
例如:
- "创建一个报告生成的Skill"
- "封装代码审查的流程"
- "定义Obsidian笔记规范"
4.2 用MCP的场景
✅ 需要AI"访问外部"时:
- 连接数据库查询数据
- 调用第三方API
- 访问文件系统
- 与外部系统集成
例如:
- "连接MySQL数据库"
- "调用GitHub API"
- "操作本地文件"
4.3 两者结合:最佳实践
用户请求:分析Q4销售数据并生成报告
┌─────────────────────────────────────────────────────┐
│ Step 1: Skill - 理解任务 │
│ ┌───────────────────────────────────────────────┐ │
│ │ data-analyst Skill │ │
│ │ - 理解"销售数据分析"任务 │ │
│ │ - 确定需要哪些数据 │ │
│ │ - 规划分析步骤 │ │
│ └───────────────────────────────────────────────┘ │
└────────────────────────┬────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Step 2: MCP - 获取数据 │
│ ┌───────────────────────────────────────────────┐ │
│ │ sales-db MCP服务器 │ │
│ │ - 连接销售数据库 │ │
│ │ - 查询Q4数据 │ │
│ └───────────────────────────────────────────────┘ │
└────────────────────────┬────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ Step 3: Skill - 生成报告 │
│ ┌───────────────────────────────────────────────┐ │
│ │ report-generator Skill │ │
│ │ - 按照规范生成报告 │ │
│ │ - 应用品牌样式 │ │
│ │ - 输出最终文档 │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
总结:Skill说”做什么、怎么做”,MCP说”去哪里拿数据”
五、实际应用中的选择
5.1 本地编码Agent
场景:在本地使用Claude Code进行编程
推荐:
┌─────────────────────────────────────┐
│ 主要用Skill │
│ - 封装代码规范 │
│ - 封装项目结构 │
│ - 提供最佳实践 │
├─────────────────────────────────────┤
│ 配合少量MCP(如需要) │
│ - 可能需要访问本地文件 │
└─────────────────────────────────────┘
理由:本地任务主要需要"方法指导"
5.2 需要外部集成的Agent系统
场景:构建需要连接多个外部系统的AI Agent
推荐:
┌─────────────────────────────────────┐
│ 主要用MCP │
│ - 连接数据库 │
│ - 连接第三方API │
│ - 连接企业系统 │
├─────────────────────────────────────┤
│ 配合Skill(如需要) │
│ - 封装复杂的业务逻辑 │
│ - 提供领域专业知识 │
└─────────────────────────────────────┘
理由:需要与外部世界大量交互
六、最新发展:2026年的融合
6.1 渐进式发现
2026年初,Claude Code引入了MCP渐进式发现功能,与Skill的渐进式披露机制类似:
之前:
┌─────────────────────────────────────┐
│ 全部加载到上下文 │
│ - 所有Tool定义全量输入 │
│ - 消耗大量Token │
└─────────────────────────────────────┘
现在:
┌─────────────────────────────────────┐
│ 按需加载 │
│ - 先加载简要描述 │
│ - 触发时再加载完整定义 │
│ - 节省Token │
└─────────────────────────────────────┘
这意味着Skill和MCP在效率方面趋于一致,选择时更应该关注功能需求而非性能。
七、总结
| 问题 | 答案 |
|---|---|
| Skill和MCP是竞争关系吗? | 不是,是互补关系 |
| Skill解决什么问题? | “AI不知道怎么做” |
| MCP解决什么问题? | “AI无法访问外部” |
| 本地编程用什么? | 主要用Skill |
| 连接外部系统用什么? | 主要用MCP |
| 能否一起用? | 可以,效果最佳 |
简单理解
Skill = 烹饪知识(菜谱) MCP = 厨房设备
有菜谱没厨房 = 做不了饭 有厨房没菜谱 = 不知道做什么
最佳组合:菜谱 + 厨房 = 美味佳肴
八、延伸阅读
- 01-Skill 的定义与作用 - Skill基本概念
- 02-Skill 的工作原理 - Skill如何工作
- 模型上下文协议 MCP - MCP基础概念
- 03-MCP 与 Function_Call 的区别 - MCP与Function Call对比