二、Skills:为 AI 配备现实世界所需的"技能包"
今天我们重点分享的就是新晋的 Skills,我称之为技能,给大模型培训像人一样赋能的技能,通过 Rules 约束大模型输出,通过 MCP 触达外部业务系统,通过知识库进行私域知识库输入,而通过 Skills 则是为大模型武装上特定技能,配备现实世界所需要的技能,高效解决问题。
Skills 是近期 Anthropic 发布了一个新特性——Claude Skills,它的目标,是让 Claude 不再只是一个「能聊天的模型」,而是一个具备可扩展、可执行技能体系的代理式 Agentic AI 工具。CodeBuddy 也是国内首家支持 Skills 的产品。
Skills 听着很诱人,到底能解决什么问题?能不能解决上面的问题,接下来,我们来看看 Skills 的设计逻辑以及应用。
2.1 Skills 设计逻辑与核心特性
- 设计逻辑: Skills 技能是包含指令、脚本和资源的文件夹集合,结合 Agent 可实现构建专业化智能体的一种方法,通过 `SKILL.md` 文件组织,为 AI Agent 提供现实世界如人一样的可按需加载的专业化技能扩展,包括工具、方法、流程、自定义能力,Skills 将通用模型转变为领域专家。
- 核心特性: 通过模块化、可组合的能力封装为技能,具备以下核心特性:
- 模块化设计:每个技能都是独立的文件夹,包含完整的指令、脚本和资源,如文档技能
- 动态加载:AI Agent 可根据任务需求按需加载相应技能
- 专业化能力:每个技能专注于特定领域,提供深度的专业知识和操作能力
- 人性化交互:模拟人类专业技能的学习和应用方式
- 可扩展性:支持自定义技能开发,满足个性化和企业级需求
- 组成拆解:
一个完整的 Skills 就是一个标准化的文件夹体系,每个技能由若干文件组成,用来描述功能、脚本和引用资料
my-skill/
├── SKILL.md (必需)
│ ├── YAML 前置元数据 (必需)
│ │ ├── name: (必需)
│ │ └── description: (必需)
│ └── Markdown 指令 (必需)
└── 捆绑资源 (可选)
├── scripts/ - 可执行代码 (Python/Bash等)
├── references/ - 参考文档
└── assets/ - 输出文件 (模板、图标、字体等)
当然我们还可以进行封装引用的Tools(工具)、Knowledge(知识库)
- SKILL.md:其中 SKILL.md 文件是最核心的文件,必须以 YAML Frontmatter 元数据开头,其中包含文件名和描述,该描述会在启动时加载到系统提示符中,如下为 PDF 例:
看起来像普通的 Prompt 文件,但它的结构和加载机制不一样。Skills 不是简单的「指令封装」,而是一个具备分层调用逻辑的知识模块体系。
如图为 PDF 在 AI 应用的技能,基于该技能进行拆解和封装,包括定义 SKiil.md 以及相关的脚本和代码解决相关的问题。
随着技能的提升, 我们可以捆绑额外的内容,AI 会在需要时加载这些内容,以 PDF 技能 Skill.md 为例:
例如在进行处理 PDF 技能中,针对不同的任务目标,AI 提供有不同的工作流和解决办法。
2.2 Skils 渐进式披露核心机制
Skills 的价值,不止是「技能封装」,更多的是对于对上下文管理的探索,我们把System Prompt、Prompt 历史对话 、Rules规范、RAG 知识库、 MCP Sever 统称为上下文
Skills 最大的设计亮点,是采用了渐进式披露机制。它不会一次性加载所有内容,而是分层、按需调用。
Level 1:元数据层(启动时加载)
• 只读取 name 和 description
• 每个 Skill 大约 100 tokens
• 让系统知道「具备哪些可用能力」
Level 2:核心指令层(任务触发时加载)
• 当任务匹配时,读取 SKILL.md 正文
• 通常不超过 5000 tokens
• 描述主要流程、操作要点和约束条件
Level 3:资源层(按需加载)
• 脚本、模板、参考文档等
• 仅在执行阶段读取,不进入上下文
• 理论上没有 token 限制
可以理解为:系统只在需要时打开相应的「技能模块」,让上下文始终保持 最轻量、最高效。对比传统 Prompt 而言,Skills 则是模块化 Prompt + 上下文调度系统。通过上面机制,解决众多实际问题。
2.3 Skills 如何在上下文中发挥能力
回到开篇我自己处理问题的和 PDF 的例子,我们回到处理现场,仅仅一个分割的技能,按照以往我可能是每页进行截图, 对于技术小白则可能很难,即使有很多的知识库,就和模型一样。相比而言,知识固然重要,但如何应用好知识, 团队快速通达目的地的才是我们最期望的,在与 AI 协作中,我们需要 AI 按照我的工作流程场景和需要帮我们快速交付结果。那么就得将我们每个人的的私域经验显性化表达出来,类似原来的Promp 提示语工程,或是 Rules、RAG。
借助 Skills 的思路,我们把团队的流程,方法,工具,规则,技术,知识,个体的私域经验进行显性化,组装为一个 Skills ,这些我们都提前定义好, 让 AI 按照Skills 进行解决。所以 Skills 实际是隐性经验的集大成者。
在解决特定场景下的业务问题及各工具链上,我们看 Skills 在上下文中如何发挥能力, 以及与 Rules、MCP、RAG 之间的协作关系:
Skills 和 Agent 的关系:
Agent 从架构层面我们可以归为基于模型和资源层之上的应用层,在 Agent 之上我们可以定义 System Prompt 、引用外部知识库、MCP 等外部工具,但是如何引用、能够进行标准化的给到 Agent ,但实际过程我们更好关注的是问题解决,因此将其组合,利用 Skills 的方式进行包装为一个技能,Agent 协助做拆解、规划、执行与反思,而 Skills 能更好的帮我们在拆解和执行上做更细粒度的标准化拆解,可定义为提供能力与服务中间层。
Skills 和 MCP 的关系:
实际技能模板纳入了解决特定场景问题需要的工具和外部能力,这些能力可以是通过 MCP 的方式接入。我们可以理解为通过 Skills 定义对 MCP 能力进行组装和编排。
Skills 和 Rules 的关系:
在 Skills 中通过引用 Rules ,给 AI 行为提供约束和知道,确保 AI 能够按照既定的风格规则进行规范化输出。
Skills 和 RAG 的关系:
在 Skills 定义中会更加清楚的说明具体知识库的应用规则,给出更加准确的知识库检索流程与应用规范。让 AI 是有目的的查询。
另外,近期CodeBuddy 等工具,也支持了 Slash Commands,相比 Skills , 期有如下差异
特性 | Skills | Slash Commands |
|---|---|---|
触发方式 | AI 模型自动识别并调用 | 用户手动输入命令 |
使用场景 | 专业领域任务处理 | 快捷操作和工作流 |
权限控制 | 持工具白名单限制 | 无特殊权限控制 |
工作目录 | 支持自定义基础目录 | 使用当前工作目录 |
可见性 | 对用户透明,AI 自动决策 | 用户主动发起 |
简单来说: 两者是相互互补的
- Slash Commands 指令是用户主动调用的快捷方式
- Skills 是 AI 根据任务需求自动选择的专业能力
2.4 Skills 解决了哪些实际问题
1.封装专业知识,解决「 专业问题」
将特定领域的最佳实践和操作流程封装成可复用的技能,高效完成特定任务
2.扩展 AI 能力边界,组合技能解决「能力问题」
让 AI 能处理更专业、更复杂的任务及更多能力边界的事情,多个 Skills 可组成协同工作,持续进行学习优化,例如很多大模型无法直接处理和生成 PPT
3.上下文窗口的「成本问题」
以前,一个复杂任务的指令往往要塞进上下文。现在,通过分层加载,Claude Skills 可以节省大量 token 成本,在复杂任务中可降低 40%-60% 的上下文占用。
4.知识的「可复用性」
Skills 文件可一次创建、共享、复用、更新,团队成员可以共用同一技能库。这让「隐性经验」第一次可以以结构化形式沉淀下来。
5.提供 SOP 工作流模板,执行的「确定性」
Skills 可以调用脚本完成具体操作,把任务处理流程(SOP)逻辑写清楚、标准化,减少「理解偏差」。这让模型的执行更可靠,也更容易追踪,工作效率得以大幅提升。
接下来,我们将围绕几个案例 case,进行快速上手和实践,可以直接一步步操作。
学员评价