← 返回博客

Claude Code 三层配置:身份 · 领域 · 项目

把身份、领域规则和项目快照分层拆开,Claude Code 才能既稳又轻。

用 Claude Code 写了几周工程计算工具后,我把原本臃肿的单体 CLAUDE.md 拆成了三层——L1 身份与通用规则、L2 领域细则、L3 项目快照。这篇记录一下为什么这样分,以及这套结构带来的改变。

单层配置的瓶颈

把所有规则塞进 ~/.claude/CLAUDE.md,问题很快就冒出来:

  • 信息过载:每次会话都加载全部规则,代码风格、文档骨架、笔记结构混在一起
  • 冲突频发:应用构建和方案设计的要求完全不同,硬堆在一个文件里互相干扰
  • 改一处就虚:担心牵连别的场景,久而久之不敢动

三层是怎么切的

~/.claude/
├── CLAUDE.md                # L1:身份 + 通用规则 + 路由表(始终加载)
└── docs/
    ├── app-development.md   # L2-A:应用构建
    ├── technical-design.md  # L2-B:技术方案设计
    ├── knowledge-notes.md   # L2-C:知识笔记整理
    └── project-template.md  # L3 模板(新建项目时读取)

<project>/
└── CLAUDE.md                # L3:项目快照(进入项目时自动加载)
  • L1 只放「我是谁、怎么沟通、通用代码风格、路由表」,任何会话都加载
  • L2 按工作类型拆:应用构建 / 方案设计 / 知识笔记,按需读取,不预加载
  • L3 是项目级快照:目标、关键决策、文件结构、依赖、任务清单、已知坑;cd 进项目目录即加载

优先级 L3 > L2 > L1,越具体的层级越优先;L3 里还能显式 overrideignore L2 的某些规则。

路由表是关键

L1 里一张最小路由表,命中关键词才去读对应的 L2 文件:

工作类型中文触发词L2 文件
应用构建构建 / 修改 / 调试 Web 应用app-development.md
方案设计技术方案 / 方案对比 / 架构technical-design.md
知识整理整理 / 提炼 / 结构化知识knowledge-notes.md

这张表干了两件事:避免预加载所有 L2保证每个任务只带上最相关的上下文

用下来的几点体感

  • 启动更轻:L1 只有身份、沟通、路由几段,加载成本低
  • 任务更准:命中哪条路由就带哪层上下文,没有无关规则干扰
  • 项目更稳:关键决策、已知坑都写死在 L3,Claude 不会反复回到已经否掉的方案
  • 改规则不慌:动 L1 不影响具体项目,动 L2 不牵连其他领域,动 L3 只在当前项目生效

如果你也在用 Claude Code 做一些有一定规范的工程任务,推荐试试这种分层结构。