初识 Claude Code SKILLS

202 阅读3分钟

什么是 Skills

本文不做 Skills 的详细描述,具体的内容请看官方文档,支持中文. 阐述的 Skills 全部基于个人理解

Claude code 官方文档 Agent Skills - Claude Code Docs

Skills 出现之前的痛点

  1. Token 膨胀。对话越长,成本越高,性能越差

  2. 失忆。大模型上下文有硬性长度,超出时,会丢失

传统方式rules 方式
项目规范传递每次对话都要重复说明(如“用 TypeScript”“命名用 camelCase”)一次性在 system prompt 或规则文件中定义,后续自动生效
Token 消耗重点大量 token 用于重复解释上下文和约束token 主要用于任务描述和结构化输出,规则本身不重复传输
上下文记忆能力完全依赖对话历史,上下文满即丢失早期信息规则常驻 system 层,但交互历史仍可能被截断 → “规则记得,对话忘了”
一致性保障低(AI 容易忽略或遗忘约束)中高(只要规则在上下文中,行为较稳定)

再看看 rules 跟 Skills 的区别

rules 方式Skills 方式
规则/知识加载方式一次性加载全部规则到上下文(如 100 条规范全塞进 prompt)按需加载:只在需要时从外部(如数据库、文件、API)调用相关技能或知识
上下文压力高:规则越多,占用 token 越多,留给任务的空间越少极低:技能逻辑外置,LLM 只接收必要参数和指令
是否“失忆”是:虽然规则在 system 中,但若总上下文超限,仍可能被裁剪或失效否:知识持久化存储,通过检索或工具调用随时获取,不受上下文窗口限制
扩展性差:新增规则需修改 prompt 模板,可能超出 token 限制强:新增技能只需注册新工具,不影响现有流程
执行能力被动:只能生成文本,无法操作外部系统主动:可调用代码解释器、数据库、CLI 等,真正“做事”

补充:skills 是增量注入,同一个 skill 持续使用超过上下文窗口限制的时候,还是会失忆。 但这里失忆的不是 skills 而是 task execution trace(任务执行轨迹)

Skills目的:高效、稳定、低成本

简单理解

Skills 核心还是提示词,固化prompt,这点上跟rules类似。

在这基础上,Skills 能模块化、做到按需加载

每个skill 可具备的能力

  1. 固化prompt

  2. 缓存策略 prompt caching (走缓存,同样tokens数量价格便宜。月付费就等于 tokens 消耗少)

  3. 声明模型可调用的外部能力(如读写文件、执行shell 等)

  4. 输入输出的约束/管理(Schema)

  5. 上下文管理逻辑(对话框长度超过时,模型忘记早期重要信息)

  6. 权限与安全边界,可控制该 skill 能访问哪些资源

小结

  1. 传统 → rules:从“每次教”到“一次教完”
  2. rules → skills:从“把所有书塞进脑子”到“知道去图书馆哪找哪本书,并会自己翻”
  3. Skills = 可组合的智能行为单元

Skill可调用的外部能力

image.png

Skills 使用技巧

让 Skill 连续工作

有A B 两个 skill

场景1: 用 A 处理了2件事, 再用B处理2件事

场景2: 用A处理了1件事,B处理1件事,A处理了1件事,B处理1件事

场景1比场景2消耗的token少

场景1(A→A→B→B)通常比场景2(A→B→A→B)消耗更少的 token(尤其是缓存读取更多、总成本更低)

原因就是 skills 是增量注入到上下文中,切换skill的时候会重新注入

验证

/cost 观察前后对比即可, 类似于这种 企业微信截图_17671602081946.png