2026-06-10
四年前,梅西和他的阿根廷队在卡塔尔度过了一个美妙的冬天。美加墨世界杯,他们保留了上届夺冠时的主力框架,剑指队史第四座世界杯冠军奖杯。与其同组的是奥地利、阿尔及利亚以及 ... [详细]
|
大家好,我是专注于编程领域的鱼皮。 最近,我注意到一个趋势,越来越多的开发者开始使用Claude Code、Cursor等AI编程辅助工具。然而,不少人在使用一段时间后开始抱怨:AI似乎并不总是那么听话,有时修改一个Bug反而引入了三个新问题,或者添加一个功能却意外改变了整个技术栈。 这些问题的根源,很多时候并非AI本身不够智能,而是因为我们没有为它提供足够的上下文信息。 每次AI开启一个新的会话,它都如同一张白纸,对我们的项目技术栈、团队代码规范、以及之前的决策一无所知。 如果我们不主动告知,AI就只能猜测,猜对了是运气,猜错了则意味着我们需要返工,浪费时间和tokens。 那么,有没有一种方法能让AI在每次开始工作前就自动了解我们的项目呢? 当然有!这就是我们今天要深入探讨的CLAUDE.md。 ⭐️本文内容将纳入我免费开源的教程中 一、CLAUDE.md究竟是什么? CLAUDE.md是Claude Code中的一个Markdown文件,通常放置在项目的根目录下。 每当Claude Code启动一个会话时,它会自动读取这个文件,并将其中的内容视为项目的背景知识。 你可以将其视为为AI量身定制的“入职手册”。就像新员工入职时,我们会提供一份文档,介绍公司的技术栈、代码规范、测试流程以及需要注意的陷阱等。CLAUDE.md的作用正是如此。 例如,一个简单的CLAUDE.md可能如下所示: AI在每次开始工作前都会先阅读这份文档,随后生成的代码将自动遵循这些规范,无需我们每次重复交代。 但有一点需要注意,CLAUDE.md对AI而言是建议性的,而非强制性的配置。其效果取决于我们撰写的具体程度和简洁性。越精确的指令,AI的遵循度越高;反之,模糊的要求可能被AI忽略。 二、更通用的AGENTS.md 你可能会问,这是否仅适用于Claude Code?如果我使用Cursor等其他工具怎么办? 实际上,几乎所有主流的AI编程工具都提供了类似的机制。例如,Cursor支持 AGENTS.md是一个跨工具的开放标准,由OpenAI、Google、Cursor等多家公司联合推出。目前,已有数万个开源项目采用,支持30多种AI编程工具。 虽然Claude Code默认仅读取CLAUDE.md,但我们可以在CLAUDE.md中通过一行 这些Markdown文件的本质相同,都是为AI提供项目说明书。掌握撰写这份说明书的技巧,无论更换何种AI编程工具,都能游刃有余。 此外,AGENTS.md不仅可用于项目开发指导,还可作为指导AI工作的流程文档。例如,我利用AGENTS.md定义各种工作流程,如图文创作、产品客服、数据分析等场景,通过一份Markdown文件固定AI的工作方式,每次启动时自动加载,避免重复交代。 后续内容我将统一使用CLAUDE.md进行讲解,但其中的技巧同样适用于所有工具。 三、为何必须重视CLAUDE.md的撰写? 你可能会认为,这不过是一个配置文件,随意撰写即可。 然而,这种想法大错特错!CLAUDE.md的质量直接决定了AI协助我们工作的效率和准确性。 根据我长期使用AI编程的经验,一个优秀的CLAUDE.md至少能解决以下三个问题: 第一,减少重复沟通。 在没有CLAUDE.md的情况下,每次新会话我都需要重复交代技术栈、代码规范、项目结构等信息。有了它,这些信息AI自动掌握。 第二,提升代码一致性。 之前,AI有时使用React函数组件,有时又生成class组件;样式时而采用CSS Modules,时而编写内联样式。将规范写入CLAUDE.md后,此类问题基本消失。 第三,降低出错率。 例如,我的项目中有一个特殊的API响应格式 我在之前的文章中提到过,当规则文件长度在50行左右时,AI的遵循率可达94%;但若堆砌至400行,遵循率将下降至71%。 因此,CLAUDE.md并非越长越好,而是需要精准。 这引出了本文的核心问题,也是重点内容:如何撰写一份优秀的CLAUDE.md文档? 四、如何撰写高质量的CLAUDE.md? 以下技巧经过社区大量实践和我个人验证,建议仔细阅读并深入理解。 1、控制在200行以内 这是Claude Code官方文档的建议。 CLAUDE.md的内容会在每次会话开始时加载到AI的上下文窗口中。这个窗口容量有限,规则文件越长,留给实际工作内容的空间就越少。 此外,AI对指令的遵循能力与指令数量呈负相关。有研究表明,AI大约能合理遵循150至200条指令,超过此数量,遵循质量将均匀下降,不仅忽略新增指令,整体表现也会变差。 因此,撰写CLAUDE.md应如同撰写简历,力求精炼。 对于每一行内容,都应自问:删除它是否会导致AI出错? 若答案为否,则果断删除。 2、仅记录AI无法猜测的信息 官方文档专门列出了CLAUDE.md中应包含和不应包含的内容清单,极具参考价值。 应包含的内容: AI无法猜测的构建命令和测试命令 与默认不同的代码风格规则 团队的Git规范(分支命名、PR格式) 项目特有的架构决策 开发环境的特殊要求(如必需的环境变量) 容易踩坑的地方 不应包含的内容: AI通过阅读代码即可了解的信息 通用的语言规范(AI本就掌握) 详细的API文档(应放在其他位置,CLAUDE.md中仅提供链接) 诸如“编写干净代码”、“注意性能”等泛泛之谈 以我的编程导航项目为例,我将一些即使阅读代码也容易忽略的约定写入CLAUDE.md,如API响应统一使用 3、使用正面指令而非否定指令 这一技巧颇具反直觉性。 有研究发现,87.5%的AI规则违反源于同一原因:否定句反而激活了被禁止的概念。例如,你写“不要使用分号”,AI看到“分号”二字后,反而更容易在后续生成中包含分号。 这与心理学中的白熊效应如出一辙:告诉自己不要想白熊,脑海中却立刻浮现白熊的形象。 因此,正确的做法是使用正面表述替代否定表述: ❌ 不要使用class组件 → ✅ 使用函数式组件和Hooks ❌ 不要使用any类型 → ✅ 所有变量必须有明确的TypeScript类型定义 ❌ 不要在主分支直接提交 → ✅ 所有变更应通过feature分支提交PR 模糊的指令等同于无指令。AI擅长处理具体规则,但对抽象要求则会自行发挥。 举例如下: ❌ 正确格式化代码 → ✅ 使用2空格缩进 ❌ 测试你的更改 → ✅ 提交前运行 ❌ 保持文件有序 → ✅ API handlers应放在 指令越具体,AI越容易判断自己是否遵循,违反时也越容易被发现。 5、利用Hooks实现强制执行 CLAUDE.md本质上仅为建议,并非100%生效的禁令。 对于代码格式化、提交前运行测试、拦截危险命令等任务,应使用确定性的自动化脚本执行。 Claude Code提供了Hooks机制,可在AI操作的关键节点自动执行预设脚本。 例如,若希望每次文件编辑后自动运行ESLint,编写一个Hooks配置即可实现,AI不介入,100%执行。 简而言之,CLAUDE.md负责建议,Hooks负责强制操作。 若项目规模较大,200行根本无法容纳所有规范。此时,切勿强行塞入CLAUDE.md,而应使用 每个规则文件可使用YAML frontmatter指定仅对特定路径的文件生效: 这样,只有当Claude操作 7、利用@import实现渐进式披露 社区中最受推崇的高级技巧是渐进式披露,其核心思想是避免将所有信息塞入CLAUDE.md,而是告知AI去哪里查找所需信息。 做法简单:在项目中创建 这样,Claude仅在真正需要时才会读取对应文档,平时不占用上下文空间。 CLAUDE.md的 这一思路与我之前讲解的上下文工程和Agent Skills相似。AI编程工具的上下文窗口有限,不能一股脑将所有信息塞入。Anthropic官方将此策略称为just-in-time,即让AI按需获取信息,而非全量加载。 8、让AI协助维护 CLAUDE.md并非撰写后便一成不变,而应是一份随项目成长不断完善的“活”文档。 Claude Code创始人推荐的习惯是:每次Claude犯错时,不仅修正错误,还要让它将纠正写入CLAUDE.md。 我同样采用此做法,例如,Claude使用了错误的导入路径,纠正后我会告诉它:“将这条规则更新到CLAUDE.md中,下次别再犯。” Claude擅长为自己编写规则,时间久了,你的CLAUDE.md将变成一份完整的项目知识库,出错率将显著下降。 此外,Claude Code现提供Auto Memory自动记忆功能,Claude会自动记录其在工作中发现的模式和偏好,存入 你随时可使用 看到这里,你可能会想,这些技巧我都记住了,但从零开始撰写一份完整的CLAUDE.md仍感头疼。 别担心,有几个快速起步的方法。 使用/init命令自动生成 在Claude Code中输入 但需注意,自动生成的内容可能不够精确,毕竟AI只能看到你的代码成果,不理解背后的过程。 社区中有观点认为,CLAUDE.md影响工作流的每个阶段和产出的每个文件,一条不良指令的破坏力远超一行坏代码。因此,自动生成后,务必自行审查,该删的删、该补的补。 让AI从对话中提炼 我常用的一种方法是,先不急于撰写CLAUDE.md,正常与AI协作完成一两个任务。完成后,让AI回顾整个对话过程,帮我总结出需要记住的项目规范和注意事项,直接写成CLAUDE.md。 这样得到的规则文件是从实战中提炼出来的,比凭空想象要精准得多。 以我带团队做项目为例,每次Code Review中发现AI犯的错误,我都会让Claude将修正追加到CLAUDE.md中。一个月后,这份文件已沉淀了几十条极具针对性的规则,新同事使用Claude Code时上手也快了很多。 GitHub上有个awesome-claude-md仓库,收录了100多个真实项目的CLAUDE.md示例,覆盖各种技术栈和项目类型,包括Anthropic官方、Cloudflare的monorepo项目等。 此外,还有个awesome-claude-code仓库,整理了Skills、Hooks、斜杠命令等Claude Code生态工具,同样值得收藏。 有时间的话,可以让AI帮你分析这些案例,找个与你项目技术栈接近的参考撰写,比从零开始快得多。 记住,CLAUDE.md的内容宁缺毋滥。 先从最关键的20行开始,在实际使用中再慢慢补充。 六、多层级配置与团队协作 若你在团队中使用Claude Code,或同时进行多个项目,有一些进阶玩法值得了解。 四层作用域 CLAUDE.md不仅可放在项目根目录,还支持四个层级,按加载顺序从先到后排列: 1)组织级,由公司IT统一部署的规范,对所有人强制生效 2)用户级 3)项目级 4)本地级 加载越靠后的内容,AI越倾向于优先遵循,因此优先级为本地级 > 项目级 > 用户级。但组织级较为特殊,虽加载最早,却不可被个人或项目设置排除,属于公司强制执行的底线规范。 建议团队共享的规范写在项目级,个人偏好写在本地级,两者互不干扰。 团队共建CLAUDE.md Claude Code创始人推荐将CLAUDE.md用Git管理,让团队成员共同维护。 每当有人在Code Review中发现AI犯的错误,就将修正追加到CLAUDE.md中。时间久了,这个文件将沉淀团队的开发经验和规范,成为整个团队的AI使用手册。 我们团队同样如此。例如,面试鸭后端项目的AGENTS.md中,沉淀了技术栈选型、Spring Boot分层规范、统一响应格式、异常处理方式、数据库命名规则等约定。新同事入职直接查看这份文件即可上手,Claude也能自动遵循这些规范生成代码,节省了大量沟通成本。 当你在对话中使用 因此,凡是重要的规则,务必写入CLAUDE.md,不要仅在对话中提及。这一点与我之前讲解的上下文工程相通,持久化信息要落到文件里,别光靠AI的短期记忆。 七、排查CLAUDE.md不生效的问题 若发现AI似乎未遵守CLAUDE.md中的规则,可按以下顺序排查: 1)运行 2)检查指令是否过于模糊。如“格式化好代码”这种AI无法执行的指令,应改为“使用2空格缩进、单行不超过80字符” 3)检查不同文件之间是否存在矛盾指令。如CLAUDE.md中说用MyBatis Plus,某个rules文件中又说用MyBatis Flex,AI可能随机选择一个 4)若某个操作必须在特定时机执行,如每次提交前运行lint,则不要依赖CLAUDE.md,改用Hooks 没想到吧,就这么一个Markdown文件,竟是AI编程时代最重要的基础设施之一。 以前,我们撰写README.md是给人看的;现在,撰写CLAUDE.md是给AI看的。但本质相同,都是将项目的重要信息组织好、传达清楚。区别在于,给AI写的说明书需更精炼、更具体、更可执行。 若你尚未为自己的项目撰写CLAUDE.md,不妨立即尝试。从最简单的20行开始,将技术栈、构建命令以及AI常犯的几个规则写入其中,你将立刻感受到它的强大。 我是鱼皮,持续分享AI编程干货。 |
2026-06-10
四年前,梅西和他的阿根廷队在卡塔尔度过了一个美妙的冬天。美加墨世界杯,他们保留了上届夺冠时的主力框架,剑指队史第四座世界杯冠军奖杯。与其同组的是奥地利、阿尔及利亚以及 ... [详细]
2026-06-02
伊朗公布卡塔尔世界杯26人名单,梅赫迪·塔雷米领衔出征,仅4名旅欧球员入选,分析球队阵容结构与世界杯前景。 ... [详细]
2026-06-09
加里·内维尔在费迪南德播客中坦言,解说曼联比赛需在职业中立与红魔情怀间艰难平衡,甚至考虑退出解说席。这位曼联传奇同时剖析帕尔默转会传闻,揭示顶级解说员背后的情感挣扎。 ... [详细]
2026-05-04
北京男篮以105-55大胜吉林,强势挺进季后赛。朱彦西退役仪式温馨举行,新援威廉姆斯首秀表现出色。季后赛门票4月26日开售,期待球迷助威! ... [详细]
2026-06-12
中国男篮集训名单正式公布,NBA新星杨瀚森领衔出征,胡明轩、徐杰、赵睿、周琦等名将遗憾落选,林崴何时能披上国家队战袍成未知数。 ... [详细]
啥病人看了这个都得好啊! 副标题 这胸是真的! 副标题 你赢了! 副标题 我是关心这是在哪里
乞丐装的最新境界! 副标题 买家你确定你不是阿宝?? 副标题 这裤子不敢坐下啊! 副标题 颜值
这鼠标垫你看到了什么?邪恶了吧! 副标题 毫无违和感! 副标题 小卖部的这女孩真会选呀! 副
女人真的不容易,怀孕后,内脏被挤压的严重,挺着大肚子干啥都不方便!近日,刘嘉姵和闺蜜集体拍
锤哥的替身也是辣么的帅气! 副标题 锤哥的替身好多啊! 副标题 你杀了你的替身,你可就没替
东北话又称东北官话,主要分布在除辽宁半岛以外的中国东北地区和河北省东北部,但是要说起
现在的圈子都比较流行小众,很多网络用词除非在特定的圈子里否则外人很多都不知道是什么
于震寰结婚的消息这几天都挂在网上引发热议,更多的人不解,这是谁,干什么的,结婚是啥大事吗