使用 Claude Skills 进行上下文工程:超越提示工程
了解 Claude Skills 如何实现上下文工程原则,在正确的时间为 Claude 提供正确的信息——以及为什么这比提示措辞更重要。

提示工程主导了 AI 工具的第一个时代。写好系统提示,精心制作指令,迭代直到模型表现正确。它有效——但会触及上限。
上下文工程是接下来的。它不是问"我如何写更好的提示?",而是问:在任何给定时刻,Claude 的上下文窗口中应该有什么信息,不应该有什么?
Claude Skills 在其核心是一个上下文工程架构。以这种方式理解它们——不是作为一个"功能"特性,而是作为一种有原则的上下文管理方法——解锁了大多数开发者错过的模式。
为什么巨石式提示在规模上失败
典型的沉重 CLAUDE.md 可能包含项目架构概述(始终相关)、编码风格指南(写代码时相关)、部署程序(部署时相关)、数据库模式(查询数据时相关)等。每个会话都加载所有这些,不管您实际在做什么。
对于典型的 3,000 token 混合内容 CLAUDE.md,大约 70-80% 的 token 与任何给定任务无关。您为 Claude 不需要的信息支付注意力成本。
Skills 作为渐进式披露
Claude Skills 实现了一种称为渐进式披露的模式:以最小成本预先总结一切,仅展开相关的内容。
会话开始
→ Claude 读取所有已安装 skills 的 YAML frontmatter
→ 每个 skill ~20-50 token
→ 40 个 skills ≈ 1,500 token 总开销
用户询问关于部署
→ Claude 识别部署 skill 为相关
→ 加载完整部署 skill:~800 token
→ 其他一切:不在上下文中
用户询问关于测试
→ Claude 加载测试 skill:~600 token
→ 部署 skill:已卸载
如何将巨石式上下文转换为 Skills
从大型 CLAUDE.md 迁移到基于 Skills 的架构对大多数项目来说大约需要一个小时。
之后:层级结构
.claude/
├── CLAUDE.md # ~150 token:项目名、栈、关键联系人
└── skills/
├── coding-conventions/
│ └── SKILL.md # 编写/审查代码时加载
├── deployment/
│ └── SKILL.md # 部署时加载
├── database/
│ └── SKILL.md # 处理数据时加载
└── testing/
└── SKILL.md # 编写测试时加载
会话开销:150(CLAUDE.md)+ ~35x4(skill frontmatter)= ~290 token。 每任务加载:相关 skill 的 300-800 token。
编写有效的 Skill Frontmatter
frontmatter 描述是 Claude 用来决定是否加载 skill 的依据。精确的描述很重要:
# 模糊——加载太频繁或不够频繁
---
name: database
description: Database information
---
# 更好——具体触发器
---
name: database-schema
description: Use when writing SQL queries, working with migrations, debugging
data issues, or designing new database tables for MyApp
---
context-engineering Skill
对于认真对待这种方法的开发者,context-engineering skill——拥有 8,285 星,是平台上最受欢迎的之一——将这些模式直接编码到 Claude 的行为中。
安装后,Claude 会自动:
- 建议何时一条新信息应归入 Skill 还是 CLAUDE.md
- 用优化相关性匹配的 frontmatter 构建新的 SKILL.md 文件
- 在长会话开始失去一致性时诊断上下文退化
- 对检索到的文档和日志应用动态注入模式
高级模式:分层上下文架构
对于更大的代码库,上下文工程扩展为完整的四层系统:
第 1 层:通用(~100-200 token,始终存在)
~/.claude/CLAUDE.md
您是谁。您的一般偏好。没有项目特定的内容。
第 2 层:项目(~100-300 token,按项目加载)
.claude/CLAUDE.md
此项目的技术栈、团队、关键文件。不是任务特定的。
第 3 层:领域(300-1000 token,按任务领域加载)
.claude/skills/testing/
.claude/skills/deployment/
.claude/skills/code-review/
项目内特定领域的深度专业知识。
第 4 层:动态(可变,按需检索)
来自 MCP 的错误日志
API 响应
检索的文档
数据库查询结果
设计原则:更高层包含更稳定、更不具体的信息。如果您发现自己频繁编辑全局 CLAUDE.md,任务特定的内容已经泄漏到了错误的层。
上下文工程在何时回报最大
会话较长时。 上下文积累。结构良好的 Skills 防止不相关的历史挤掉相关信息。
代码库较大时。 更多代码意味着更多潜在上下文。Skills 让 Claude 只加载与当前模块或任务相关的内容。
涉及团队时。 共享的 Skills 为每个团队成员提供相同的上下文——无需每个人维护匹配的 CLAUDE.md 文件。
项目跨越多个领域时。 当一个代码库涵盖前端、后端、数据库和基础设施时,领域特定的 Skills 防止一个领域的指令污染另一个。
开始使用
最快的第一步是审计。打开您的 CLAUDE.md 并标记每个以"当你需要..."或"如果你正在处理..."开头的部分——每个都是自己的 Skill 的候选者。
然后访问 claudeskills.info 找到可能已经编码了您正在实现的模式的社区 Skills。context-engineering skill 是任何认真采用这种方法的人的自然首选安装——它有效地教 Claude 将上下文工程纪律应用到您一起构建的一切中。
上下文工程不是清晰指令的替代品。它是使这些指令在规模上工作的基础设施——确保它们在需要时存在、不需要时缺席,并且永远不会互相竞争 Claude 的注意力。


