Skip to content

深入理解Claude Code:从CLAUDE.md到Hooks、Skills、Subagents

2026年6月21日

深入理解Claude Code:从CLAUDE.md到Hooks、Skills、Subagents

不同的指令,要有不同的生命周期。


核心认知:Agent vs ChatBot

Agent和ChatBot的区别在于谁来构建上下文

  • ChatBot:靠人喂,给什么材料用什么材料
  • Agent:自己搜网页、读文档、调工具,把有用的内容写进上下文,不够继续找

对于Agent来说,它只能看到上下文内的内容。通过工程手段限定Agent在哪些步骤下能看到哪些东西,就变得尤为重要。


上下文注入方法一览

方法加载时机Token成本适用场景
CLAUDE.md全程加载全程占Token项目事实:构建命令、目录结构
Rules按路径加载路径匹配时才占文件级约束:跨目录但非全局的规则
Skills按需调用只占描述(几十Token)流程模板:部署清单、发布流程
Subagents独立窗口主会话零成本隔离任务:深度搜索、日志分析
Hooks事件触发不占上下文硬护栏:安全拦截、自动格式化
Output Styles注入System Prompt永不压缩修改人设:猫娘、Proactive风格
System Prompt AppendCLI参数永不压缩临时指令:一次调用生效

详解放大

CLAUDE.md

项目的"说明书",Claude Code启动时自动读入。分两种:

  • 根目录CLAUDE.md:始终加载,全程在上下文里
  • 子目录CLAUDE.md:碰到该目录时才加载,压缩后丢失,再碰重新加载

正确用法:放事实(构建命令、目录结构)。不是放流程和约束

Rules

.claude/rules/下的markdown文件,可加路径限定:

yaml
---
paths:
  - "src/api/**"
  - "**/*.handler.ts"
---
所有API handler必须用Zod做输入校验

加路径限定后只在匹配文件时才加载,不浪费Token。

Skills

.claude/skills/下的技能包。启动时只加载名字和描述,被调用时才加载完整内容。

误区:Skill不是提示词。Skill的本质是按约定结构打包的文件夹,调用时把别人打包的文件夹喂给大模型。

Skill vs CLAUDE.md:CLAUDE.md放事实,Skill放流程。

Subagents

.claude/agents/下独立助手,在独立上下文窗口跑任务,跑完只交结论。

Skill vs Subagent:需要看中间过程→Skill。不需要,让它跑完给结论→Subagent。

典型场景:深度搜索、日志分析、依赖审计。可嵌套最深五层。

Hooks

最不像AI的机制——在settings.json里注册,指定事件发生时执行命令。

八种事件:PreToolUse、PostToolUse、PermissionRequest、SessionStart、PreCompact、Stop、SubagentStop、UserPromptSubmit。

五种动作类型:command(确定性)、HTTP、mcp_tool、prompt(模型判断)、agent。

安全铁律:任何提示词防护都不靠谱。绝对性约束用PreToolUse hook做硬护栏,exit code 2直接阻止。

Output Styles / System Prompt Append

  • Output Styles:替换默认System Prompt,权重最高,永不压缩
  • System Prompt Append:CLI参数追加内容,不替换默认指令

常见误区

❌ 错误写法✅ 正确做法
"每次X必须Y"写在CLAUDE.md里用PostToolUse hook自动执行
"绝对不要Z"写在CLAUDE.md里用PreToolUse hook做硬护栏
30行流程写在CLAUDE.md里放Skill
Rule没加路径限定加paths限定
个人偏好写在项目级文件放本地用户级文件

Dynamic Workflows

让Claude自己写编排脚本,协调多个subagent并行工作。解决三个老问题:Agent偷懒、自我偏好、目标漂移。

核心函数

  • Agent(prompt, opts?):派发子任务
  • parallel([fns]):并行执行
  • pipeline(items, ...):串行流水线

六种编排模式

  1. Classify-and-act:分类分发
  2. Fan-out-and-synthesize:扇出汇总
  3. Adversarial verification:对抗验证
  4. Tournament:锦标赛比较
  5. Generate-and-filter:生成过滤
  6. Loop until done:循环直到完成

反向用法:让workflow翻最近50个session,找出反复修正的模式,聚类成规则候选,对抗验证后写进CLAUDE.md。


总结

用途用哪个
项目事实CLAUDE.md
文件级规则Rules(加路径)
流程模板Skills
隔离任务Subagents
硬护栏Hooks
人格设定Output Styles
临时指令System Prompt Append

把所有指令塞进一个CLAUDE.md是最简单的做法,但也是最浪费的做法。


关键词:Claude Code, CLAUDE.md, Skills, Subagents, Hooks, Dynamic Workflows

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来