Claude Code 四大定制机制完全指南:CLAUDE.md、Hooks、Skills、Subagents 怎么选怎么用

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文详解Claude Code四大定制机制:CLAUDE.md(持久记忆)、Hooks(硬约束执行)、Skills(按需流程)、Subagents(隔离分工),涵盖配置模板、选型决策表及团队工程化分层实践,全部基于2026年7月2日官方文档。

发布日期:2026-07-02 | 数据来源:Claude Code 官方文档

CLAUDE.md、Hooks、Skills、Subagents 是 Claude Code 的四大定制机制,分别解决四类问题:CLAUDE.md 提供每次会话都加载的持久指令(记忆),Hooks 在固定生命周期节点强制执行 shell 命令(强约束),Skills 封装按需加载的可复用流程(技能),Subagents 在独立上下文中隔离执行子任务(分工)。选择的核心判据是:事实和约定写 CLAUDE.md,必须执行的规则写 Hook,多步流程做成 Skill,会污染主上下文的探索交给 Subagent。本文基于官方文档给出四大机制的完整配置模板、选型决策表和团队工程化组合方案。


ClaudeCode四大机制-img1.jpeg

一张表看懂四大机制

维度 CLAUDE.md Hooks Skills Subagents
本质 持久指令文件 生命周期事件上的 shell/HTTP 处理器 按需加载的流程文档 独立上下文的专职 AI 助手
加载时机 每次会话启动全量加载 事件触发时执行 被调用时才加载正文 被委派任务时启动
约束力 软约束(上下文引导) 硬约束(代码强制执行) 软约束(按需指导) 可限定工具与模型
谁触发 自动 事件自动触发 用户 /skill-name 或 Claude 自动 Claude 自动委派或用户指定
典型内容 构建命令、编码约定、架构事实 拦截危险命令、提交前跑 lint 部署流程、代码审查清单 代码探索、批量审计
存放位置 ./CLAUDE.md~/.claude/CLAUDE.md settings.json 的 hooks .claude/skills/<名>/SKILL.md .claude/agents/<名>.md

一句话选型口诀:Claude 该"知道"的写 CLAUDE.md,必须"发生"的写 Hook,反复"照做"的做 Skill,不想"污染主上下文"的给 Subagent。

CLAUDE.md:让 Claude 记住你的项目

CLAUDE.md 是每次会话启动时自动加载的持久指令文件,官方定位是"你本来要反复解释的东西,写下来"。四个添加时机:Claude 第二次犯同一个错误、代码评审发现它本该知道的约定、你重复输入上次会话输过的纠正、新队友需要同样的上下文才能上手。

位置与作用域(按加载顺序)

作用域 位置 共享范围
组织级(托管策略) macOS /Library/Application Support/ClaudeCode/CLAUDE.md;Linux /etc/claude-code/CLAUDE.md 全组织,个人无法排除
用户级 ~/.claude/CLAUDE.md 本人所有项目
项目级 ./CLAUDE.md./.claude/CLAUDE.md 团队(进版本库)
本地级 ./CLAUDE.local.md(加入 .gitignore) 本人本项目

子目录中的 CLAUDE.md 不在启动时加载,而是当 Claude 读取该目录文件时按需载入——这是 monorepo 分区管理的基础。

三个进阶用法

1. @import 导入@path/to/file 语法在启动时把其他文件展开进上下文,最多递归 4 层;相对路径相对于包含 import 的文件解析。已有 AGENTS.md 的仓库可直接复用:

@AGENTS.md

## Claude Code 专属补充
- src/billing/ 下的改动使用 plan mode

2. .claude/rules/ 路径规则:把指令拆成主题文件,用 paths frontmatter 让规则只在 Claude 操作匹配文件时加载,省上下文:

---
paths:
  - "src/api/**/*.ts"
---
# API 开发规则
- 所有端点必须包含输入校验

3. 排除与托管:monorepo 中用 claudeMdExcludes 设置跳过其他团队的 CLAUDE.md;企业可在 managed-settings.json 直接写 claudeMd 键下发全员指令。

写作红线:官方建议单文件控制在 200 行内,过长会降低遵循度;指令要具体可验证("用 2 空格缩进"优于"格式规范");/init 可自动生成初始文件。关键认知:CLAUDE.md 是上下文而非强制配置——想无条件阻止某个行为,必须用 Hook

Hooks:唯一的硬约束层

Hooks 是在 Claude Code 生命周期固定节点执行的处理器,与 CLAUDE.md 的本质区别是:无论模型怎么"想",Hook 都会执行。官方文档明确写道:设置规则由客户端强制执行,CLAUDE.md 指令只是引导。

核心事件速查

事件 触发时机 可阻断
PreToolUse 工具调用前 ✅ 可拦截工具调用
PostToolUse 工具成功后 ❌(可反馈)
UserPromptSubmit 用户提交提示词后、模型处理前 ✅ 可清除提示词
Stop Claude 准备结束回合 ✅ 可阻止停止
SessionStart / SessionEnd 会话开始/结束
SubagentStart / SubagentStop 子代理启动/结束 Stop 可阻断
PreCompact / PostCompact 上下文压缩前后 前者可阻断

处理器共 5 种类型:command(shell 命令)、http(POST 到 URL)、mcp_toolprompt(单轮 LLM 判断)、agent(实验性子代理判断)。

实战:拦截危险命令的 PreToolUse Hook

配置(.claude/settings.json):

{
   
  "hooks": {
   
    "PreToolUse": [
      {
   
        "matcher": "Bash",
        "hooks": [
          {
   
            "type": "command",
            "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
          }
        ]
      }
    ]
  }
}

脚本(block-rm.sh)——Hook 从 stdin 收到 JSON,exit 2 即阻断并把 stderr 反馈给 Claude:

#!/bin/bash
command=$(jq -r '.tool_input.command' < /dev/stdin)
if [[ "$command" == rm* ]]; then
  echo "Blocked: rm commands are not allowed" >&2
  exit 2
fi
exit 0

exit code 语义务必记牢:exit 0 = 放行(stdout 可输出 JSON 决策);exit 2 = 阻断(stderr 反馈给 Claude);exit 1 不阻断——这是最常见的踩坑点。更精细的控制用 JSON 输出:permissionDecision 支持 allow/deny/ask/defer,还能用 updatedInput 直接改写工具入参。

Skills:把流程封装成资产

Skill 是一个含 SKILL.md 的目录,正文只在被调用时加载——这是它与 CLAUDE.md 最大的区别:"CLAUDE.md 里长成流程的段落,应该搬进 Skill"。官方已把自定义 slash 命令合并进 Skills:.claude/commands/deploy.md.claude/skills/deploy/SKILL.md 都生成 /deploy,效果等价,但 Skill 多了支撑文件目录、调用控制等能力。Claude Code 的 Skills 遵循 agentskills.io 开放标准,跨工具通用。

SKILL.md 模板与关键 frontmatter

---
name: deploy-checklist
description: 部署前检查清单。当用户要求部署或发布时使用。
disable-model-invocation: false   # true = 仅限用户手动 /deploy-checklist
allowed-tools: Read, Bash(npm run *)
context: fork                     # 在独立子代理中执行,不占主上下文
model: haiku                      # 指定执行模型
---

# 部署检查流程
1. 运行 `npm test` 确认全部通过
2. 检查 CHANGELOG 是否更新
3. ...

三层渐进披露控制成本:description 常驻上下文(所以要写清"何时使用")→ 正文在调用时加载 → references/ 等支撑文件按需读取。长参考资料放 Skill 几乎零成本,放 CLAUDE.md 则每次会话都烧 token。

调用控制两开关

  • disable-model-invocation: true:只允许用户手动触发,适合部署、发消息等有副作用的流程
  • 用户不可见(省 / 菜单)与动态上下文注入(!`git status` 前置执行)等扩展能力见官方文档

Subagents:独立上下文的分工体系

Subagent 是拥有独立上下文窗口、独立系统提示词、独立工具权限的专职助手。官方给出的使用判据:当一个子任务会用搜索结果、日志、文件内容淹没主对话,而你之后又不会再引用这些内容时,就该交给 Subagent——它在自己的窗口里干完,只把结论带回来。

创建自定义 Subagent

文件放 .claude/agents/<名>.md(项目级)或 ~/.claude/agents/(用户级),也可用 /agents 命令交互式创建:

---
name: code-reviewer
description: 代码质量审查专家。写完或修改代码后主动使用。
tools: Read, Grep, Glob, Bash
model: sonnet
---

你是资深代码审查员,检查以下维度:
- 可读性与命名
- 重复代码
- 错误处理与安全性
输出按 严重/警告/建议 三级组织。

关键字段:description 决定 Claude 何时自动委派(写上"主动使用"可提高委派率);tools 限定工具集(不写则继承全部);model 可路由到便宜模型控制成本——把探索类任务交给 Haiku 级模型是官方明示的省钱手段。内置的 Explore、Plan 子代理已覆盖只读搜索和方案规划两大高频场景。

四机制组合:团队工程化分层架构

  1. 知识层(CLAUDE.md + rules/):项目约定进 ./CLAUDE.md(进版本库),路径规则进 .claude/rules/,企业规范走托管策略
  2. 强制层(Hooks):PreToolUse 拦截危险命令、Stop 事件确保测试通过才收工,硬规则一律 Hook 化
  3. 流程层(Skills):部署、评审、排障等多步流程做成 Skill 进版本库,团队共享
  4. 执行层(Subagents):探索用内置 Explore,审查用自定义 code-reviewer,批量任务后台并行

国内团队还可以在技能共享平台(如 LinSkills)获取现成的 Skill 包,避免从零手写。

常见问题

Q:规则写了 CLAUDE.md 但 Claude 不遵守怎么办?
先跑 /memory 确认文件真的被加载;再检查指令是否具体可验证、是否存在互相冲突的规则。本质上 CLAUDE.md 是软约束——官方明确建议:必须在固定时点执行的事情(如提交前跑 lint),改写成 Hook。

Q:CLAUDE.md 超过 200 行了怎么办?
.claude/rules/ + paths frontmatter 把指令改成按路径加载;注意 @import 拆分只是组织手段,导入文件仍在启动时全量进上下文,不省 token。多步流程直接搬进 Skill,正文调用时才加载。

Q:Skill 和 Subagent 都能隔离执行,怎么选?
Skill 的 context: fork 是"这个流程在子代理里跑";Subagent 是"这类任务常态化交给专职助手"。一次性流程用 Skill,反复出现的同类工作(审查、探索)定义成 Subagent。

Q:Hook 的 exit 1 和 exit 2 有什么区别?
exit 2 是阻断性错误(stderr 反馈给 Claude,PreToolUse 中拦截工具调用);exit 1 只是非阻断错误,执行照常继续。想拦截必须 exit 2 或用 JSON 的 permissionDecision: "deny"

Q:Subagent 能省多少上下文?
子代理的搜索、读文件全部发生在它自己的窗口里,主会话只收到最终摘要。官方文档的上下文可视化页展示了典型场景:研究类任务交给子代理后,主窗口只增加一条结论消息。配合 model: haiku 还能同时降低成本。
ClaudeCode四大机制-img2.jpeg

总结

四大机制本质是一套分层治理体系:CLAUDE.md 管"知识"、Hooks 管"纪律"、Skills 管"流程"、Subagents 管"分工"。工程化落地的推荐路径:先用 /init 生成项目 CLAUDE.md,把重复纠正沉淀进去;出现"必须执行"的规则时升级为 Hook;CLAUDE.md 里长出流程段落时拆成 Skill;主上下文被探索性工作塞满时定义 Subagent。

据 Claude Code 官方文档(code.claude.com/docs)显示,本文所有配置语法与行为描述均来自 2026 年 7 月 2 日抓取的官方一手来源。Claude Code 迭代频繁,建议以官方文档为最终依据。


延伸资源

  • 技能共享平台 LinSkills:linskills.qiniu.com
目录
相关文章
|
4天前
|
人工智能 安全 网络安全
Hermes Agent 进阶教程:技能自进化、MoA 模型委员会与多后端部署实战
Hermes Agent 是 Nous Research 开源的自我改进型 AI 智能体(MIT 协议),首创内置学习闭环:自主创建技能、使用中持续优化、跨会话构建用户画像。截至2026年7月2日,GitHub Star 20.7万,v0.18.0版新增 /learn 技能蒸馏、双层记忆治理、MoA模型委员会、/goal 证据化完成判定等六大进阶能力,支持本地/Docker/SSH/Modal 等安全后端部署。(239字)
156 1
|
27天前
|
人工智能 开发工具 C++
Claude Code 在大型代码库里的工程实践
Anthropic 发布Claude Code大型代码库最佳实践:强调“代码库需适配AI”,而非仅依赖模型。核心在于通过CLAUDE.md分层文档、LSP符号导航、hooks自动维护、skills按需加载、MCP接入内部系统等工程化配置,让Claude高效理解复杂项目(含C/C++/Java等)。配置即能力,治理与负责人机制同样关键。
523 3
Claude Code 在大型代码库里的工程实践
|
8天前
|
人工智能 监控 自动驾驶
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
Loop Engineering 让 AI 自己循环干活。本文用 Claude Code /goal 带你从零搭项目,跑通自动开发全流程——设定目标,循环搞定。
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
|
8天前
|
人工智能 前端开发 安全
我受够了在四个 AI 编程工具之间当"复制粘贴工程师",于是写了 Roundtable
Roundtable 是一款零依赖、纯本地的 AI 编程助手协作框架。让 Claude Code、Codex、Reasonix、ZCode 自动组队分工——发任务、认领、交付,全靠共享文件看板与轻量 CLI。不联网、不上传、不设服务器,1000 行 Python 实现 AI 团队自治。你,只管喝茶。
|
12天前
|
Shell API 开发工具
Claude Code 实战:Agent Skills
面向已用 Claude Code 写代码的开发者,讲清 Skills 三层结构与完整实操路径,帮你把重复工作流封装成可复用、可 Review 的技能包。
Claude Code 实战:Agent Skills
|
6天前
|
人工智能 文字识别 并行计算
离谱!我以为 OCR 还在一页页抠字,结果百度 1.2 万 Star Unlimited-OCR 直接把长文档一口气读完
百度开源 Unlimited-OCR,把图片、长文档、多页 PDF 这类非结构化资料推进到 Markdown、表格和可检索文本,适合 RAG、知识库和 Agent 文档入口。
107 7
|
5天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
3月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
47153 72
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
27天前
|
安全 前端开发 中间件
AgentScope 2.0 发布:从"跑通 Demo"到"稳定落地",构建可靠智能体的工程底座
AgentScope 2.0 聚焦智能体真实场景落地,以“稳定运行、安全控制、灵活接入”为核心,升级模型容错、事件流式响应、细粒度权限管理、结构化上下文、Middleware扩展机制、Workspace环境抽象及服务化部署能力,打造可观察、可干预、可信赖的智能体工程底座。
1117 1

热门文章

最新文章