🏠 总目录 📚 资料库Claude Code 实践

Steering Claude Code: When to Use CLAUDE.md, Skills, Hooks, and Subagents(引导 Claude Code:何时用 CLAUDE.md / skills / hooks / 子 Agent)

📄 来自 Claude 官方博客
原文标题
Steering Claude Code: When to Use CLAUDE.md, Skills, Hooks, and Subagents(引导 Claude Code:何时用 CLAUDE.md / skills / hooks / 子 Agent)
原文链接
https://claude.com/blog/steering-claude-code-skills-hooks-rules-subagents-and-more
作者
Michael Segner(Anthropic)
发布日期
2026-06-18
⚠️ 本页是原文的中文结构化整理笔记(保留架构、数据、案例、结论),并非逐字翻译。具体参数与功能名更新很快,落地前请点击上方链接核对原文。

12 分钟 | 🎚️ 从最轻的手段开始

🎯 一句话

引导 Agent 的手段按成本从低到高排列,永远先试便宜的那个。⭐ 大多数「模型不听话」的问题,在前两三种手段里就能解决。

📑 本页目录

Claude Code 提供七种定制行为的方式,各自在上下文成本、持久性、指令权重上有不同权衡。选型取决于三个问题:指令何时加载、长会话中如何持久、在决策中的权重多大。

七种方式全对比

方式 何时加载 压缩后行为 上下文成本 适合什么
CLAUDE.md 根目录版会话开始时加载并常驻;子目录版在读该目录文件时按需加载 每会话重读并缓存,压缩后缓存清除 (每行都吃 token,无论是否相关) 项目概览、构建命令、目录结构、编码约定、团队规范
Rules(规则) 路径限定的规则只在读匹配文件时加载;未限定的像 CLAUDE.md 一样会话开始加载 压缩时重新注入 具体约束或横切约定(如「所有 API handler 必须用 Zod 校验输入」)
Skills 名称和描述会话开始加载;正文仅在被斜杠命令或自动匹配调用时加载 已调用的技能在共享预算内重新注入,超出时最旧的先掉 程序性工作流——部署检查单、代码审查流程、发布流程
子 Agent 名称、描述、工具列表会话开始加载;正文仅在通过 Agent 工具调用时加载 只有最终摘要和元数据回到主会话,中间结果保持隔离 (调用前对父窗口零成本) 隔离的支线任务——深度搜索、日志分析、依赖审计
Hooks 注册在 settings.json、托管策略或 skill/agent frontmatter;在生命周期事件时触发 完全绕过压缩 低(配置在主上下文之外) 确定性自动化——编辑后跑 linter、完成时发 Slack、执行前拦截危险命令
Output Styles 注入系统提示词,会话开始加载 从不被压缩 (且指令权重最高) 重大角色转变(从编码助手变通用助手)
append-system-prompt 通过 CLI 参数在调用时传入 从不压缩;首次请求后缓存 中(边际收益递减) 一次性会话的领域知识、编码标准、输出格式

关键细节

四个「反模式 → 更好做法」

❌ 反模式 ✅ 更好做法
CLAUDE.md 里写「每次 X 都要做 Y」 hook 确定性地执行格式化或通知
把「绝对不要做某事」当提示词规则写 PreToolUse hook(退出码 2 拦截调用),或用托管设置做全组织护栏
CLAUDE.md 里塞 30 行的部署手册 做成 skill.claude/skills/,正文只在 /deploy 时加载
API 专用规则不做路径限定 paths: frontmatter 让它只在 src/api/** 下加载

决策框架

选型时问自己三个问题: 1. 这该什么时候加载?(永远 / 按需 / 被调用时 / 事件触发) 2. 它该如何持久?(缓存 / 重新注入 / 绕过压缩 / 只返回摘要) 3. 必须被严格遵守到什么程度?(建议性 / 具体约束 / 确定性保证)

结论

有效的定制应当:把 CLAUDE.md 当索引而非垃圾桶、把流程下放给 skills 和子 Agent、用 hooks 强制硬性护栏、把系统提示词修改留给罕见的刻意角色转变。这种分层方式能在团队规模化时仍保持指令的有效性。


✅ 检查点

  1. 为什么要按成本从低到高地尝试引导手段?
  2. 最轻的几种手段是什么?
  3. 什么时候才该动用最重的手段(如微调)?
👀 答案
  1. 因为低成本手段见效快、可逆、便于试错;而重手段(建复杂流程、微调)投入大且会固化,一旦模型或需求变了就要重做。⭐ 先便宜后昂贵,是所有调试的通用顺序。
  2. ⭐ 依次是:①把要求写清楚(明确目标和验收标准)②给出正例/反例 ③补充上下文和资料 ④提供更合适的工具。这四种都只是改输入,成本极低。
  3. ⚠️ 只有当前面所有手段都试过、且失败模式稳定可复现时。具体判据:问题不是「说不清楚」而是「模型确实不具备这个能力或风格」,并且你有足够的高质量样本。⭐ 现实中绝大多数场景,把力气花在上下文和工具上的回报远高于微调

🛑 可以停在这里

走神救援
引导手段按成本从低到高排,永远先试便宜的——大多数「模型不听话」的问题在前两三种手段里就能解决最轻的四种(都只改输入,成本极低)把要求写清楚(明确目标和验收标准)→ 给正例反例 → 补充上下文和资料 → 提供更合适的工具先便宜后昂贵的理由:低成本手段见效快、可逆、便于试错;重手段投入大且会固化,模型或需求一变就要重做。⚠️只有前面全试过、失败模式稳定可复现,且问题是「模型确实不具备这个能力或风格」而非「说不清楚」时,才该考虑微调;⭐现实中绝大多数场景,力气花在上下文和工具上的回报远高于微调