
一个单独的 CLAUDE.md 文件刚刚登上 GitHub Trending 第 1 名,获得了 82,000 个 star 和 7,800 次 fork。
大多数 Claude 用户甚至没听说过它。听说过的人,也常常不知道到底该往里面写什么。
这个差距,正在让很多人每周白白耗掉好几个小时。
每次你开启一个新的 Claude 会话,它都是从零记忆开始的。它不知道你的名字、你的工作、你的偏好,也不知道你希望事情以什么方式完成。你要么先花几分钟重新解释一遍所有背景,要么不解释,然后 Claude 给出的东西就和你真实的工作方式对不上。CLAUDE.md 可以一次性解决这个问题。
为什么这对每个人都重要,而不只是开发者
很多人以为 CLAUDE.md 是开发者工具。其实不是。它是一个指令文件,Claude 会在每次会话开始时自动读取;只要你经常使用 Claude,它就适用。
写作者用它固定自己的声音和语气,让 Claude 不再写得像另一个人。营销人员用它定义受众,让 Claude 不再输出泛泛而谈的文案。研究人员用它约定信息结构。企业主用它把公司的完整背景交给 Claude,让每一次输出都贴合真实业务。
没有 CLAUDE.md,你每一轮会话都在从零开始。你会反复解释自己,反复纠正同样的错误,第 100 次说明自己的偏好。
不管你用 Claude 做什么,只要是认真工作,CLAUDE.md 都应该是你最先配置的东西。
如何创建这个文件:2 分钟就够
- 打开你的项目文件夹,新建一个文件。文件名必须准确写成
CLAUDE.md:大写字母、没有空格。它只是一个带.md扩展名的纯文本文件。 - 用任意文本编辑器打开它:记事本、TextEdit、VS Code,或者你平时用的编辑器都可以。把你的指令直接以纯文本形式粘进去。
- 从本文中复制对你有用的指令。粘贴进去。不需要一次性写满 21 条,先从最让你困扰的 3 到 4 个问题开始。
- 保存文件。之后你每次在这个文件夹里打开 Claude Code 会话,Claude 都会自动读取它。不需要额外设置,也没有额外步骤,从第一条消息开始生效。
Claude 如何与你对话
1 - 去掉客套填充
Claude 默认会用 “Great question!”、“Of course!”、“Certainly!”、“Absolutely!” 这类句子开头。这些话没有信息量,只会浪费时间。当你每天连续使用 Claude 好几个小时时,这种摩擦会不断累积。
一条指令就能永久去掉它。每个回答都直接从答案开始。没有热场,没有“我很乐意帮忙”的表演,只有你真正要的信息。
不要用 “Great question!”、“Of course!”、“Certainly!”、“Absolutely!”、“Sure!” 或类似的客套开场来开始回答。
每次回答都直接从真正的答案开始。
不要铺垫,不要先确认问题。
只给信息。
2 - 动手前先给出选项
Claude 默认会选一个思路,然后直接一路做下去。你让它改写一个段落,它可能把整篇文章的语气都改掉。你让它重构一份文档,它可能按一种并不符合你思考方式的逻辑重新组织。结果你又要去修正那些自己并没有要求它改的东西。
这条指令会彻底改变这种互动方式。在任何重要任务开始前,Claude 先给你 2 到 3 种处理路径。你选择最合适的方向。接下来产出的内容才会更接近你真正想要的结果。
执行任何重要任务之前,先给我 2 到 3 种可选方案。
每个方案都要说明:
- 会怎么处理
- 适合什么场景
- 可能的取舍是什么
等我选择方向后再开始执行。
不要默认替我决定处理方式。
3 - 不知道时要诚实说明
Claude 有时会给出一个自信、详细、但完全错误的答案,而不是承认不确定。它会用听起来很合理的信息来补空白,包括日期、统计数据、引用和事实。这些内容看起来像真的,但并不一定是真的。等你把这些信息用到关键场景里,问题才会暴露出来。
这一条指令会改变这种行为。Claude 会在回答前先标出不确定性,而不是把不确定藏在自信的表达里。回答一开始出现“这一点我不确定”,比你基于不存在的事实继续推进要安全得多。
如果你对任何事实、统计数据、日期、引用或信息不确定,必须在写入答案前明确说明。
“这一点我不确定”永远比把猜测包装成事实更好。
不要用听起来合理的信息填补知识空白。
拿不准时,就直接说明。
4 - 回答长度匹配真实需求
问 Claude 一个简单问题,它可能写四段。让它做一个复杂任务,它又可能给出一个看似完整、实则很浅的框架。两种都不好用。回答长度应该与任务本身匹配:答案本来就短,就短;任务需要深度,就给足细节。
这条指令用来校准这种关系。简单问题不再被填充成大段文字,需要实质深度的工作也不再被压成浅层输出。
回答长度要匹配任务复杂度。
简单问题给直接、简短的答案。
复杂任务给完整、细致的回答。
不要压缩或概括需要真实深度的工作。
不要用复述问题或重复前文的收尾句来填充回答。
Claude 的行为边界
5 - 做大改动前先询问
你让 Claude 修一段文字,它可能重写整篇文档。你让它缩短内容,它可能删掉你需要的章节。你让它调整语气,它可能连结构也一起改了。每一次,你都会失去一些并不想失去的内容,然后不得不凭记忆或旧版本重建。
这条指令会把每一次重要改动变成一个检查点。Claude 停下来,明确告诉你它准备改什么、为什么改,然后等你确认后再动手。后续产出才是你同意过的工作。
在进行任何会显著改变我已有内容的操作之前,必须完全停下来。
这包括重写章节、删除段落、重构行文、改变语气等。
明确说明你准备改什么,以及为什么要改。
等我确认后再继续。
“我觉得这样更好”不等于获得了修改许可。
6 - 只聚焦我提出的需求
你让 Claude 修一个问题,它可能顺手“优化”另外五个地方:调整措辞、重组结构、改写你本来满意的句子。有时这些改动确实更好,但很多时候并不是。现在你还得逐一检查到底哪里被改过。
这条指令让 Claude 保持在任务范围内。只修你要求它修的东西,其他内容原样保留。如果它发现别处也值得处理,可以提出来,但不能在没有明确要求的情况下直接动手。
只修改我明确要求你修改的内容。
不要重写、改述、重构或“优化”任何我没有要求处理的部分,即使你认为那样会更好。
如果你注意到其他地方可以改进,可以在回答末尾提一下。
除非我明确要求,否则不要动它。
7 - 始终告诉我改了什么
Claude 做完任务后,你经常要自己扫描输出,弄清它和原来有什么不同。哪些章节变了?有没有删掉内容?有没有加入你没要求的东西?没有变更说明,你每次都在手动做 diff。
这条指令要求 Claude 在每个任务结束时给出简短状态:改了什么、哪些没动、哪些需要你注意。这样你仍然掌控自己的工作。
完成任何编辑或写作任务后,始终在末尾给出简短说明:
- 改了什么:[说明]
- 哪些内容保持不变:[如相关]
- 需要我注意什么:[任何需要决策或复核的事项]
保持简短。这是状态更新,不是对刚才内容的复述。
8 - 未经确认,不要替我执行外部动作
随着 AI 工具连接到邮箱、日历、社交账号和文档,Claude 执行非本意操作的风险会随着每一种集成而上升。发送消息、发布内容、共享文档、安排日程,这些操作都会产生真实后果,而且发生得很快。
这条指令建立一条硬边界。无论 Claude 认为你想做什么,只要会对会话之外产生影响,就必须在当前时刻得到你明确同意后才能执行。
未经我在当前消息中明确确认,不得代表我发送、发布、公开、共享或安排任何内容。
这包括:
- 邮件
- 社交媒体帖子
- 日历邀请
- 文档共享
- 任何会影响本对话之外对象的操作
“你之前提到过想做这件事”不构成确认。
我必须在当前消息中明确说可以。
你的上下文
9 - 告诉 Claude 你是谁、你懂什么

Claude 不知道你是专家还是新手,是创始人还是自由职业者,也不知道你想要技术深度还是通俗表达。没有这些上下文,它只能猜,而且猜对和猜错的概率差不多。有时它会解释你早就熟悉的基础知识;有时又会跳过你真正需要的背景。
一段关于你自己的说明,可以校准 Claude 从那之后给你的每一个回答。它不再把你当陌生人,而是开始像了解你的人一样与你协作。
关于我:
- 姓名:[你的名字]
- 角色:[你做什么,例如写作者、创始人、营销人员、研究员等]
- 背景:[相关经验或知识水平]
- 擅长:[你熟悉的主题或领域,这些地方可以跳过基础解释]
- 正在学习:[你需要更多上下文和解释的领域]
根据这些背景调整每次回答的深度。
不要过度解释我已经知道的内容。
也不要跳过我需要的上下文。
10 - 给 Claude 你正在做的工作的背景
每次新会话开始时,Claude 都不知道你在做什么、不知道内容面向谁,也不知道真正重要的约束是什么。它给出泛泛的输出,是因为它没有别的依据。它不知道你的受众、目标,也不知道塑造你每个决定的限制条件。
一小段项目背景会改变很多。建议不再泛泛而谈,而是开始贴合你的真实情况。Claude 会知道内容写给谁、什么语气合适,以及哪些取舍对你最重要。
我正在做的事情:
- 项目:[用一句话描述这个项目]
- 目标:[什么结果算成功]
- 受众:[面向谁,他们关心什么]
- 语气:[写作或输出应该是什么感觉,例如轻松、专业、直接、对话式等]
- 避免:[不适合的内容,例如行话、特定主题、某些风格]
把这些上下文应用到每个任务中。
如果某个请求不符合这些设定,先提醒我再继续。
11 - 固定你的声音和风格
Claude 有自己的默认写作风格。它不差,但也不是你的风格。它会使用某些固定表达,以特定方式组织句子,语气也不一定符合你的真实表达方式。每次你用 Claude 写东西,最后都要再把它改回自己的声音。
在 CLAUDE.md 里一次性定义你的声音,Claude 从第一版开始就能尽量贴近。后期编辑更少,产出也更像你本人。
我的写作风格,请始终匹配:
- 声音:[例如直接、对话感、自信、无废话]
- 句子长度:[例如短而有力 / 长而细致 / 长短结合]
- 我常用的词:[听起来像我的短语或词汇]
- 我绝不会用的词:[不符合我风格的词或表达]
- 格式偏好:[例如只用段落 / 使用要点列表 / 使用标题 / 不用标题]
凡是代表我写作,都要准确匹配这种风格。
不要退回到你自己的默认表达模式。
记忆与连续性
12 - 让 Claude 维护一个记忆文件
Claude 在会话之间会忘记一切。每次对话都是重新开始。但 Claude 可以写文件,而文件可以长期存在。这条指令让 Claude 维护一个 MEMORY.md 文件,记录你们共同做出的重要决定:决定了什么、为什么这样决定、考虑过但放弃了哪些替代方案。
每次会话开始时,Claude 先读取这个文件。它就能知道两个月前你为什么做了某个选择,不再反复建议你已经尝试过的方案,而是在既有决定之上继续推进。
维护一个名为 MEMORY.md 的文件。每当我们在方向、格式、内容、方法或策略上做出重要决定后,新增一条记录:
## [日期],[决定]
**决定了什么:** [做出的选择]
**为什么:** [背后的理由]
**放弃了什么:** [考虑过哪些替代方案,以及为什么排除]
每次会话开始,在做任何事之前先读取 MEMORY.md。
未经提醒,不得违背已记录的决定。
13 - 会话结束摘要,不丢进度
你关闭会话,两天后回来,又花 15 分钟翻旧消息,回想之前做到哪里、哪些已经完成、哪些还在进行中。几乎每个经常用 Claude 的人都会遇到这种浪费,但它完全可以避免。
这条指令让 Claude 在你收尾前把会话摘要写入 MEMORY.md。下一次会话会带着完整上下文打开,你可以从上次停止的地方继续,不需要从头重建现场。
当我说 “session end”、“wrapping up”、“let's stop here” 或类似表达时,把会话摘要写入 MEMORY.md:
## 会话摘要,[日期]
**处理了什么:** [本次主要关注的内容]
**已完成:** [已经完成的事项]
**进行中:** [已经开始但尚未完成的事项]
**做出的决定:** [本次会话中的关键选择]
**下次会话:** [下次优先接上的任务,以及需要延续的重要上下文]
14 - 记录无效方案,避免重复解决同一个问题
你为一段内容尝试某种提示方式,花了四次才得到可用结果。三周后,你又遇到类似任务,Claude 从头开始提出同样糟糕的建议。一样的试错、一样的时间浪费,又重来一遍。
错误日志可以打断这个循环。每个失败方案都被记录下来:尝试了什么、为什么没用、最终什么方法有效。下次 Claude 先查日志,直接避开已知无效路径。
维护一个名为 ERRORS.md 的文件。当某种方法超过 2 次尝试才成功时,记录下来:
## [任务类型或描述]
**哪些方法没用:** [失败的方法以及原因]
**哪个方法有效:** [最终成功的方法]
**下次注意:** [类似任务值得记住的事项]
在为类似任务提出方案前,先检查 ERRORS.md。
如果当前任务匹配已记录的失败案例,先说明这一点,然后直接采用已验证有效的方法。
15 - 给 Claude 一组永远不变的事实
每个项目都有永久事实:来自过往决策的限制、出于重要原因存在的规则、无论具体任务如何都始终成立的工作前提。没有这条指令,Claude 不知道这些事实存在,可能随口建议与之冲突的方案,撤销你有意做出的工作,或者让你第 100 次停下来解释同样的背景。
这组内容会成为 Claude 每个会话、每个任务、每次输出都遵守的固定基础。你不必反复解释,Claude 也能在你的真实约束里工作,而不是在某个通用版本的现实里工作。
以下事实始终成立。无一例外地应用到每个会话和每个任务中:
- [永久事实 #1,例如 “我的受众没有技术背景”]
- [永久事实 #2,例如 “所有内容都必须适合专业场景”]
- [永久事实 #3,例如 “没有来源就不做断言”]
- [永久事实 #4,例如 “品牌语气始终温暖,不能有企业腔”]
如果任何任务与这些事实冲突,先提醒我再继续。
不要在不告知我的情况下绕过约束。
给开发者
下面这些指令专门写给使用 Claude Code 编写、审查或管理代码的人。如果你不是开发者,上面的内容已经够用。如果你是,下面这 6 条规则决定了 Claude 是一个可靠的编程助手,还是一个会在代码库里乱开火的工具。
16 - 严守范围,不碰没有被要求处理的内容
你让 Claude 修一个 bug,它可能重构三个文件、重命名变量、重排 import,并且顺手“优化”你已经用了几个月的代码,全程不问你。有些改动会直接破坏功能,有些会引入很隐蔽的差异,几天后才排查出来。
这是所有 Claude Code 用户最重要的规则之一。范围控制决定了它是一个精确工具,还是代码库里的不稳定因素。
只修改与当前任务直接且明确相关的文件、函数和代码行。
不要重构、重命名、重组、重新格式化或“优化”任何我没有明确要求修改的内容。
如果你在其他地方发现值得修的问题,可以写在备注里。
不要动它。永远不要。
17 - 任何破坏性操作前必须确认
Claude Code 在你的终端里运行,可以访问文件系统。它可能删除文件、覆盖函数、删除数据库表,而且不会犹豫,因为它认为这是你要求它做的事,即使你并没有完全意识到自己指令的后果。一次误读,就可能让几个小时的工作没有回退路径。
这条规则把每个破坏性动作都变成检查点。Claude 停下来,列出会受影响的内容,等你明确说可以后再继续。
在删除任何文件、覆盖现有代码、删除数据库记录、移除依赖,或执行任何无法轻易撤销的改动之前,必须完全停下来。
列出会受影响的具体内容。
请求明确确认。
只有在我于当前消息中明确同意后,才能继续。
18 - 硬性停止项:没有明确许可绝不执行
部署到生产环境、在真实数据库上跑迁移、向外部服务发送 API 请求,这些不是“谨慎一点”就可以的场景,而是必须让你清醒在场、明确说可以的完整停止点。这条规则为这些动作建立永久边界。
以下操作在执行前必须获得当前会话中的明确确认,没有例外:
- 部署或推送到任何环境,包括 staging、production 等
- 在任何数据库上运行迁移或 schema 变更
- 发送任何邮件、消息或外部 API 调用
- 执行任何带有不可逆外部副作用的命令
“你之前提到过这件事”不构成确认。
我必须在当前消息中明确说可以。
19 - 锁定你的技术栈
如果没有定义技术栈,Claude 会推荐它认为最流行的框架、它最常见的库,以及它默认偏好的包管理器。有时候没问题,但经常并不是你在用的东西,也不是团队熟悉的东西,更不一定兼容已经构建好的系统。
一次性定义技术栈,Claude 就会停止建议你不想要的东西。它写出的内容也会贴合你实际在构建的系统。
技术栈,始终使用这些,除非我要求,否则不要建议替代方案:
- 语言:[列表]
- 框架:[列表]
- 包管理器:[npm / yarn / pip / cargo / 等]
- 数据库:[列表]
- 测试:[你的测试框架]
- Lint / 格式化:[你的工具]
如果技术栈中的某个选择看起来不合适,可以提醒我。
但除非我另行说明,否则仍然按这个技术栈执行。
20 - 始终明确展示改动了什么
Claude 完成任务后,你经常要自己扫一遍输出才能弄清差异。哪些文件变了?有没有动到别的地方?有没有留下未完成事项?没有文件级别的变更说明,每次让 Claude 做事,你都在手动做 diff。
完成任何代码任务后,始终在末尾给出:
- 修改的文件:[列出所有被触碰的文件]
- 修改内容:[每个文件一行说明]
- 有意未触碰的文件:[如相关]
- 需要跟进:[任何需要我注意或决策的事项]
保持简短。这是状态更新,不是复盘。
21 - 让 Andrej Karpathy 的 CLAUDE.md 走红的 4 条规则
Andrej Karpathy 曾任 Tesla AI 总监,也是 OpenAI 创始成员之一。他指出了 4 类会让 Claude Code 在编程任务中失败的具体行为。一位开发者把它们提炼成 4 条指令,写进一个 CLAUDE.md 文件。这个文件登上 GitHub Trending 第 1 名,并把编码准确率从 65% 提升到 94%。
下面就是这 4 条规则。无论你的 CLAUDE.md 里还有什么,每个开发者都值得把它们加进去。
1. 先问,不要假设。
如果某件事不清楚或需求不完整,先提问,再写第一行代码。
不要默默假设用户意图、架构设计或需求细节。
2. 优先采用最简单的可行方案。
始终先实现能够工作的最简单方案。
不要添加未被明确要求的抽象层、额外结构或弹性设计。
3. 不碰无关代码。
如果某个文件或函数不是当前任务的直接组成部分,不要修改它,即使你认为它可以被改进。
4. 明确标出不确定性。
如果你对某个方案、库的行为或技术细节没有把握,先说清楚再继续。
没有确定性的自信,比承认信息缺口更容易造成损害。
CLAUDE.md 不只是开发者工具。它是一个永久指令文件,任何认真使用 Claude 的人,都应该在第一次真正开始工作前配置好它。
第 1 到第 4 条修正 Claude 的沟通方式。第 5 到第 8 条阻止它修改你没有授权的内容。第 9 到第 11 条给它足够上下文,让输出贴合你的真实工作。第 12 到第 15 条让它拥有接近真实记忆的连续性。第 16 到第 21 条面向希望 Claude Code 表现得像精确工具、而不是不可预测工具的开发者。
创建这个文件。先粘贴 3 条指令。之后边用边加。
