返回精选
AI 精选动态 智能评分 60

Claude Code 7 种配置指令全解析

来源: twitter关注列表
作者: meng shao (@shao__meng)
发布于: 2026-06-20
收录于: 2026-06-20
AI 推荐理由
首次系统对比 7 种配置机制的上下文加载时机、压缩保留与 token 成本,给出可直接落地的工程决策清单,值得收藏对照实操。
核心解读
Anthropic 官方博客详细解析 Claude Code 的 7 种配置方式:CLAUDE.md(根目录全程驻留、子目录按需加载,建议 ≤200 行)、Rules(支持 paths 路径作用域)、Skills(仅调用时载入完整内容)、Subagents(独立上下文窗口运行,最多 5 层嵌套)、Hooks(绕过压缩机制、5 种触发类型、PreToolUse 可拦截工具)、Output Styles(直接注入系统提示、永不压缩、会替换默认编程指令)、Appending System Prompt(仅本次调用生效、边际收益递减)。文中对比了 Skills 与 Subagents 选择原则、Hooks 与 CLAUDE.md 硬约束的区别,并给出 5 条实用决策原则(如 linter 用 PostToolUse Hook、危险操作用 PreToolUse Hook、部署流程用 Skills、目录级规则用 Rules paths、个人偏好用用户级配置)。
全文
驾驭 Claude Code:CLAUDE.md 配置文件、Skills、Hooks、Rules、Subagents 等 7 种指令全解析 Claude Code 最新博客,围绕七种方法展开: CLAUDE.md 文件、Rules、Skills、Subagents、Hooks、Output Styles、Appending the System Prompt。 每种方式的本质差异体现在三个维度: · 何时加载进上下文 · 会话压缩后是否保留 · 消耗多少 token、权威性如何 https://t.co/t9jRoMhfcJ 1. CLAUDE.md 文件 项目根目录下的 Markdown 文件,是最基础的配置层。 分两类加载:根目录 CLAUDE.md 在会话开始时全程驻留上下文,压缩后重新读取;子目录 CLAUDE.md 按需加载,仅当 Claude 访问该目录下文件时才触发,压缩后即失效。 关键警示:在共享仓库中,CLAUDE.md 往往像任何无人负责的配置文件一样,各团队不断追加内容却从不删减,成本在规模上会持续累积。每一行都会加载进每位工程师的每次会话,无论与当前任务是否相关。 claude 官方建议:控制在 200 行以内,指定负责人,像审查代码一样审查变更。 2. Rules 存放在 .claude/rules/ 的 Markdown 文件。 最有价值的特性是路径作用域:通过 paths 字段控制仅在触碰特定文件时才加载。例如只在 src/api/** 被访问时才注入"所有 API 处理器必须用 Zod 验证输入"的规则,而不是全程占用 token。 无 paths 限定的规则,行为等同于 CLAUDE.md——始终在场,始终消耗。 3. Skills 存放在 .claude/skills/ 的程序化工作流。 设计精妙之处:会话开始时只加载名称和描述;完整内容仅在技能被调用时才载入,可通过斜杠命令或任务自动匹配触发。 适合封装部署流程、发布检查清单、代码审查流程等固定程序,而非塞进 CLAUDE.md。Claude Code 自带若干内置 Skills,也支持自定义。 4. Subagents 存放在 .claude/agents/ 的独立助理定义。 与 Skills 的关键区别在于隔离性:子智能体在自己独立的全新上下文窗口中运行,返回给主会话的只有最终消息(通常是多个子任务的聚合结果)加上元数据,中间过程完全不污染主会话。 适合"跑完就丢"的旁路任务:深度搜索、日志分析、依赖审计。子智能体最多可嵌套五层深,支持动态编排数十到数百个后台 Agent 并行运作。 Skills vs Subagents 选择原则:想在主线程中逐步看到、随时干预 → Skills;想要隔离运行、只要最终结论 → Subagents。 5. Hooks 注册在 settings.json 中,在 Claude 生命周期的特定事件上触发(文件编辑、工具调用、会话开始等)。 这是确定性控制的唯一真正实现:Hooks 完全绕过上下文压缩机制,配置本身存在于主上下文窗口之外,因此上下文成本极低。 支持 command、HTTP、mcp_tool(确定性执行)和 prompt、agent(用模型判断)五种类型。一个 PreToolUse hook 可以拦截任何工具调用,以 exit code 2 阻止其执行。 重要观点:凡是写在 CLAUDE.md 里的"永远不要做某事",都是错误的工具选择。Claude 大多数时候会遵守,但在长会话、模糊情况或遭遇提示词注入时可能失效。真正的硬约束必须是确定性的,而 Hooks 和权限控制才是实现方式。 组织级强制管控还可以使用 Managed Settings(管理员部署,用户无法覆盖)。 6. Output Styles 存放在 .claude/output-styles/ 的文件,直接注入系统提示,永不被压缩,权威性最高。 高权威有代价:自定义输出风格默认会替换掉 Claude Code 的默认输出风格,包括"如何界定改动范围、何时添加注释、如何处理安全问题、声称完成前是否运行测试"等关键编程默认指令,使 Claude Code 退化为通用助理。 官方建议先看内置风格(Proactive/Explanatory/Learning),覆盖大多数需求,无需自己维护文件。 7. Appending the System Prompt 通过 CLI flag 在调用时追加,仅对本次调用生效,不跨会话持久化。 与 Output Styles 的区别是只增不替换,不改变 Claude 的角色设定,只是在默认角色上叠加指令。 注意边界:追加系统提示存在边际收益递减问题。提供的指令越多,Claude 的遵从度越低,若指令之间存在矛盾则尤为明显。 几个实用决策原则 1. 每次编辑后自动跑 linter × 写进 CLAUDE.md √ 用 Hook 注册到 PostToolUse 2. 禁止某类危险操作 × "Never do this" 写 CLAUDE.md √ PreToolUse Hook + exit code 2 3. 30 行部署流程 × 塞进 CLAUDE.md √ 放进 .claude/skills/ 4. 只对 API 目录生效的规则 × 无路径限定的 Rule √ 用 paths: 字段作用域限定 5. 个人习惯偏好 × 写进项目级 CLAUDE.md √ 写进用户级配置(对所有仓库生效) ![photo](https://pbs.twimg.com/media/HLOXBSbaEAA-o9A.jpg)
#技术#教程#开发者工具