最近刷技术圈发现一个有意思的现象Anthropic 出 MCP大家追 MCP。 出 Skill追 Skill。 出 Subagent追 Subagent。新功能一个接一个大家跟得很积极。但有一个从第一天就存在、对 Claude Code 使用效果影响最大的功能却几乎没人认真研究过CLAUDE.md 文件。什么是 CLAUDE.md简单说这是 Claude Code 的”记忆文件”。每次你启动 Claude Code它会自动读取项目里的 CLAUDE.md 文件把里面的内容作为”背景知识”加载进来。这意味着什么你不用每次都告诉它”这个项目用的是 FastAPI React”你不用每次都说”部署命令是 bash deploy.sh”你不用每次都解释”数据库结构在 docs/database.md 里”写一次永久生效。听起来很简单对吧但大多数人要么不知道这个文件要么随便写两行就扔那儿了。结果就是Claude Code 对你的项目一无所知每次都像个新来的实习生什么都要从头问。为什么 CLAUDE.md 比新功能更重要MCP、Skill、Subagent 这些功能确实强大但它们解决的是”能力扩展”问题。CLAUDE.md 解决的是基础认知问题。打个比方新功能 给员工发新工具CLAUDE.md 给员工做入职培训你给一个不了解公司业务的新员工再多工具他也用不好。先让 Claude 真正理解你的项目它才能把那些高级功能用到点子上。实用技巧一用 # 命令随时写入记忆很多人不知道Claude Code 内置了一个快捷命令在对话中输入#加内容可以直接写入 CLAUDE.md。比如你发现 Claude 总是用 npm但你的项目用的是 pnpm# 本项目使用 pnpm不要用 npm回车这条规则就写入记忆文件了。下次对话它就会记住。这个功能的好处是随时随地想到就写。不用专门打开文件编辑不用中断当前工作流。用着用着发现它不知道什么直接#一下就完事了。实用技巧二什么时候该更新记忆很多人问我怎么知道 CLAUDE.md 里该写什么有个简单的判断标准当你发现自己在重复告诉 Claude 同一件事的时候就该写进去了。举几个例子你第三次告诉它”测试用 pytest 跑不是 unittest” → 写进去你又一次解释”这个项目的 API 前缀是 /api/v1” → 写进去你再次提醒”提交代码前要跑 lint” → 写进去你重复说的就是它该记住的。这样做的好处是CLAUDE.md 里的内容都是真正有用的不是凭空想象出来的规范文档。实用技巧三CLAUDE.md 可以有多个很多人以为 CLAUDE.md 只能放在项目根目录。不是的。你可以在任何子目录放 CLAUDE.md。Claude Code 读取记忆文件的逻辑是1. ~/.claude/CLAUDE.md # 全局配置所有项目通用 2. /project/CLAUDE.md # 项目根目录 3. /project/frontend/CLAUDE.md # 子目录 4. /project/backend/CLAUDE.md # 子目录它会根据你当前工作的目录加载对应的 CLAUDE.md。这对大型项目特别有用my-project/ ├── CLAUDE.md # 项目总览、技术栈 ├── frontend/ │ └── CLAUDE.md # 前端特定组件规范、状态管理 ├── backend/ │ └── CLAUDE.md # 后端特定API 设计、数据库连接 └── infra/ └── CLAUDE.md # 运维特定部署流程、服务器配置当你在frontend/目录工作时Claude 会同时加载根目录和 frontend 的 CLAUDE.md。分层管理各司其职还能减少主文件的臃肿。实用技巧四别让 Claude 自己写或者写完要检查有人说直接让 Claude Code 帮我写 CLAUDE.md 不就行了可以但有个大坑。Claude 写东西有个毛病太啰嗦。你让它写 CLAUDE.md它会给你整一篇”说明文档”出来## 项目介绍 本项目是一个基于 FastAPI 框架开发的后端服务主要用于... 该项目采用了现代化的软件架构设计理念包括... ## 技术栈详解 ### 后端技术栈 - Python 3.11我们选择 Python 3.11 是因为它提供了... - FastAPIFastAPI 是一个现代、快速的 Web 框架... 200 行废话这不是记忆文件这是产品文档。CLAUDE.md 的正确写法是点到为止## 技术栈 - 后端Python 3.11 FastAPI - 前端Next.js 14 TypeScript - 数据库MySQL 8.0 ## 部署 bash bash scripts/deploy.sh数据库设计详见docs/database.md**简洁、直接、不废话。** 如果你让 Claude 帮你写一定要自己检查一遍把那些废话删掉。 否则会有两个问题 1. **浪费 token**每次启动都要读这么长的文件 2. **记忆失效**信息太多太杂Claude 反而会忽略重要内容 --- ## 最佳实践CLAUDE.md 该写什么 根据我的使用经验推荐这个结构 ### 1. 项目结构必写 markdown ## 项目结构 | 目录 | 用途 | |------|------| | app/ | 后端 API | | web/ | 前端 | | docs/ | 文档 | | scripts/ | 部署脚本 |2. 技术栈必写- 后端Python 3.11 FastAPI SQLAlchemy - 前端Next.js 14 TypeScript Tailwind - 数据库MySQL 8.0 Redis 7.03. 常用命令必写## 常用命令 bash pnpm dev # 启动前端开发服务器 python main.py # 启动后端 pytest tests/ # 运行测试 bash deploy.sh # 部署 这点特别重要。很多项目用 pnpm 不用 npm用 poetry 不用 pip用 bun 不用 yarn……**不写清楚Claude 会猜错**。 ### 4. 文档索引重要 markdown ## 详细文档 - **[数据库设计](docs/database.md)** - 表结构、关系 - [API 文档](docs/api.md) - 接口说明 - [部署文档](docs/deploy.md) - 部署流程关键用引用不要全部复制进来。数据库有 20 张表不要把表结构全写进 CLAUDE.md。写一句”详见 docs/database.md”就行了。Claude 需要的时候会自己去读那个文件。5. 特殊规则如有## 注意事项 - 提交代码前必须运行 pnpm lint - 数据库迁移用 alembic不要手动改表 - 环境变量在 .env.example 里不要提交 .env反面教材不该写什么❌ 不要写详细的表结构## users 表 | 字段 | 类型 | 说明 | | id | varchar(36) | 用户ID | | username | varchar(50) | 用户名 | ...50 行放到单独的文档里这里只写一句”详见 docs/database.md”。❌ 不要写示例代码## 数据库查询示例 python cursor.execute(SELECT * FROM users WHERE id %s, (user_id,)) ... Claude 会自己看你的代码不需要在记忆文件里放示例。 ### ❌ 不要写项目介绍 markdown ## 关于本项目 本项目旨在为用户提供高效便捷的 xxx 服务...Claude 不需要知道你的项目愿景它需要知道的是怎么干活。长度建议 100 行最佳 300 行是上限。有个开源项目的 CLAUDE.md 只有 60 行但效果非常好。因为每一行都是有用的信息没有废话。记住CLAUDE.md 不是文档是备忘录。快速检查清单写完 CLAUDE.md 后对照这个清单检查[ ] 文件名是CLAUDE.md必须全大写[ ] 长度 300 行[ ] 包含项目结构[ ] 包含技术栈[ ] 包含常用命令[ ] 详细内容用引用不是全部复制[ ] 没有废话和”说明文档”风格的段落[ ] 没有过时的信息总结Claude Code 的各种新功能确实值得关注但别忘了最基础的东西。CLAUDE.md 写得好Claude Code 用起来完全不一样。几个核心要点用#命令随时写入记忆想到就写不用中断工作重复说的就该写进去你重复它就该记住可以有多个 CLAUDE.md子目录各放各的分层管理保持简洁点到为止不是说明文档让 Claude 写要检查它写的太啰嗦要删减花 10 分钟写好这个文件能让你接下来的每一次对话都更高效。这才是 Claude Code 真正的”记忆”功能比追任何新功能都管用。AI爱好者看过来!Claude 4.5、Gemini 3.0、GPT、qwen等顶流大模型ArkAPIwww.iarkchat.com一个平台就能all in体验汇聚数千名AI开发者交流分享Prompt、探讨技术、解决基础接入问题本平台全程免费使用入群可领取100万Tokens0成本解锁前沿AI如需高稳定API服务请联系我们我们将为您提供企业级保障