ByteNoteByteNote
Karpathy 十条军规:让 Claude 从码农变搭档
字

字节笔记本

2026年10月5日 · 约 9 分钟读完

Karpathy 十条军规:让 Claude 从码农变搭档

API中转
¥120

Karpathy 加入 Anthropic 才五周,他团队里的人把他真正在用的 CLAUDE.md 发了出来,全网随即炸了:2800+ 赞、7400+ 书签、60 万浏览。

这不是之前 GitHub 上 18.3 万 Star 的那个 4 条社区版,而是一份全新的内部版十条军规,比社区版多了整整 6 条,全是他在 Anthropic 内部贴身实战 Claude 之后攒出来的精华。

更大的事也在同时发生:Claude Code 创始人 Boris Cherny 说了句让全网安静的话,「我不再给 Claude 写提示词了。循环替我写。」十条军规和循环工程,正好是理解这句话的两把钥匙。

Karpathy 的 CLAUDE.md 内部版十条军规

一、泄露了什么

这次流传出来的文件,不是 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

(CLAUDE.md:让语言模型写出你不会重写的代码的实战笔记)

副标题更妙:A Short List of Rules, Earned by Watching the Same Mistakes Twice,看够了同样的错误犯两遍,才攒出来的规则。

摘要一句话点明核心:模型擅长生成看起来合理的代码,但不擅长发现「看起来合理」跟「真的对」之间的差距,这份纪律只能从过程中来。

补充一个背景:CLAUDE.md 是 Claude Code 每次启动都会读取的项目说明文件,相当于给 AI 立的规矩。规矩立得好不好,直接决定它在你的代码库里是帮手还是拆迁队。Karpathy 这份的特殊之处在于,它不是一次性的提示词,而是跟着真实项目迭代出来的纪律清单。

二、前四条:社区版的底子

前四条在社区版里就有,这次是精炼重写。

1. 先读再写(Read Before You Code)

模型写出烂代码最大的原因,是它根本没读你的代码库就开始动手。先读不是扫一眼,而是去看要改的文件,把已有模式照搬,把 import 看清楚,弄明白项目实际依赖什么,而不是凭空猜。

2. 先想再敲(Think Before You Code)

搞清楚要做什么再动手。「添加认证」其实是五件不同的事:把它们列出来,说明取舍。搞不懂就停下来问,而不是用一段看着像那么回事、一跑就崩的代码糊弄。

3. 极简主义(Simplicity)

写能解决眼前问题的最少代码。测试标准是:如果某样东西被抽象出来的唯一理由是「以防万一」,那就是过度构建。

4. 精准手术(Surgical Changes)

diff 应该和任务一样小。没让碰的别碰,匹配已有代码风格,不要顺手重排格式。判断标准:你能为每一行改动找到和用户需求的直接关联吗?找不到,就撤回。

三、后六条:内部版真正的精华

Karpathy 十条军规一览:前 4 条社区版已有,后 6 条来自内部实战

5. 验证(Verification)

你觉得能跑的代码和真正能跑的代码之间,隔着一条叫「测试」的鸿沟。修 bug 时别上来就改:先写一个能稳定复现的测试用例,然后修,跑一遍测试通过才算真修好。测那些真会在用户面前炸的场景,不只是鸡毛蒜皮。

6. 目标驱动执行(Goal-Driven Execution)

整份文件的灵魂。动手前把「做完了」长什么样说清楚,而且得是能验证的:

  • 反例:「加个验证」,太模糊,AI 只能自由发挥
  • 正例:「用户邮箱没填或填错了,弹出明确报错,两种情况都测过」

活儿分几步的,先把计划列出来,别让 AI 闷头干了一小时,回来一看方向就是错的。

7. 调试(Debugging)

东西坏了,去查,别猜。读完整的报错和堆栈跟踪,先复现再改,一次只改一个地方。

8. 依赖管理(Dependencies)

每一个依赖都是你无法控制的永久代码。加之前先问:标准库能不能搞定?加了就说清楚为什么,让选择可见,不要悄悄塞进 manifest。

9. 沟通(Communication)

说你做了什么、为什么,不只是丢一块代码。对不确定的事要精确描述:「我不确定这个库是否支持流式传输」叫好沟通,「我觉得这应该能用」不叫。

10. 常见翻车模式(Common Failure Modes)

Karpathy 给 AI 最常见的翻车姿势起了名字,个个精准:

名称症状
Kitchen Sink(厨房水槽)让你修水龙头,它把整个厨房拆了重装
Wrong Abstraction(错误抽象)同一段代码复制粘贴好几遍,却不知道该合并
Optimistic Path(盲目乐观)只想一切顺利,没考虑用户输错、网络断、服务器挂
Runaway Refactor(失控连锁)本来只改一个文件,结果像多米诺骨牌倒了十几个

发现自己正在犯这些错时,正确做法是立刻停手,而不是硬着头皮冲到底。

四、4 条与 10 条差在哪

社区版 4 条告诉 AI 怎么写代码:先读、先想、极简、精准。内部版 10 条补上了怎么检查自己、怎么调试、怎么沟通、怎么识别翻车,这是从「听话的码农」到「有自检能力的工程搭档」的质变。

没有这份纪律文件,循环跑得再快也只是一台高速生产 bug 的机器;有了它,循环才知道怎么在翻车前刹车。

五、更大的事:循环工程(Loop Engineering)

循环工程闭环:目标、执行、检查、记忆

Boris Cherny 的原话是:「我不再给 Claude 写提示词了。循环替我写。我的工作,就是写循环。」

这不是比喻。Claude Code 已经内置了两条命令:

  • /goal:干到完成为止
  • /loop:按节奏定期检查

写代码的 Claude 不给自己打分,另一个模型专门负责检查到没到目标。做完一件记下来,下次启动接着干,你睡着了,它还在跑。

Boris 的用法更极端:他让好几个 Agent 在后台永远运转,一个找架构优化点,一个找可以合并的重复代码。Claude 犯了重复错误,他就让 Claude 自己把教训写进 CLAUDE.md,修正随即传播到未来的每一次运行。

Karpathy 的十条军规,本质上就是给循环提供自检标准。

六、三次范式跃迁

阶段范式人的角色
1.0提示词工程一句一句跟 AI 对话的「操作员」
2.0上下文工程管理上下文的「编辑者」
3.0循环工程定好目标、搭好系统、放手让 AI 自己跑的「设计者」

人类正在从操作员变成设计者:定义约束、设计系统,在更高维度上驾驭 AI。

七、写在最后

Karpathy 的十条军规和 Boris 的循环工程,是同一枚硬币的两面:一面刻着纪律,一面刻着自动化。纪律告诉 AI 怎么检查自己,自动化让这套检查永不停歇地运转。

对普通开发者来说,这件事的门槛并不高:从给自己项目的 CLAUDE.md 写下第一条「先读再写」开始,把每次踩过的坑沉淀成规则,再逐步把可验证的目标交给循环。当 AI 足够聪明的时候,约束它的方式,比使用它的方式更重要。而那个能定义约束、设计系统、在更高维度上驾驭 AI 的人,才是下一个时代真正的稀缺资源。

参考来源:本文基于公开的 X 帖子与新智元等媒体报道整理,参考 GitHub multica-ai/andrej-karpathy-skills 与 新浪财经/新智元报道。

相关文章

分享: