面试官抬头:“你说你用Claude写代码,你说说你怎么维护CLAUDE.md”,我:“啊。。这是啥?”,面试官:“今天面试就到这吧”

发布时间:2026/7/16 8:34:32
面试官抬头:“你说你用Claude写代码,你说说你怎么维护CLAUDE.md”,我:“啊。。这是啥?”,面试官:“今天面试就到这吧” 今天聊一个 Claude Code 里特别容易被低估的文件CLAUDE.md。很多录友用 Claude Code 写代码时都遇到过这种情况你第一轮告诉它“这个项目用 pnpm不要用 npm。”过一会儿它又开始建议npm install。你告诉它“不要直接改数据库表结构。”修着修着它又想动 schema。你告诉它“改完要跑单测。”它把代码改完了准备收工。这时候很多人会觉得是不是模型不听话不完全是。更大的问题是你把项目长期规则当成了临时聊天内容。临时聊天内容会被上下文挤压会被压缩会随着任务变长而变得越来越不稳定。但项目规则不应该每次都靠嘴说。CLAUDE.md就是为了解决这个问题的。它不是玄学提示词也不是项目 README 的复制版。它更像是 Claude Code 进项目之前要看的工作说明书。目录为什么你总是在重复教育 Claude CodeCLAUDE.md 到底是什么它和 README、Prompt、Memory 有什么区别CLAUDE.md 应该放在哪里什么内容值得写进去什么内容不要写进去怎么写才真的有效大项目怎么拆 CLAUDE.mdCLAUDE.md 和上下文窗口有什么关系给你一个可以直接抄的模板团队里怎么维护 CLAUDE.md面试和工作中怎么讲这个能力一、为什么你总是在重复教育 Claude Code先说一个很常见的场景。你打开一个老项目让 Claude Code 帮你改一个接口。你会先说一大堆这个项目是 VuePress 1.x不要按 VuePress 2.x 写命令要在docs/目录下执行依赖版本别乱升不要改部署脚本Markdown 图片必须有 ALT改完之后跑npm run build这些话有用吗有用。但问题是你每次开新任务都要说一遍。更麻烦的是复杂任务跑久了以后上下文越来越长前面那些要求会被一堆文件内容、命令输出、错误日志淹没。你以为 Claude Code 记得这些规则其实它只是当前上下文里还能看到这些规则。一旦上下文压缩、裁剪、切换任务它就可能忘。所以项目规则不能只靠聊天输入。它需要一个更稳定的入口。这就是CLAUDE.md。你可以把它理解成写给 Claude Code 的项目交接文档。新人进组之前你会告诉他项目怎么启动哪些目录放什么哪些地方不能动常见坑在哪里提 PR 前要跑什么检查Claude Code 也是一样。你不能指望它每次都自己摸索一遍。摸索会浪费 token也会制造风险。二、CLAUDE.md 到底是什么CLAUDE.md是一个普通的 Markdown 文件。Claude Code 会自动读取它把里面的内容作为项目上下文的一部分。注意几个关键词第一它是普通 Markdown。不是配置文件不是 JSON不是 YAML不需要写复杂语法。你就按正常文档写# 项目说明- 使用 pnpm 管理依赖- 开发命令pnpm dev- 构建命令pnpm build- 不要直接修改数据库 schema第二它是给 Claude Code 看的。README 主要给人看CLAUDE.md主要给 AI 编程 Agent 看。所以它不用写项目愿景、业务背景长文、团队文化。它要写的是能直接影响 Claude Code 行动的信息。第三它会进入上下文。这点很重要。CLAUDE.md不是在外面摆着好看的文档。Claude Code 读到它之后里面的规则会参与后续推理。所以它能让 Claude Code 更稳定但也会占上下文窗口。这就决定了一个原则CLAUDE.md 要短、准、可执行。不是越长越好。图1临时聊天规则会被上下文稀释CLAUDE.md 能把长期规则沉淀成稳定约束三、它和 README、Prompt、Memory 有什么区别很多录友会问那我已经有 README 了还要CLAUDE.md干嘛这俩不是一个东西。README 的读者是人。它通常会写项目介绍功能说明安装方式使用文档贡献指南这些信息对人很友好但对 Agent 不一定高效。因为 Claude Code 真正需要的是行动约束这个任务应该从哪个目录入手改代码前先看哪些文件用哪个命令验证哪些文件不要碰遇到某类错误先检查哪里Prompt 又不一样。Prompt 是当前任务的临时要求。比如你说“帮我修登录失败但不要改后端接口。”这句话就适合放当前对话里。因为它只对这次任务生效。而CLAUDE.md适合放跨任务都稳定的规则。比如项目统一用 TypeScript测试命令是什么API 层统一走src/apiUI 组件不要直接请求接口禁止提交真实 tokenMemory 也要分清。Claude Code 的 memory 有多种层级比如用户级、项目级、企业级。CLAUDE.md本身就是一种项目记忆。但你个人的习惯比如我喜欢先看计划再改代码更适合放用户级记忆。团队共享规则才适合放项目里的CLAUDE.md。图2不同类型的信息要分流到 README、Prompt、CLAUDE.md 和用户记忆一句话区分README 告诉人怎么理解项目Prompt 告诉模型这次要做什么CLAUDE.md 告诉 Claude Code 在这个项目里怎么干活。四、CLAUDE.md 应该放在哪里这块是最容易乱的地方。Claude Code 的 memory 不是只有一个位置。常见位置有这几类。1. 用户级~/.claude/CLAUDE.md这个文件属于你个人。适合放你跨项目都稳定的偏好。比如默认先解释风险再改代码优先使用项目现有命令修改代码后尽量运行相关测试回答时用中文这些不属于某个项目而是你个人的工作习惯。所以不要把它提交到仓库里。2. 项目级./CLAUDE.md或./.claude/CLAUDE.md这是最常用的位置。适合放团队共享的项目规则。比如项目架构常用命令代码风格测试方式禁止改动范围常见问题排查这个文件可以进 Git。团队所有人用 Claude Code 时都能获得同一套项目规则。3. 子目录级模块自己的CLAUDE.md大仓库里一个根目录CLAUDE.md往往不够。比如project/ CLAUDE.md frontend/ CLAUDE.md backend/ CLAUDE.md docs/ CLAUDE.md前端、后端、文档的规则不一样。强行塞进一个根文件会越来越长Claude Code 反而抓不住重点。更好的方式是根文件写全局规则子目录文件写模块规则。官方文档里也提到Claude Code 会从当前工作目录往上查找记忆当前工作目录下面更深层的CLAUDE.md通常会在 Claude 读取对应子树文件时再纳入上下文。这对大项目很有用。不要让前端任务背着后端所有细节跑也不要让文档任务背着数据库规则跑。4. 私人项目偏好更推荐用 import以前有些场景会用CLAUDE.local.md放个人项目偏好。但现在更推荐在项目记忆里用pathimport 引入个人文件。比如# 个人偏好- ~/.claude/my-project-preferences.md这样个人规则不用进仓库也更适合多 worktree 场景。pathimport 还可以引入项目里的其他文档。比如请参考 README.md 了解项目概览。测试规范见 docs/testing.md。但这里也要克制。不要把一堆长文档全 import 进来。能引用关键文档很好滥用 import 就会把上下文变成垃圾桶。图3多级 CLAUDE.md 按任务路径加载避免无关模块规则污染上下文五、什么内容值得写进去判断一条信息该不该写进CLAUDE.md我有一个很简单的标准它是否会反复影响 Claude Code 的行动如果会就值得写。如果只对当前一次任务有效就放 prompt。如果只是给人看的背景就放 README。1. 常用命令这是最应该写的。比如## 常用命令- 安装依赖pnpm install- 本地开发pnpm dev- 单元测试pnpm test- 构建检查pnpm build命令一定要写完整。尤其是 monorepo 或 VuePress 这类项目经常要求在特定目录执行。比如- 所有命令都在 docs/ 目录下执行。- 开发服务器cd docs npm run dev- 构建cd docs npm run build这比你每次提醒它强太多。2. 项目结构写目录职责不要贴完整文件树。比如## 目录结构- src/components/通用 UI 组件- src/pages/页面入口- src/api/接口封装组件不要直接调用 fetch- src/store/全局状态- tests/单元测试和集成测试这能帮助 Claude Code 少走弯路。3. 编码规范写具体规则。不要写- 保持代码优雅这句话没用。要写- 新组件使用函数组件- 样式优先使用已有 token不新增散乱颜色- API 错误统一通过 handleApiError() 处理- 不要在组件中直接写请求逻辑越具体越有用。4. 禁止事项这类信息非常适合放CLAUDE.md。比如## 禁止事项- 不要修改数据库 schema除非用户明确要求。- 不要升级核心依赖版本。- 不要提交 .env、token、密钥。- 不要重写历史迁移文件。- 不要删除用户已有改动。AI 编程最怕的不是写得慢而是乱动不该动的地方。禁止事项写清楚能减少很多事故。5. 验证流程很多项目不是改完就完了。要写清楚什么改动跑什么检查。比如## 验证要求- 修改业务逻辑后优先运行相关单测。- 修改公共组件后运行组件测试和构建。- 修改依赖或配置后运行完整构建。- 如果测试无法运行要在最终说明里写明原因。这能让 Claude Code 更像一个靠谱同事。6. 常见坑项目里有些坑人踩过一次就知道。AI 不知道。所以要写。比如## 常见坑- VuePress 1.x 插件必须使用 vuepress/back-to-top不要写成 VuePress 2.x 的插件名。- dev 模式关闭了文件监听改完文件需要手动刷新浏览器。- 图片必须使用上传后的图床地址不要引用本地临时文件。这种信息放在聊天里很容易丢。放在CLAUDE.md里价值很高。图4一条信息能不能写进 CLAUDE.md要经过反复性、行动性和可维护性判断六、什么内容不要写进去CLAUDE.md最大的问题不是没人写。而是很多人越写越长最后变成项目垃圾场。以下内容不建议写进去。1. 完整接口文档接口字段、返回值、错误码如果很多应该放专门文档。CLAUDE.md里最多写- API 文档见 docs/api.md- 修改接口调用前先检查 src/api/不要把几十个接口全贴进去。2. 历史流水账比如- 2025-01-03 修了登录问题- 2025-02-11 重构过首页- 2025-03-07 和产品讨论过按钮颜色这类信息对当前行动通常没帮助。如果某个历史决策很重要要写成规则- 登录态统一由 authStore 管理不要在页面组件里重复维护 token。别写流水账写结论。3. 空泛口号比如- 写高质量代码- 注意性能- 保持架构清晰这类话看着正确但不能指导行动。改成可执行规则- 列表页超过 100 条数据时使用分页不要一次性渲染全量数据。- 公共逻辑超过两个页面复用时抽到 src/hooks/。4. 过期规则过期规则比没有规则更危险。比如项目已经从 npm 换成 pnpm但CLAUDE.md里还写 npm。Claude Code 会很听话地继续错。所以CLAUDE.md不是写完就不管。它要随着项目演进更新。5. 太细的临时任务比如- 今天先修用户 A 的导出 bug这种就不该进项目记忆。它属于当前对话。任务结束后还留在CLAUDE.md里只会污染后续任务。七、怎么写才真的有效我建议录友记住三个词短、准、硬。短是不要写长篇大论。准是每条都和行动有关。硬是尽量写成明确约束而不是温柔建议。比如这句话- 尽量注意测试。太软。改成- 修改业务逻辑后必须运行相关测试如果无法运行在最终回复说明原因。这就好多了。再比如- 代码要符合项目风格。太虚。改成- 新增 API 请求必须放在 src/api/页面组件只能调用封装后的 API 方法。这才是 Claude Code 能执行的规则。我会把好CLAUDE.md的写法分成 6 类项目是什么命令怎么跑目录怎么分代码怎么写什么不能做改完怎么验其他内容能不放就不放。写 CLAUDE.md不是为了显得你很懂 AI而是为了让 AI 少猜。八、大项目怎么拆 CLAUDE.md小项目一个根CLAUDE.md就够了。大项目一定要拆。尤其是 monorepo。比如一个项目有Web 前端Node 后端移动端文档站基础组件库如果你把所有规则都写进根CLAUDE.md最后一定变成十几屏。Claude Code 每次做一个很小的任务都要背着一堆无关规则。更好的结构是repo/ CLAUDE.md apps/web/CLAUDE.md apps/admin/CLAUDE.md packages/ui/CLAUDE.md docs/CLAUDE.md根文件写全局规则包管理器Git 流程安全要求全局禁止事项通用验证方式模块文件写模块规则当前模块目录职责本模块启动命令本模块测试命令本模块常见坑这样 Claude Code 在处理具体模块时拿到的是更相关的上下文。这和我们前面讲 Agent 上下文管理是同一个逻辑不是让模型看见更多而是让它看见更有价值的信息。图5大项目拆分 CLAUDE.md 的核心价值是减少无关规则占用上下文预算九、CLAUDE.md 和上下文窗口有什么关系这里要讲一个很关键的点。CLAUDE.md虽然好用但它不是免费空间。它会进入 Claude Code 的上下文。上下文窗口就像一张工作台。你把项目规则放上去模型就能看到。但你放太多工具输出、文件内容、用户要求就会被挤。所以不要把CLAUDE.md当成无限记事本。官方资料里也提到Claude Code 会对CLAUDE.md使用 prompt caching。这能降低重复读取带来的成本。但录友要注意缓存降低的是计费压力不代表它不占上下文空间也不代表信息越多越好。一份 300 行的CLAUDE.md即使缓存了模型每次也要在大量规则里找重点。这就会带来两个问题第一重要规则被淹没。第二无关规则干扰当前任务。所以我更推荐根CLAUDE.md控制在几屏内每条规则尽量一行说明长文档用链接或 import 引用低频规则放到对应子目录定期删除过期内容CLAUDE.md 的目标不是大而全而是让 Claude Code 进入项目后少踩坑。十、给你一个可以直接抄的模板下面这个模板录友可以直接放到项目根目录然后按自己项目改。# 项目工作说明## 项目概述- 本项目是一个 XXX 应用主要技术栈是 XXX。- 主要代码在 src/测试在 tests/。- 优先遵循现有代码风格不要引入新的架构风格。## 常用命令- 安装依赖pnpm install- 本地开发pnpm dev- 单元测试pnpm test- 构建检查pnpm build## 目录结构- src/components/通用组件- src/pages/页面入口- src/api/接口封装- src/hooks/可复用业务逻辑- tests/测试文件## 编码规范- 新增 API 请求必须放在 src/api/。- 页面组件不要直接调用 fetch。- 公共逻辑被两个以上模块复用时抽到 src/hooks/。- 修改已有功能时优先保持现有接口兼容。## 禁止事项- 不要提交 .env、token、密钥。- 不要升级核心依赖版本除非用户明确要求。- 不要修改数据库 schema除非用户明确要求。- 不要删除用户已有改动。## 验证要求- 修改业务逻辑后运行相关测试。- 修改公共组件后运行构建检查。- 如果测试无法运行在最终回复里说明原因。## 常见坑- 本项目使用 pnpm不要使用 npm 或 yarn。- 修改配置文件后需要重新启动开发服务器。- 遇到鉴权问题先检查 src/api/auth.ts 和 src/store/auth.ts。这个模板不是让你照搬到所有项目。它的价值是结构。你真正要做的是把里面每一条改成自己项目里的真实规则。假的规范比没有规范更坑。十一、团队里怎么维护 CLAUDE.md如果团队已经大量使用 AI 编程我建议把CLAUDE.md当成工程资产维护。不要让它变成某个人电脑里的私货。团队可以这么做第一项目根CLAUDE.md进仓库。凡是团队共享规则都应该进 Git。比如构建命令、目录职责、代码规范、禁止事项。第二个人偏好放用户级 memory。比如你喜欢中文回复、喜欢先看计划、喜欢最终说明简短。这些不应该污染团队项目文件。第三规则变更要像代码一样审查。尤其是禁止事项、测试命令、架构规则。它们会直接影响 AI 的行动。写错了就是把错误流程自动化。第四踩坑之后及时沉淀。如果 Claude Code 因为某个项目坑连续犯错不要只在聊天里骂它。把坑写进CLAUDE.md。比如- 支付模块的金额单位是分不是元。这种一句话可能能避免很多次错误。第五定期删。CLAUDE.md不是只加不删。每隔一段时间看一眼有没有过期命令有没有已经不存在的目录有没有重复规则有没有临时任务残留越短越准越有用。十二、面试和工作中怎么讲这个能力很多人以为会用 Claude Code就是会让它写代码。其实更高级一点是你能把 AI 编程变成稳定流程。CLAUDE.md就是一个很好的例子。面试官如果问你“你怎么让 AI 编程工具更稳定”你可以这样答我不会只靠临时 prompt 管项目规则。对于跨任务稳定的信息比如项目架构、常用命令、测试方式、代码风格、禁止改动范围我会沉淀到CLAUDE.md。这样 Claude Code 每次进入项目时都能读取这些规则减少重复解释也减少上下文压缩后丢约束的问题。但我不会把CLAUDE.md写成大杂烩。因为它会进入上下文太长会稀释注意力。所以我会按全局规则和模块规则拆分根目录写通用约束子目录写模块细节临时任务放 prompt个人偏好放用户级 memory团队规则放项目级CLAUDE.md。核心目标不是让模型看到更多而是让它看到更稳定、更有行动价值的信息。这个回答就不只是我会用工具。它说明你理解 AI Coding 背后的工程化问题。结尾CLAUDE.md不是魔法。它不会让 Claude Code 瞬间变成懂你公司所有业务的老员工。但它能解决一个非常实际的问题别让 AI 每次进项目都从零猜。项目怎么启动代码怎么写哪里不能动改完怎么验这些规则越早沉淀Claude Code 越像一个靠谱队友。录友们不要把CLAUDE.md写成百科全书。就写那些会反复影响行动的规则。短一点准一点硬一点。这就够了。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】