🤖 Skills详解

与Prompt、Projects、MCP和Subagents的对比

📝 翻译说明:本文档翻译自Anthropic官方文章 "Skills explained: How Skills compares to prompts, Projects, MCP, and subagents",仅供学习参考。
💡 核心要点:自从引入Skills以来,大家对Claude智能体生态系统的各个组件如何协同工作产生了浓厚兴趣。无论你是在Claude Code中构建复杂工作流程、通过API创建企业解决方案,还是在Claude.ai上提升生产力,了解何时使用什么工具都能彻底改变你与Claude的协作方式。

📦 什么是Skills?

🎯 定义

Skills是包含说明文档、脚本和资源的文件夹,Claude会在执行相关任务时动态发现并加载它们。可以将它们想象成专业培训手册,为Claude提供特定领域的专业知识——从处理Excel电子表格到遵循组织的品牌指南。

⚙️ Skills的工作原理

用户请求
步骤1: Claude扫描可用Skills的元数据
约100 tokens,非常轻量
步骤2: 匹配到相关Skills后加载完整说明
少于5000 tokens
步骤3: 按需加载脚本或资源文件
代码不进入上下文

📋 渐进式加载机制

层级 加载时机 Token消耗 内容 作用
Level 1 启动时 ~100 tokens 元数据(name、description) 让Claude知道有哪些Skills可用
Level 2 触发时 < 5,000 tokens SKILL.md完整内容 让Claude知道如何执行
Level 3+ 需要时 几乎无限制 脚本、参考文档 执行具体操作

🎨 Skills的组成结构

┌─────────────────────────────────────────────────────────┐
│                    Skill 文件夹                          │
│                                                          │
│   ┌─────────────┐   ┌─────────────┐   ┌─────────────┐  │
│   │  SKILL.md   │   │   Script    │   │  Reference  │
│   │  (说明书)   │   │  (脚本)     │   │  (参考资料) │
│   │             │   │             │   │             │
│   │ •使用场景   │   │ •可执行代码 │   │ •API文档    │
│   │ •使用方式   │   │ •自动化脚本 │   │ •模板引用   │
│   │ •操作步骤   │   │ •工具实现   │   │ •关联上下文 │
│   │ •注意事项   │   │             │   │             │
│   └─────────────┘   └─────────────┘   └─────────────┘  │
└─────────────────────────────────────────────────────────┘
    

✅ 何时使用Skills

当需要Claude一致且高效地执行专业任务时,选择Skills。它们非常适合:

💡 示例:创建一个品牌指南Skill,包含公司的色彩方案、排版规则和布局规范。当Claude创建演示文稿或文档时,它会自动应用这些标准,而无需每次都解释。

💬 什么是Prompts?

🎯 定义

Prompts是你在对话中以自然语言提供给Claude的指令。它们是临时的、对话式的——你在当下提供上下文和方向。

✅ 何时使用Prompts

💡 Pro提示:Prompts是与Claude交互的主要方式,但它们不会在对话之间持久化。对于重复的工作流程或专业知识,考虑将Prompts捕获为Skills或项目指令。

🔄 何时用Skill替代Prompt

如果你发现自己在多个对话中反复输入相同的Prompt,就是时候创建一个Skill了。将以下重复性指令转换为Skills:

这样可以节省每次解释程序的时间,并确保执行的一致性。

📁 什么是Projects?

🎯 定义

Projects是自包含的工作空间,拥有自己的聊天历史和知识库。每个项目包含一个200K的上下文窗口,你可以上传文档、提供上下文,并设置适用于该项目中所有对话的自定义指令。

✅ 何时使用Projects

💡 示例:创建一个"Q4产品发布"项目,包含市场研究、竞争对手分析和产品规格。该项目中的每个聊天都可以访问这些知识,而无需重新上传或重新解释上下文。
⚠️ 关键区别:Projects说"这是你需要知道的"。Skills说"这是如何做事情的方法"。Projects提供你工作的知识库。Skills提供随处可用的能力——任何对话、任何项目。

🤖 什么是Subagents?

🎯 定义

Subagents是专业的AI助手,拥有自己的上下文窗口、自定义系统提示和特定的工具权限。在Claude Code和Claude Agent SDK中可用,Subagents独立处理离散任务并将结果返回给主智能体。

✅ 何时使用Subagents

💡 示例:创建一个代码审查Subagent,只拥有Read、Grep和Glob工具的访问权限,没有Write或Edit权限。当你修改代码时,Claude会自动委托给这个Subagent进行质量和安全审查,而不会产生意外代码更改的风险。

🔗 什么是MCP?

🎯 定义

MCP(Model Context Protocol,模型上下文协议)在AI应用程序和你现有的工具与数据源之间创建一个通用连接层。这是一个开放标准,用于将AI助手连接到数据所在外部系统——内容仓库、业务工具、数据库和开发环境。

✅ 何时使用MCP

💡 示例:通过MCP将Claude连接到公司的Google Drive。现在Claude可以搜索文档、读取文件并参考内部知识,无需手动上传——连接会自动持久化和更新。
🎯 MCP vs Skills:MCP连接Claude到数据;Skills教Claude如何使用这些数据。如果你需要解释如何使用工具或遵循程序——比如"查询数据库时总是先按日期范围过滤"或"用这些特定公式格式化Excel报表"——那就是Skill。如果你需要Claude首先访问数据库或Excel文件,那就是MCP。两者结合使用:MCP负责连接,Skills负责程序性知识。

📊 对比总结

特性 Skills Prompts Projects Subagents MCP
提供内容 程序性知识 即时指令 背景知识 任务委托 工具连接
持久性 跨对话 单次对话 项目内 跨会话 持续连接
包含内容 指令+代码+资源 自然语言 文档+上下文 完整智能体逻辑 工具定义
加载时机 动态,按需 每轮 项目内始终加载 调用时 始终可用
可包含代码 ✅ 是 ❌ 否 ❌ 否 ✅ 是 ✅ 是
最佳用途 专业技能 快速请求 集中上下文 专门任务 数据访问

🚀 如何协同工作

💡 示例:研究智能体

让我们构建一个综合研究智能体,结合多个构建块:

步骤1:设置Project

创建一个"竞争情报"项目并上传:

步骤2:通过MCP连接数据源

启用MCP服务器:

步骤3:创建专业Skills

创建一个"竞争分析"Skill,提供分析框架和最佳实践。

步骤4:配置Subagents

创建专门的Subagents:

步骤5:激活研究智能体

当你问Claude:"分析我们三大竞争对手如何定位其新AI功能,并识别我们可以利用的差距"

会发生什么:

❓ 常见问题

Skills vs Prompts:何时使用什么

使用场景 推荐 原因
一次性指令、即时上下文、对话式来回 Prompts 反应性的、临时的
需要重复的程序或专业知识 Skills 主动的、跨对话持久化
两者结合使用 Skills + Prompts Skills提供基础专业知识,Prompts提供具体上下文和优化

Skills vs Projects:何时使用什么

使用场景 推荐 原因
需要背景知识和上下文,应该指导特定计划的所有对话 Projects 提供静态参考材料,始终加载
需要程序性知识和可执行代码,只在相关时激活 Skills 提供动态专业知识,按需加载,节省上下文窗口

Skills vs Subagents:何时使用什么

使用场景 推荐 原因
想要任何Claude实例都可以加载和使用的能力 Skills 像培训材料,让Claude在所有对话中更擅长特定任务
需要完整的、自包含的智能体,设计用于独立处理工作流程 Subagents 像专业员工,拥有自己的上下文和工具权限
想要具有专业知识的Subagents 两者结合 例如,代码审查Subagent可以使用Skills来遵循语言特定的最佳实践

Subagents可以使用Skills吗?

是的!在Claude Code和Agent SDK中,Subagents可以像主智能体一样访问和使用Skills。这创造了强大的组合,专门的Subagents可以利用可移植的专业知识。

例如,你的python-developer Subagent可以使用pandas-analysis Skill来遵循团队约定执行数据转换,而你的documentation-writer Subagent可以使用technical-writing Skill来一致地格式化API文档。

🏁 入门指南

准备好用Skills构建了吗?以下是开始方法:

Claude.ai用户:

API开发者:

Claude Code用户: