1.7 KiB
1.7 KiB
created, type, tags, source
| created | type | tags | source | |||||
|---|---|---|---|---|---|---|---|---|
| 2026-06-27 06:25 | zettel |
|
Anthropic memory 官方文档 (2026) |
CLAUDE.md 是目录树拼接加载而非覆盖
多个 CLAUDE.md 不是"最近的那个赢",而是沿目录树向上发现、全部拼接(append)。理解这点才能正确分层放置规则。
机制:
- 向上遍历目录树发现所有
CLAUDE.md。 - 祖先目录的文件启动时全量加载;子目录的嵌套文件在读取该目录时才按需加载。
- 所有命中的文件拼接而非覆盖 —— 个人(
~/.claude/CLAUDE.md)、项目(./CLAUDE.md)、本地(./CLAUDE.local.md)叠加生效。 - monorepo 父目录会自动拉取;支持
@path/import引入其它文件。
推论(分层放置策略):
- 跨项目偏好 →
~/.claude/(用户级)。 - 团队共享的项目规范 →
./CLAUDE.md(入 git)。 - 个人临时覆盖 →
./CLAUDE.local.md(入.gitignore)。 - 某子模块专属规则 → 放该子目录的
CLAUDE.md,只在进入时按需加载,省主上下文。 - 单文件 < 200 行;过大拆到
.claude/rules/的 path-scoped rules(带pathsfrontmatter)。
因为是"拼接 + 全量加载祖先",所以越靠上、越大的文件,对每次会话的 token 成本越高 —— 这正是"保持简洁、按目录就近放置"的底层原因。
Related
- 20260308223000 Claude Code Memory 日常最佳实践 —— 5 层 memory 全景与 Auto memory
- 20260319120200 MCP数量与上下文窗口的反比关系 —— 同样是上下文预算权衡
- Claude Code 新项目开发最佳实践 (2026 调研)