Leader 考核实习生:“你怎么配置 Claude Code?” 我挠头:“多写 Skills?” 她摇头:“明天别来了!”
最近 Anthropic 官方发了一篇博文标题叫《Steering Claude Code》把 Claude Code 的整套配置体系从底层逻辑到使用场景讲了个透。由于是官方团队亲自写的相当于出题人告诉你标准答案因此整篇文章的干货价值非常高。Claude Code 的调教方式Claude Code 的调教方式共有 7 种CLAUDE.md 文件、Rules 规则、Skills 技能、Subagents 子智能体、Hooks 钩子、Output Styles 输出风格以及 Append System Prompt 系统提示词追加。每种方式的核心区别在于 3 点什么时候加载到上下文长对话压缩时会不会被丢掉占用多少 token如果你把指令放错了地方AI 可能直接忽略掉你的指令白白浪费 tokens。接下来咱们挨个儿学习。Claude Code 七种调教方式总览1、CLAUDE.md - AI 的项目手册CLAUDE.md 是放在项目根目录的 Markdown 文件会话一开始就加载全程常驻在上下文中。那 CLAUDE.md 里适合放什么内容呢像构建命令、目录结构、代码规范、团队约定这些 AI 需要时刻记住的事实性信息。我在自己的 《AI 编程教程》 中多次强调CLAUDE.md 就像给新同事写的项目文档。你不需要每次都跟 AI 解释项目用的是什么技术、有什么规矩只要写一次之后都会生效。CLAUDE.md 的加载分两种方式。根目录的 CLAUDE.md 是始终加载的压缩对话时也会重新读取不会丢失。子目录的 CLAUDE.md 比如app/api/CLAUDE.md只有当 Claude 读取该目录下的文件时才会加载适合放只跟特定模块相关的约定。CLAUDE.md 加载机制官方明确建议CLAUDE.md 尽量控制在 200 行以内。原因很简单CLAUDE.md 的每一行都占 token不管当前任务会不会用到。如果你塞了 500 行进去哪怕做一个简单的前端样式调整也得带着那些后端部署规范一起加载纯属浪费。我自己就踩过这个坑之前把所有东西都往 CLAUDE.md 里堆后来发现 AI 的指令遵循度明显下降了特别是在长对话里。后来精简了一波把流程性的内容移到了 Skills 里效果立竿见影。所以记住一个原则就好CLAUDE.md 只放「事实」不放「流程」。事实和流程对比构建命令、技术栈、目录结构、命名规范是事实。部署流程、代码审查清单、发布步骤是流程应该封装为 Skills。2、Rules 规则 - 路径级的精准约束Rules 是放在.claude/rules/目录下的 Markdown 文件用来给 Claude 设定具体的约束或编码规范。它最强大的地方在于支持路径作用域。你在规则文件的头部加一个paths字段就能让这条规则只在 Claude 读取特定路径下的文件时才生效。比如我有一条规则是「所有 API 处理器必须使用 Zod 进行输入验证」我把它的作用域设为src/api/**。这样当我只是在改前端页面的时候这条规则压根不会加载也就不浪费 token。---paths: - src/api/** - **/*.handler.ts---所有 API 处理器必须使用 Zod 进行输入验证。我自己在项目中就是这么用的把数据库相关的规范限定在src/db/**下面前端相关的限定在src/components/**下面各管各的。什么时候该用 Rule而不是子目录 CLAUDE.md 呢答案是当一条规范需要跨目录生效的时候。比如所有.test.ts文件都要遵守某个测试规则用路径作用域的 Rule 更合适。子目录 CLAUDE.md 只能管它所在那个目录下面的文件。3、Skills 技能 - 按需加载的工作流Skills 放在.claude/skills/目录下每个技能是一个文件夹核心是一个SKILL.md描述文件。Skills 的渐进式加载设计非常优雅。会话开始时Claude 只会读取每个 Skill 的名称和简短描述完整的技能内容只有在被触发时才加载到上下文中。Skills渐进式加载设计这意味着你可以定义几十个 Skills但平时它们几乎不占 token。只有当你主动调用比如输入/code-review或者 AI 自动匹配到当前任务需要某个技能时完整的指令内容才会加载进来。我在.claude/skills/下面放了部署流程、代码审查清单、创建新组件的标准步骤等等。这些流程性的东西如果全写在 CLAUDE.md 里哪怕你只是说个「你好」就得白白浪费不知道多少 tokens。放在 Skills 里就不一样了需要时才加载。还有个很重要的细节。压缩对话时已触发的 Skills 会按总预算重新注入如果预算不够最早触发的技能会被优先丢弃。所以一次会话里别触发太多 Skills聚焦当前任务最重要。4、Subagents 子智能体 - 隔离的独立助手Subagents 放在.claude/agents/目录下每个文件定义一个独立的 AI 助手。跟 Skills 最大的区别在于Subagent 运行在自己独立的上下文窗口里只有最终结果会返回给主会话。所有中间过程完全不占用你主对话的上下文空间。Subagents 隔离上下文运行机制什么场景适合用 Subagent 呢比如深度搜索代码库找某个 Bug 的根因、分析日志文件定位性能瓶颈、做依赖审计检查哪些包有安全漏洞。这类任务的中间过程可能产生几万 token 的内容如果都堆在主对话里很快就会把上下文撑爆。Subagent 还支持嵌套最多可以嵌套 5 层深配合动态工作流可以编排几十甚至上百个后台 Agent 并行工作。我之前用 Claude Code 的/batch命令批量迁移 API 版本本质上就是在用 Subagent。它会自动把任务拆成十几个子任务每个在独立工作树中运行互不干扰。那 Skills 和 Subagents 怎么选呢很简单如果你想看到 AI 的执行过程并随时干预用 Skill。如果你只关心最终结果、不想被中间信息干扰用 Subagent。5、Hooks 钩子 - 确定性的自动化Hooks 是 7 种方式里最特殊的一个。前面讲的 CLAUDE.md、Rules、Skills 本质上都是给 AI 的「建议」AI 可能遵循也可能不遵循特别是在长会话或复杂场景下。但 Hooks 不一样它不是指令而是自动化代码。到了触发条件就一定会执行不需要 AI 来决定要不要做。Hooks 通过settings.json注册绑定到 Claude Code 生命周期中的特定事件比如工具调用前PreToolUse、工具调用后PostToolUse、压缩对话前PreCompact等等。Hooks生命周期事件触发最经典的用法就是每次编辑文件后自动跑 Prettier 格式化。这件事如果写在 CLAUDE.md 里AI 大概率会遵循但也可能会忘掉。用 Hook 就不存在这个问题文件一编辑Prettier 就自动执行跟 AI 模型本身无关。而且 Hook 的上下文成本几乎为零因为配置信息压根不在主上下文里。「永远不要做 X」靠指令是不够的这是官方博文里我觉得最值得记住的一个观点。你在 CLAUDE.md 里写「永远不要删除数据库迁移文件」Claude 大部分时候确实会遵守。但是在长会话、上下文压缩、或者遇到某个文件里的 prompt 注入时AI 是有可能违反这条指令的。真正的安全防线需要Hook 权限双重保障。你可以用PreToolUseHook 检查每一次工具调用一旦发现要删除数据库迁移文件就直接 exit code 2 拦截掉。再配合 Managed Settings 从组织层面强制禁止某些操作这样才能真正做到万无一失。这个思路跟我之前分析 Claude Code 源码时看到的 fail-closed 设计是类似的。Claude Code 内部的工具系统默认把所有工具当作「危险操作」处理除非工具明确声明自己是只读的。安全这件事不能指望 AI 的自觉性。指令和钩子-安全防线对比6、Output Styles 和 Append System Prompt最后两种方式我用的相对较少所以放在一起讲。Output Styles 是用来定义 Claude 输出风格和行为模式的。它放在.claude/output-styles/目录下会被注入到系统提示词中永远不会被压缩丢掉。但有一点要特别注意自定义输出风格会替换掉 Claude Code 的默认系统提示词。也就是说Claude Code 原本内置的那些关键行为比如怎么确定修改范围、什么时候加注释、遇到安全问题怎么处理自定义之后就全没了。所以官方的建议是先看看内置的几种风格够不够用别轻易去自定义。目前内置了 Proactive 主动执行、Explanatory 详细解释、Learning 协作学习这 3 种模式基本覆盖了大多数使用场景。Append System Prompt 是另一种调整 Claude 行为的方式它允许你在不修改任何文件的情况下临时给 Claude 追加一段指令。具体用法是通过 CLI 的--append-system-prompt参数传入只对当次调用生效。跟 Output Style 的区别在于它是追加而非替换不会影响 Claude Code 的默认行为。适合临时调整语气、输出格式这些轻量需求。不过官方也提到了一个限制追加的指令越多AI 对每条指令的遵循度就越低特别是指令之间有冲突的时候。什么时候该用什么一口气看完 7 种方式你可能会有点蒙。没关系官方给了几条判断标准有个印象就行。配置方式选择决策流程第一CLAUDE.md 放「事实」Skills 放「流程」。如果你的 CLAUDE.md 里有超过 30 行的步骤性内容比如部署 runbook、安全审查清单就应该把它移到.claude/skills/里面去。第二「每次 X 后做 Y」这类需求应该用 Hook不要写在指令里。比如每次编辑后跑 Prettier、提交前检查 lint、完成任务后发 Slack 通知这些都不应该依赖 AI 的记忆力。模型选择做某件事和某件事自动发生这完全是两回事。第三「绝对不能做 X」这种硬性要求需要 Hook 权限双保险。光靠指令只能做到 AI 大部分时候遵守真正的安全边界必须用确定性机制来保证。这跟写代码一个道理你不会靠注释来防止某个函数被错误调用你会用类型系统和权限检查来兜底。我的实践经验再分享几个我自己配置 Claude Code 的心得。首先是 CLAUDE.md 要有「索引」思维。不要把它当百科全书把它当目录就好。告诉 Claude 项目的基本信息然后用指针指向更详细的文件。比如写上前端组件规范见 docs/FRONTEND.md、部署流程用 /deploy 技能。这样 CLAUDE.md 保持精简Claude 需要详细信息的时候会自己去读对应文件。渐进式披露按需加载然后是 Skills我觉得这是目前最被低估的功能。我现在把很多重复性的工作流程都封装成了 Skill什么 AI 热点搜集、视频动画制作、图文创作工作流等等。Subagent 我主要用来做调研型任务。比如帮我调研一下这个库有没有替代方案、搜集信息、分析一下这个 Bug 的原因这类任务中间过程很长但最终只需要一个结论用 Subagent 可以让主对话保持干净。不过很多 AI 工具现在都能自动创建和管理 Subagent 了。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】