🔥 AI 大神亲自下场,专治 LLM 编程病
Andrej Karpathy 是谁?
OpenAI 联合创始人
Tesla AI 部门前总监
在 X 上有 300 万+ 粉丝
AI 编程领域最有发言权的人之一
他最近发了一条长文,痛批 LLM 编程的 6 大顽疾:
"模型会替你做错误假设,不检查就继续跑。"
"它们不会管理自己的困惑,不寻求澄清,不指出不一致,不呈现权衡,不在该反对的时候反对。"
"它们特别喜欢过度复杂化代码,膨胀抽象,不清理死代码……100 行能搞定的事非要写 1000 行。"
"它们还会偷偷改变/删除不理解的代码,哪怕那些代码跟你的任务毫无关系。"
这 6 条,条条扎心。用过 Claude Code、Cursor、GitHub Copilot 的人,一定都中过招。
于是有人(multica-ai 团队)把 Karpathy 的观察,浓缩成了一个 CLAUDE.md 文件——就这一个文件,直接给 Claude Code 装上了"大脑升级包"。

🧠 四个原则,根治 AI 编程的"自作聪明"
这个文件的核心只有 4 个原则,每个都精准打击 LLM 的一个坏习惯:
原则一:Think Before Coding(先想后写)
专治:错误假设、隐藏困惑、缺失权衡
LLM 最大的毛病是什么?它选了一个理解,不告诉你,直接开干。
你让它"加个登录验证",它可能理解成"JWT Token 验证",也可能理解成"Session Cookie 验证",还可能理解成"OAuth 第三方登录"——但它不问你,直接按自己猜的写。
这个原则强制 AI 显式推理:
不确定就提问,而不是瞎猜
有歧义时呈现多种解读,让你选
有更简单的方案就反对,而不是无脑执行
困惑时停下来,说出哪里不清楚,等你澄清
以前:AI 闷头写,写完你发现完全不是你要的。
现在:AI 先问"你要哪种验证方式?JWT 还是 Session?需不需要刷新机制?",写对一次过。
原则二:Simplicity First(极简优先)
专治:过度工程、膨胀抽象、死代码堆积
AI 写代码有一个可怕的倾向:它觉得代码越"专业"越好。
你让它"读取一个配置文件",它给你整一个完整的配置管理类,带缓存、带热重载、带类型校验、带默认值回退……最后 200 行代码,其实 20 行就能搞定。
这个原则给 AI 上了紧箍咒:
不要实现没被要求的功能
不要为只用一次的代码造抽象
不要加没被要求的"灵活性"或"可配置性"
不要处理不可能发生的错误场景
如果 200 行能变成 50 行,重写它
检验标准:一个资深工程师看了会不会说"这过度设计了"?如果会,就简化。
以前:AI 写了个"企业级"配置管理器,你看着 200 行代码头皮发麻。
现在:AI 给你 15 行简洁代码,一眼看懂,维护零负担。
原则三:Surgical Changes(手术刀式修改)
专治:乱改无关代码、副作用灾难、风格不一致
这是最让程序员血压飙升的场景:
你让 AI "把登录按钮改成蓝色",结果 diff 里出现了 50 处修改——它不仅改了按钮颜色,还顺手"优化"了旁边的 CSS,删了几个它觉得"没用"的注释,重构了一个它觉得"写得不好"的函数……
最后你的 PR 里混进了 10 个无关改动,review 时根本分不清哪些是任务相关的。
这个原则让 AI 变成手术刀:
不"改进"相邻的代码、注释或格式
不重构没坏的东西
匹配现有风格,哪怕你自己会写得不一样
发现无关死代码?提一下,别删
自己改动造成的孤儿代码(无用导入、变量、函数),自己清理
检验标准:每一行改动都能直接追溯到用户的请求。
以前:git diff 里 80% 是 AI 的"顺手优化",review 时想杀人。
现在:diff 干干净净,只有你要的改动,review 秒过。
原则四:Goal-Driven Execution(目标驱动执行)
专治:任务模糊、验证缺失、反复返工
Karpathy 说了一句金句:
"LLMs 极其擅长循环执行直到达成特定目标……别告诉它该做什么,给它成功标准,然后看着它跑。"
这个原则把模糊指令变成可验证的目标:
| "写一个复现 bug 的测试,然后让它通过" | |
对于多步骤任务,AI 会先列出计划:
1. [步骤] → 验证:[检查点]2. [步骤] → 验证:[检查点]3. [步骤] → 验证:[检查点]
强成功标准让 AI 能独立循环,弱标准("让它跑起来")让你不断澄清。
以前:你说"修个 bug",AI 改完你测了一下,bug 还在,来回 5 轮。
现在:AI 先写复现测试,确认能复现 bug,然后修改,再跑测试确认通过。一次到位。
🚀 安装只需 30 秒,支持 Claude Code + Cursor
方式一:Claude Code 插件(推荐)
在 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.mdecho "" >> CLAUDE.mdcurl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
方式三:Cursor 用户
项目里已经内置了 .cursor/rules/karpathy-guidelines.mdc,直接用。
✅ 怎么知道它在起作用?
装上之后,你会观察到这些变化:
💡 一句话总结:从"指令式"到"目标式"
Karpathy 的核心洞察,也是这个文件的灵魂:
别告诉 AI 该做什么,给它成功标准,然后看着它跑。
这不仅是 4 条编程规范,更是一种 AI 协作范式的升级——从"你指挥我干活"的指令式,进化到"你定目标我达成"的目标式。
在 Vibe Coding 越来越火的今天,这个文件解决了一个关键问题:
AI 不是不够聪明,是它太喜欢"自作聪明"。
给它装上这个"大脑升级包",让它学会先想后写、极简优先、精准修改、目标驱动——你的 AI 编程体验,会从"能用"直接进化到"好用"。
夜雨聆风