
字节笔记本
2026年10月5日 · 约 9 分钟读完
Karpathy 内部版 CLAUDE.md 十条军规流出
Karpathy 加入 Anthropic 才五周,他团队里的人把他真正在用的 CLAUDE.md 发了出来。有人把它照搬进自己的项目后,Claude 的第一句回答就完全不同:不再输出泛泛的标准答案,而是开始按照项目自己的思维方式工作。

一、流出的到底是什么
事情源头是 X 平台上一位开发者的分享,原话是:
"A friend on his team just showed me the exact Claude.md file he actually uses. I dropped it into my setup. The very first response was different. Not slightly different. Completely different."
翻译过来:他团队里的朋友给他看了 Karpathy 实际在用的 CLAUDE.md,他把文件放进自己的环境后,Claude 的第一个回应就完全不同了,不是一点点不同,是完全不同。这条分享很快传开,拿到 752 赞、78 转。
需要说明的是,这份文件不是 GitHub 上那个 18.3 万 Star 的 karpathy-skills 社区仓库。社区版只有 4 条规则、65 行文本;这次流出的是 Karpathy 入职 Anthropic 后,在内部实战中不断迭代的真实配置文件,全文排版成学术论文的格式,标题叫 "CLAUDE.md: Field Notes on Getting a Language Model to Write Code You Will Not Rewrite",直译就是:让语言模型写出你不会重写的代码的实战笔记。
二、十条军规完整列表
前四条:社区版已有,内部版更精炼
第一条:先读再写(Read Before You Code)
模型写出烂代码最大的原因,是它根本没读你的代码库就开始动手。先去看要改的文件,把已有模式照搬,把 import 看清楚。
第二条:先想再敲(Think Before You Code)
搞清楚你要做什么再动手。「添加认证」其实是五件不同的事,把它们列出来、说明取舍。搞不懂就停下来问。
第三条:极简主义(Simplicity)
写能解决眼前问题的最少代码。测试标准:如果某样东西被抽象出来的唯一理由是「以防万一」,那就是过度构建。
第四条:精准手术(Surgical Changes)
diff 应该和任务一样小,没让碰的别碰。判断标准:你能为每一行改动找到和用户需求的直接关联吗?找不到,就撤回。
后六条:内部版新增,真正的精华
第五条:验证(Verification)
修 bug 时别上来就改:先写一个能稳定复现的测试用例,然后修,跑一遍测试通过才算真修好。
第六条:目标驱动执行(Goal-Driven Execution)
动手前把「做完了」长什么样说清楚,而且得是能验证的。反例:「加个验证」,太模糊;正例:「用户邮箱没填或填错了,弹出明确报错,两种情况都测过」。
第七条:调试(Debugging)
东西坏了,去查,别猜。读完整的报错和堆栈跟踪,先复现再改,一次只改一个地方。
第八条:依赖管理(Dependencies)
每一个依赖都是你无法控制的永久代码。加之前先问:标准库能不能搞定?
第九条:沟通(Communication)
对不确定的事精确描述:「我不确定这个库是否支持流式传输」叫好沟通;「我觉得这应该能用」不叫。
第十条:常见翻车模式(Common Failure Modes)
| 名称 | 症状 |
|---|---|
| Kitchen Sink(厨房水槽) | 让你修水龙头,它把整个厨房拆了重装 |
| Wrong Abstraction(错误抽象) | 同一段代码复制粘贴好几遍,却不知道该合并 |
| Optimistic Path(盲目乐观) | 只想一切顺利,没考虑用户输错、网络断、服务器挂 |
| Runaway Refactor(失控连锁) | 本来只改一个文件,结果像多米诺骨牌倒了十几个 |
三、4 条和 10 条,差在哪
社区版 4 条告诉 AI「怎么写代码」:先读、先想、极简、精准。
内部版 10 条补上了「怎么检查自己、怎么调试、怎么沟通、怎么识别翻车」,这是从「听话的码农」到「有自检能力的工程搭档」的质变。
没有这份纪律文件,循环工程跑得再快,也只是一台高速生产 bug 的机器;有了它,循环才知道怎么在翻车前刹车。
四、为什么照搬后第一句回答就不同
因为 CLAUDE.md 是 Claude Code 的系统指令:每次对话开始时加载,影响每一句回应。

没有 CLAUDE.md,Claude 按默认行为工作,给出泛泛的「标准答案」;有了 Karpathy 的 CLAUDE.md,Claude 从第一句开始就按十条军规工作:先读再写、先想再敲、极简、精准、验证。
这就是「第一个回答就完全不同」的原因:不是模型变了,是模型的行为准则变了。
五、更大的背景:循环工程
这份文件流出的前后,Claude Code 创始人 Boris Cherny 有一句话流传很广:
我不再给 Claude 写提示词了。循环替我写。我的工作,就是写循环。
Karpathy 的十条军规加上循环工程的思路,是同一枚硬币的两面:
- 军规告诉 AI 怎么检查自己;
- 循环让这套检查永不停歇地运转。
没有军规,循环不知道什么时候说「不」;没有循环,军规每次都得人重新发。两者结合,就是从「提示词工程」到「循环工程」的范式跃迁。
六、怎么用
直接放进你的项目
把十条军规整理成 CLAUDE.md,放在项目根目录:
# CLAUDE.md
## 核心规则
1. 先读再写:改代码前先读现有代码和模式
2. 先想再敲:搞清楚要做什么再动手,搞不懂就问
3. 极简主义:只写解决眼前问题的最少代码
4. 精准手术:diff 和任务一样小,没让碰的别碰
5. 验证:修 bug 先写复现测试,改完跑测试
6. 目标驱动:动手前定义可验证的「做完了」标准
7. 调试:去查别猜,先复现再改
8. 依赖管理:加依赖前先问标准库能不能搞定
9. 沟通:精确描述不确定的事
10. 常见翻车:发现自己犯厨房水槽、盲目乐观、失控连锁时立刻停手在 Claude Code 里生效
# CLAUDE.md 放在项目根目录,Claude Code 启动时自动读取
cd your-project
claude
# Claude 从第一句开始就按十条军规工作不需要改任何模型参数,也不需要换工具,一份文本文件就够了。团队里可以把它放进仓库模板,让每个新项目自带这份纪律。
七、和公开实践的相互印证
这套军规并不是孤例,它和多个公开的工程实践能对上:
- 社区广泛流传的 Claude Code 最佳实践推荐用干净上下文做独立代码审查(fresh context review),对应第十条的翻车自查和第五条的独立验证;
- 循环工程方向的研究强调生成器与评估器分离,让「写代码」和「检查代码」互相独立,与第五条的思路一致;
- 各类团队的内部 AI 编码规范,大多也收敛到同样几条:先读后写、小步 diff、控制依赖、精确沟通。
规则的具体措辞可以各自调整,但方向高度一致:给足够聪明的 AI 加上可执行的纪律。
八、小结
当 AI 足够聪明的时候,约束它的方式,比使用它的方式更重要。
Karpathy 的十条军规不是「让 AI 更聪明」的技巧,它是「让 AI 更守纪律」的框架。聪明的 AI 不加约束,等于高速生产看起来合理的烂代码;聪明的 AI 加十条军规,才是有自检能力的工程搭档。
CLAUDE.md 给循环提供自检标准:循环让 AI 不停跑,军规让它在翻车前刹车。把 CLAUDE.md 复制进项目根目录,一句话,Claude 从此不同。
本文基于 X 平台公开爆料与相关公开资料整理,规则内容以原文为准。



