5 月
154 K Star!Andrej Karpathy 用一份文件改了 Claude Code 的”脑子”
核心结论:这份让 GitHub 一夜爆火的 CLAUDE.md 不是魔法,是 Karpathy 把 LLM 的「品控问题」翻译成了 AI 能执行的 4 条铁律。读完你就能让它作用于你自己的项目。
作者:智盒编辑团队 · 2026 年 5 月 26 日 · 实测环境:Claude Code v 2.1+, Cursor 0.47+
我们实测安装 48 小时后的感受:Claude Code 的 diff 肉眼可见地变干净了。最明显的变化是——它开始反问你了。需求写得不清楚时,它不会像以前一样闷头写,而是列出 2-3 种理解让你选。这种体验差异,就像从和一个”听话但不动脑”的初级工程师合作,变成了和一个”会挑战你假设”的高级工程师配对。
AI 摘要
- Andrej Karpathy 公开指出 LLM 编程的核心问题:瞎假设、过度工程、乱改无关代码
- 社区将他的洞见转化为一份 CLAUDE.md 文件,在 GitHub 一夜获 154,995 Stars
- 4 条原则直击痛点:先想再写、简单至上、精准手术、目标驱动
- 这份文件可以直接安装到你的 Claude Code / Cursor / Codex CLI 项目中
适合谁读
- 日常使用 Claude Code、Cursor、GitHub Copilot 写代码的开发者
- 被 AI 过度工程、乱改无关代码、不问你直接假设等行为折磨过的工程师
- 想了解「如何驯服 AI 编程助手」的团队 Tech Lead
背景:Karpathy 的「灵魂暴击」
2026 年 5 月,Andrej Karpathy 在 X 上发了一条帖子,直指 LLM 编程助手的核心问题。这不是技术问题,是行为问题:
“模型替你做了错误的假设,然后闷头往下跑,不检查。它们不会管理自己的困惑,不寻求澄清,不揭示矛盾,不呈现权衡,该反驳的时候不反驳。”
他列出的问题清单精准戳中了每个 AI 编程用户的痛点:
- 沉默假设 — 遇到模糊需求不提问,选一个理解闷头写,错了也不说
- 过度工程 — 100 行能解决的事写成 1000 行,凭空造抽象
- 副作用删除 — 改 A 模块顺手把 B 模块的注释和代码”优化”掉
- 不清理自己 — 改了代码不删对应的 import,变量和方法悬空
这条帖子迅速引爆了开发者社区。但真正的爆点在后头。
重点:一个文件,四条铁律
社区开发者 @jiayuan_jy 把 Karpathy 的洞见翻译成了一个可执行的 CLAUDE.md 文件,托管在 GitHub 上。24 小时内突破 15 万 Star,项目地址:andrej-karpathy-skills。
为什么一个 CLAUDE.md 能拿到 15 万 Star?因为它解决了 AI 编程助手最根本的信任问题:你的 AI 需要一个行为准则。
这个文件的精髓是 4 条原则,每一条都是一道防止 AI “跑偏”的防火墙。
原则一:先想再写(Think Before Coding)
不假设。不隐藏困惑。呈现权衡。
这是最核心的一条。LLM 面对模糊需求时的默认行为是”选一个最可能的解释直接开写”,这恰恰是 bug 的温床。
- 显式陈述假设 — 不确定就问,别猜
- 呈现多种解释 — 需求有歧义时,列出选项而非悄悄选一个
- 该反驳就反驳 — 需求有明显更简单的方案时,说「不」并提出替代
- 困惑就停 — 明确说出哪里不清楚,请求澄清
实际效果:你的 AI 从”闷头干的初级工程师”变成了”会提问、会反驳、会权衡的高级工程师”。
原则二:简单至上(Simplicity First)
解决问题的最少代码。零投机代码。
这是对过度工程的直接回应:
- 不写没被要求的功能
- 不为单一用途的代码建抽象层
- 不加没被要求的”灵活性”或”可配置性”
- 不给不可能出现的场景写错误处理
- 200 行能变 50 行?重写。
测试标准:一个高级工程师看到这段代码会说它”过度复杂”吗?如果是,简化。

原则三:精准手术(Surgical Changes)
只碰必须碰的。只清理你自己制造的垃圾。
这是对”副作用修改”的防线:
- 不要顺手”优化”旁边的代码、注释、格式
- 不要重构没坏的东西
- 沿用现有风格,即使你认为你的方式更好
- 发现无关的遗留死代码?提出来,但别删
- 你自己的修改造成了未使用的 import/变量/函数?删掉
测试标准:diff 里的每一行改动,都应该能追溯到用户的需求。
原则四:目标驱动(Goal-Driven Execution)
定义成功标准。循环直到验证通过。
这是 Karpathy 最核心的洞见。他原话是:
“LLM 在循环直到达成特定目标这件事上异常出色……不要告诉它做什么,给它成功标准,看它自己跑。”

对读者的影响:装上之后到底有什么变化?
简单说:你的 AI 从”最快速度写代码”变成了”最稳方式写代码”。
- diff 变干净了 — 每次 PR 只有你要求的改动,没有”顺便优化”
- 重构率下降 — 代码一次到位,不再因为过度复杂而重写
- AI 开始提问了 — 需求模糊时它会反过来问你,而不是闷头写错
- PR review 变快了 — 每个改动都有清晰的目的,不用猜”这行为什么改”
项目 README 中有一条关键提醒:这些规则偏向谨慎而非速度。对于简单任务(改个拼写、改个明显的单行 bug),用常识判断,不需要完整的严谨流程。
实用价值:三种方式接入你的项目
方式一:Claude Code 插件(推荐)
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
方式二:直接下载 CLAUDE.md
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
方式三:Cursor 用户
项目已包含 .cursor/rules/karpathy-guidelines.mdc,直接在 Cursor 中生效。
风险与限制
- 不适合所有场景 — 对简单任务可能显得过度谨慎
- 语言覆盖 — 目前仅英文和简体中文 README
- 非官方 — 这是社区项目,但原则完全源自 Karpathy 的公开观点
FAQ
这份文件和 Claude Code 自带的 CLAUDE.md 有什么区别?
不冲突,是增强。Claude Code 的 CLAUDE.md 是你的项目上下文,Karpathy 原则是 AI 的行为规范。
适合所有编程语言吗?
是的。4 条原则与具体语言无关。
会不会让 AI 变得太谨慎?
对简单任务用常识判断,不需要完整严谨流程。
和 Cursor Rules 有什么关系?
原理相同——定义 AI 的行为准则。Claude Code 用 CLAUDE.md,Cursor 用 rules 文件。








