Skip to content

Claude Skills 中的上下文工程

Context Engineering in Claude Skills

Claude Skills 是 Anthropic 推出的一套机制,让智能体获得可复用、可持久保存的能力,同时又不会把模型的上下文窗口撑爆。

它解决了智能体设计中的一个实际问题:除非每次都重新陈述一遍所有指令、示例和边界情况,否则 LLM 什么都记不住。

Skills 把这些信息打包成一个个小巧、自包含的单元,Claude 只有在真正需要的时候才会加载它们。

这让一个智能体可以调用成百上千个专用工作流,同时又能让当前激活的上下文保持轻量。

为了让这套机制具备可扩展性,Skills 采用了一套三层的上下文管理体系,使其能够使用成百个 Skill 而不触及上下文上限。

context engineering p169 1

让我们来看看它具体是怎么运作的:

  • 第一层:主上下文(Main Context)——始终处于加载状态,包含项目配置信息。
  • 第二层:Skill 元数据(Skill Metadata)——只包含 YAML front matter,大约 2-3 行(不到 200 个 token)。
  • 第三层:激活的 Skill 上下文(Active Skill Context)——SKILL.md 文件及相关文档会按需加载。

脚本、模板之类的辅助文件不会被预先加载,而是在实际用到时才直接访问,不消耗任何 token。

这套架构能够支撑成百个 Skill 同时存在,而不会突破上下文的限制。

现在让我们进一步聚焦 Skills 背后的核心理念,因为理解它到底是什么,才能明白这套三层体系为何如此重要。

把 Skill 当作智能体的 SOP

可以把一个 Skill 想象成一套打包好的流程——一个完整、可复用的工作流,教会智能体如何始终如一地完成某项任务。

你不需要每次都重新讲解步骤、示例、约束条件和边界情况——只要把工作流定义一次,之后就能永久复用。

它相当于 AI 世界里的操作手册:结构化、可重复、自成一体。

一个 Skill 的解剖结构

一个 Skill 本质上就是一个文件夹,但里面的内容经过了精心设计:

  • 一个 skill.md 文件,包含两层上下文:
    • YAML front matter:一段极简的描述信息,Claude 用它来判断这个 Skill 何时该派上用场。
    • Skill 正文:执行过程中所需的详细指令、工作流、示例和指导说明。
  • 可选的辅助文件,比如脚本、模板或参考文档。它们不会被加载进上下文,只有在智能体需要时才会被取用。

正是这种分层设计,让 Claude 在某个具体 Skill 被激活之前,始终保持轻量。

Skills 如何融入智能体架构

Skills 并不会取代 Projects、Subagents 或 MCP——它们是彼此互补的关系:

  • Projects 负责组织你的工作空间。
  • MCP 负责把 Claude 连接到各种工具和外部服务。
  • Subagents 负责处理被委派出去的推理任务。
  • Skills 则把可复用的专业能力打包起来,供以上这些角色共同调用。

它们各自解决智能体问题中的不同层面,而 Skills 扮演的,则是那个程序性知识库的角色。

打造属于你自己的 Skill

创建过程相当直接:

  1. 找出一个你反复在做的工作流。2. 创建一个 skill 文件夹,添加一个 skill.md 文件。3. 写好 YAML front matter,再加上完整的 markdown 指令说明。4. 补充任何需要的脚本、示例或辅助资源。5. 把文件夹打包成 zip,上传到 Claude 的 capabilities 中。

Claude Desktop 甚至内置了一个「Skill Creator」Skill,能帮你自动生成这套结构。

本站内容仅供学习交流,版权归原作者所有。