本书作者:测试开发刚哥,文章版权归个人所有,未经授权请勿转载。
Anthropic 官方专门写了一篇文章来解释。看完之后你会发现,这几个概念不仅不重复,反而各有分工,组合起来才能发挥完整的 AI 能力。
先搞懂五个概念分别是什么
Skills:一本随时能翻的操作手册
Skills 是一个文件夹,里面装着指令、脚本和资源文件。Claude 会在需要时自动发现并加载它。
你可以把 Skills 理解成给 Claude 准备的专业培训手册。比如你写一个"Excel 报表生成"Skill,里面包含公司要求的固定格式、公式模板和 Python 脚本。以后每次让 Claude 做报表,它就知道该按什么标准来。
什么时候用 Skills? 当你发现自己在多个对话里反复输入同样的指令时,就该把它做成 Skill 了。Skills 是可复用的、跨对话持久存在的。
Prompts:你当场说的一句话
Prompts 就是你在对话框里输入的那段话。它是一次性的、临时的,对话结束就没了。比如你让 Claude"帮我总结这篇文章"或者"把这段代码改成 Python 风格",都属于 Prompts。
什么时候用 Prompts? 当你只是临时给个指令、提供即时上下文,或者在进行一轮对话时,用 Prompts 就够了。
什么时候用 Skills 替代 Prompts? 如果你发现自己跨多个对话反复输入同样的指令,就该把它做成 Skill 了。比如"按团队代码规范检查空指针、并发安全、SQL 注入"、“周报按本周进展、风险问题、下周计划三段式输出"这类经常要重复的要求,做成 Skill 之后就不用每次都重新解释一遍,也能保证输出更稳定。
Projects:一个项目的专属资料室
Projects 是一个带有自己知识库和对话历史的"项目空间”。你可以在里面上传文档、设置自定义指令,进入这个项目后的所有对话都能访问这些背景知识。
什么时候用 Projects? 当你需要为某个特定项目提供固定的背景资料时,比如产品规格书、市场调研报告、竞品文档等。Projects 提供的是静态的背景知识,进入项目就始终加载。
什么时候用 Skills 替代 Projects? Projects 给 Claude 提供特定工作领域的持久上下文——比如公司代码库、一个研究项目、一个长期客户合作。Skills 则是教 Claude 怎么做某件事。一个 Project 可以包含你产品发布的全部背景,而一个 Skill 可以教 Claude 团队的写作标准或代码审查流程。如果你发现自己跨多个 Project 复制同样的指令,那就是该创建 Skill 的信号。
Subagents:一个专职的 AI 同事
Subagents 是独立的任务执行助手,只在 Claude Code 和 SDK 中可用。每个 Subagent 有自己的上下文窗口、自定义提示词和特定的工具权限。
什么时候用 Subagents? 当你需要把某个复杂任务交给一个专门的"AI 员工"独立处理时。比如你可以创建一个只读权限的代码审查 Subagent,它能看代码但不能改代码,既安全又专注。
什么时候用 Skills 替代 Subagents? 如果多个 Agent 或对话需要同样的专业知识——比如安全审查流程或数据分析方法——那就创建 Skill,而不是把这些知识硬编码到各个 Subagent 里。Skills 可移植、可复用,而 Subagents 是为特定工作流量身定制的。用 Skills 教任何 Agent 都能用的专长;用 Subagents 当你需要独立的、带特定工具权限和上下文隔离的任务执行。
MCP:连接外部世界的万能插头
MCP(Model Context Protocol)是 Claude 连接外部系统的开放标准。想让 Claude 访问 Google Drive、Slack、GitHub、数据库等外部工具,就得靠 MCP。
什么时候用 MCP? 当你需要 Claude 访问外部数据或工具时。如果你在解释"如何使用某个工具"或"遵循什么流程",那是 Skill 的事;但如果你需要 Claude 首先能连接到数据库或文件,那就是 MCP 的事。
什么时候用 Skills 替代 MCP? MCP 负责让 Claude 连接到数据;Skills 教 Claude 拿到数据后该做什么。如果你在解释"如何使用某个工具"或"遵循什么流程"——比如"查数据库时先按日期范围过滤"或"Excel 报表用这些特定公式格式化"——那是 Skill 的事。但如果你需要 Claude 首先能连接到数据库或文件,那就是 MCP 的事。两者配合使用:MCP 负责连接,Skill 负责流程知识。
一张表看懂区别
| 维度 | Skills | Prompts | Projects | Subagents | MCP |
|---|---|---|---|---|---|
| 提供什么 | 流程知识 | 即时指令 | 背景知识 | 任务委派 | 工具连接 |
| 持久性 | 跨对话 | 单次对话 | 项目内 | 跨会话 | 持续连接 |
| 包含什么 | 指令+代码+资源 | 自然语言 | 文档+上下文 | 完整代理逻辑 | 工具定义 |
| 何时加载 | 动态按需 | 每轮对话 | 项目中始终 | 被调用时 | 始终可用 |
| 能包含代码 | 是 | 否 | 否 | 是 | 是 |
| 最适合 | 专业专长 | 快速请求 | 集中上下文 | 专业任务 | 数据访问 |
实际场景:什么时候该用哪个?
场景一:统一团队的代码审查标准
你希望每次代码审查都遵循同样的规范——检查安全性、命名风格、注释完整性。如果你每次都手动写一遍要求,太累了。
解决方案: 创建一个"代码审查"Skill,把审查标准、检查清单和自动化脚本打包进去。以后 Claude 看到代码审查任务,就会自动调用这个 Skill。
场景二:让 Claude 连接公司数据库查数据
你需要 Claude 查询数据库中的订单信息,并且查询时必须先按日期范围过滤。
解决方案: 用 MCP 连接数据库(让 Claude 能访问数据),再用 Skill 定义查询流程(告诉 Claude 怎么查、怎么过滤)。两者配合使用:MCP 负责连接,Skill 负责流程。
场景三:管理一个产品开发项目的全部背景
你有一个产品开发项目,里面有产品规格书、用户研究报告、设计稿等大量资料。你希望 Claude 在讨论这个项目时始终能参考这些资料。
解决方案: 创建一个 Project,把所有项目文档上传进去。这样每次在这个项目里对话,Claude 都能自动获取背景知识。如果还需要生成技术文档或分析用户反馈,可以搭配相应的 Skills。
场景四:让一个专门的 AI 助手处理数据分析
你需要定期做数据分析,但不希望每次都在主对话里处理,而是希望有一个独立的"数据分析师"来处理。
解决方案: 创建一个数据分析 Subagent,给它配置专门的提示词和数据访问权限。这个 Subagent 还可以调用 pandas-analysis Skill 来按照团队约定的方式处理数据。
场景五:MCP + Skills 组合拳
你想让 Claude 自动从 Google Drive 读取竞品简报,用标准框架分析,然后生成一份 Excel 报告。
解决方案:
- 用 MCP 连接 Google Drive,让 Claude 能读取文件
- 创建一个"竞品分析"Skill,定义分析框架和输出格式
- 创建一个"Excel 报表"Skill,确保输出符合公司模板
Claude 会自动识别需要哪些 Skills,通过 MCP 获取数据,然后按 Skills 定义的流程完成整个任务。
常见问题
Skills 是怎么工作的?
Skills 使用一种叫"渐进式加载"的机制来保持高效。
Claude 不会一次性把所有 Skills 的内容都加载进来,而是分三步:
- 扫描元数据:Claude 先快速浏览所有 Skills 的名称和简介(每个只占约 100 个 token),判断哪些和当前任务相关。
- 加载完整指令:如果某个 Skill 匹配,Claude 才会加载它的详细指令文件(SKILL.md)。
- 按需加载资源:如果 Skill 包含可执行代码或参考文件,只有在真正需要时才加载。
这意味着你可以安装几十个甚至上百个 Skills,平时完全不占上下文空间,需要时瞬间激活。
Skills 和 Subagents 怎么选?
- 用 Skills:当你希望任何 Claude 会话都能加载和使用的能力。Skills 像培训材料,让 Claude 在特定任务上变得更专业。
- 用 Subagents:当你需要独立的、自包含的 AI 助手来独立处理任务。Subagents 像有自己上下文和工具权限的专职员工。
- 一起用:你可以让 Subagent 调用 Skills。比如一个代码审查 Subagent 可以使用语言特定的最佳实践 Skill,把 Subagent 的独立性和 Skills 的可移植专长结合起来。
Skills 和 Prompts 怎么选?
- 用 Prompts:当你给一次性指令、提供即时上下文,或者在进行对话来回时。Prompts 是反应式的、临时的。
- 用 Skills:当你有需要反复使用的流程或专长时。Skills 是主动式的——Claude 知道什么时候该用它——而且跨对话持久存在。
- 一起用:Prompts 和 Skills 天然互补。用 Skills 提供基础专长,用 Prompts 为每个具体任务提供上下文和细化要求。
Skills 和 Projects 怎么选?
- 用 Projects:当你需要为某个特定项目提供固定的背景知识和上下文时。Projects 提供始终加载的静态参考资料。
- 用 Skills:当你需要只在相关时才激活的流程知识和可执行代码时。Skills 提供按需加载的动态专长,节省上下文窗口。
- 一起用:比如一个"产品开发"Project 包含产品规格和用户研究,搭配用于创建技术文档和分析用户反馈数据的 Skills。
核心区别: Projects 说的是"这是你需要知道的",Skills 说的是"这是做事的方法"。Projects 提供你工作的知识基地,Skills 提供在任何对话、任何项目中都能用的能力。
Subagents 能使用 Skills 吗?
可以。在 Claude Code 和 Agent SDK 中,Subagents 可以像主 Agent 一样访问和使用 Skills。这让专职 Subagent 能够利用可移植的专长,形成强大的组合。
总结一下
把这五个概念串起来,可以用一句话概括各自的定位:
- Prompts = 当场吩咐一句
- Skills = 把做事的方法写进操作手册
- Projects = 给 AI 搭一个项目档案室
- Subagents = 请来专职的 AI 同事
- MCP = 打通所有外部系统的总线
它们不是互相替代的关系,而是互补的积木。Prompts 解决即时沟通,Skills 解决可复用流程,Projects 解决项目背景,Subagents 解决任务隔离,MCP 解决外部连接。搞清楚各自的边界,你就能像搭乐高一样,组合出适合自己的 AI 使用方案。
参考:https://claude.com/resources/articles/skills-explained