大多数人把 CLAUDE.md 当作提示文件。

那就是错误。

如果您希望 Claude Code 感觉像是住在您仓库里的资深工程师——而非碰巧有文件访问权的聊天机器人——您的项目需要结构。Claude 需要始终拥有四样东西:为什么(系统做什么)、地图(东西在哪里)、规则(什么被允许)和工作流(工作如何完成)。

以下是使其工作的五个层。

1. CLAUDE.md — 仓库记忆(保持简短)

这是北极星文件。它是 Claude 进入您项目时读取的第一件事,并为之后的一切定下基调。

但大多数团队在这里出错:他们把 CLAUDE.md 变成知识垃圾场。架构文档、编码标准、API 参考、部署流程——全部塞进一个文件。

结果?模型开始错过重要上下文,因为噪音太多。

CLAUDE.md 聚焦于三件事:

  • 目的 — 这个系统为什么存在?
  • 仓库地图 — 什么在哪里?
  • 规则和命令 — 什么被允许、什么不允许,以及工作如何完成?

就这样。其他一切都属于下面某一层。

2. 技能 — 可重用的专家模式

停止每会话重写指令。

Claude Code 技能.claude/skills/~/.agents/skills/)让您将常见工作流打包成 Claude 按需加载的可重用模块。把它们想象成专家模式:

  • 代码审查清单
  • 重构 playbook
  • 发布流程
  • 调试流程

结果是跨会话和队友的一致性。当您的技能结构良好时,Claude 不仅生成代码——它遵循您团队的实际流程。

如果您使用 OpenClaw 或类似代理框架,技能变得更强大。它们可以将脚本、参考文档和资产打包成任何代理都能拾取的可移植包。

有关技能创建工具如何演进的更多信息,请参阅我们关于 Anthropic 的技能创建器和 Google 的 Workspace CLI 的近期文章。

3. Hooks — 不会遗忘的护栏

模型会遗忘。Hooks 不会。

Claude Code hooks 是在 Claude 执行某些操作之前或之后自动触发的确定性动作。将它们用于必须每次发生的事情:

  • 文件编辑后运行格式化器
  • 核心模块变更时运行测试
  • 阻止不安全目录(auth、billing、migrations)

这一区别很重要:提示是建议。Hooks 是保证。当您在提示中告诉 Claude"在编辑 src/auth/ 后总是运行测试",它可能在第三次编辑时遗忘。当您将其接为 hook,就是自动的。

4. 文档 — 渐进式上下文

不要用 Claude 可能需要的一切来膨胀您的提示。相反,给 Claude 一张真相所在地的地图:

  • 架构概述 — 系统设计、数据流、基础设施
  • ADR(架构决策记录)— 您为什么做出这些选择
  • 运营 runbook — 如何部署、调试和恢复

Claude 擅长按需读取文件。它不需要预先知道每个细节——它需要知道去哪里看。组织良好的 docs/ 目录意味着 Claude 可以在相关时准确拉取上下文。

5. 针对高风险模块的本地 CLAUDE.md

这是大多数团队完全错过的一层。

在您代码库的尖锐边缘附近放置小型、聚焦的 CLAUDE.md 文件:

src/auth/CLAUDE.md
src/persistence/CLAUDE.md
infra/CLAUDE.md

这些文件包含模块特定的陷阱、约束和警告。当 Claude 在 src/auth/ 中工作时,它会自动看到身份认证特定指导——令牌轮换的怪癖、会话处理的边缘情况、“不更新迁移绝不修改此函数"的警告。

这就是您在不膨胀根 CLAUDE.md 的情况下获得外科手术般精度的方式。

结构优于提示

提示是暂时的。结构是永久的。

当您的仓库这样组织时,Claude 不再表现得像聊天机器人,而是开始像项目原生工程师。它了解上下文、遵循流程、尊重护栏,并找到正确的文档——因为项目本身教会它如何工作。

AI 编码 CLI 格局正在快速移动。Claude Code、Codex CLI、Gemini CLI——都在推出代理能力。但获得真正价值的团队不是有最佳提示的团队。而是有最佳结构仓库的团队。


Kevin Kaminski 是 Microsoft MVP,也是 Big Hat Group 的负责人,他在那里帮助企业团队部署 AI 代理、Windows 365 和现代管理解决方案。如需帮助构建您的 AI 编码工作流,联系我们