KARPATHY × CLAUDE CODE
你的AI写代码像个不听话的实习生?
一位AI大神的推文 × 一个神奇文件彻底改变AI编程体验
读完预计 8 分钟 · 建议收藏

📖 文章摘要
你有没有这种经历:让AI帮你改一个Bug,结果它顺手把旁边五个函数全重构了;让它写100行代码,它给你整出1000行"优雅架构"……这不是你的问题,也不是AI变笨了。OpenAI前研究员、AI界的传奇人物Karpathy,用一条推文道破了真相。而现在,有人把这个真相变成了一个文件,装进去,AI编程助手立刻脱胎换骨。
你有没有遇到过这种情况——
让AI帮你改一个小Bug,三分钟后,它交给你一份"重构方案",把整个项目的文件结构推倒重来了。
或者你说:"帮我写个用户登录功能。"它洋洋洒洒给你写了2000行,还带着什么"企业级鉴权中间件"、"分布式Token管理架构"……
你就想写个登录啊,它非要给你整出个阿里级别的基础设施。
😤 很多人的心声:我特么就想让它安静干活,别自作聪明好吗?
这不是你的问题。也不是Claude或者ChatGPT变傻了。
这是AI编程助手的系统性缺陷。而且,最近有个人把这个缺陷讲清楚了——
他叫 Andrej Karpathy。
🧠 Karpathy是谁?为什么他说的话,整个开发圈都在转发
如果你不太了解Karpathy,我给你一分钟简介:
他是OpenAI的联合创始人之一,Tesla自动驾驶AI的前核心负责人,被公认为"现代深度学习时代最懂工程的研究员之一"。他写的教程,是全球数百万AI工程师的入门圣经。
就是那种——他随手发一条推文,HackerNews能讨论三天的人。
而就在不久前,他发了一条关于"AI编程助手"的推文,狠狠戳中了所有用过Claude Code、Cursor的人:
"模型会替你做出错误假设,然后不假思索地执行。它们不管理自身的困惑,不寻求澄清,不呈现矛盾,不展示权衡,在应该提出异议时也不反驳。"
"它们真的很喜欢把代码和API搞复杂,堆砌抽象概念,不清理死代码……明明100行能搞定的事,非要实现成1000行的臃肿架构。"
—— Andrej Karpathy
你是不是感觉——
被说到灵魂深处了。
🤔 等等,AI为什么会这样?这锅到底怎么来的
很多人以为AI"乱发挥"是模型能力不够,其实恰恰相反——
是因为它太"努力"了。
想象一下,你招了一个超级积极的实习生。聪明,勤快,每天热情满满。你说"帮我整理一下报告",他觉得:既然要整理,不如顺便把排版优化了,把引用格式统一了,把参考文献补齐了,把字体也换成更专业的……
三小时后他交给你一份,你完全认不出来的文档。
你的第一反应是什么?气得想打人。
💡 关键洞察:AI的训练数据里充满了"写得很完整"、"设计很严谨"的优质代码。它学会了:越完整越好,越健壮越好,越能处理边缘情况越好。但它没学会的是:你只要一个螺丝刀,不是一个五金工具箱。
更深的问题是——
AI是个极度"自信"的存在。当你的指令有歧义,它不会说"我不确定你想要什么",它会选一个最可能的解读,然后全力冲刺。
它冲在了你以为的方向上。只是那个方向,不是你真正要去的地方。
这就是问题的根源。
⚡ 一个文件,四条铁律,把AI编程助手从"乱来"变"听话"
有个叫 forrestchang 的开发者,读完Karpathy的推文,直接干了一件事——
把Karpathy的观察,提炼成四条具体原则,写进了一个叫 CLAUDE.md 的文件。
这个文件放进你的项目,Claude Code读到它,行为就会发生质变。
等等,CLAUDE.md是什么?简单来说,它是Claude Code的"项目说明书"——Claude Code每次启动,都会优先读这个文件里的规则,然后按照规则行事。
好,我们来看这四条铁律。这才是今天最干货的部分。
原则 1 编码前先思考:不假设,不藏困惑,亮明权衡
这条针对AI最致命的毛病:遇到歧义,默默选一个,然后直接干。装了这条规则之后,AI会被要求:如果有两种理解,先告诉你"我理解成A,但也可能是B,你要哪个";如果觉得你的方案有问题,它得说出来;如果搞不清楚,它会先问,而不是瞎猜。你以为这很基础?其实默认状态下,AI几乎从不这样做。
原则 2 简洁优先:用最少代码解决问题,拒绝过度工程
直接立规矩:50行能搞定的,不许写成200行。不许加没被要求的功能,不许为一次性代码创建抽象层,不许加没人要的"可配置性"和"灵活性"……有一个简单的检验标准:如果一个资深工程师看了这段代码,会觉得"哎这写得太复杂了吧",那就说明超标了,重写。这一条,能让你的代码Review少90%的废话。
原则 3 精准修改:只碰必须碰的,只清理自己造的乱
这条是我个人最爱的。它直接告诉AI:你碰的每一行代码,都得能追溯到用户的请求。不要顺手"改进"旁边的代码,不要重构没坏的东西,不要统一风格……如果你注意到了旁边有死代码,你可以提一句,但不能动它。想想看:多少次你让AI改一个函数,它把整个文件格式化了一遍?这条规则,直接封死这个行为。
原则 4 目标驱动执行:给成功标准,让AI自己循环验证
这是四条里最烧脑、也最厉害的一条。Karpathy说过一句话:"LLM非常擅长循环执行直到达成特定目标。不要告诉它做什么,给它成功标准,然后看着它完成。"换成人话:别说"帮我添加验证"——而是说"先写出无效输入会失败的测试,然后写代码让测试通过"。这个差别,大到你无法想象。
📊 装了之前 vs 装了之后:一张对比表说清楚
🛠️ 怎么用?三分钟上手,手把手教你
装起来极其简单,两种方式:
方式 A Claude Code 插件(推荐,全局生效)
在 Claude Code 里,依次执行:
/plugin marketplace add forrestchang/andrej-karpathy-skills/plugin install andrej-karpathy-skills@karpathy-skills
✅ 装一次,所有项目通用
方式 B 直接下载 CLAUDE.md(按项目配置)
在项目根目录执行:
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
✅ 只影响当前项目,灵活可控
🔥 最恐怖的是……这个逻辑适用于所有AI工具
你以为这只是个Claude Code的小技巧?
不。
Karpathy说的这四个问题——不澄清假设、不管理困惑、过度复杂、乱碰不该碰的——这是所有大语言模型的系统性特征,不管是Claude、GPT-4、Gemini还是Llama。
更深一层:这四条原则,本质上是在给AI装上了一个优秀工程师的工作习惯。
一个真正厉害的工程师,不会收到模糊需求就闷头猛干;不会把一个简单功能写成过度设计的架构;不会顺手改掉没让他动的代码;不会在没有验证标准的情况下说"我完成了"。
这四条原则,正是在把AI往这个方向拉。
💡 更大的启示:你跟AI的交互方式,决定了它的输出质量。给它"指令",它会执行;给它"成功标准",它会思考。这两者之间,差了不止一个维度。
很多人不知道的是——
AI编程助手这两年带来的最大效率提升,不来自于模型本身有多强,而来自于人和AI协作模式的进化。
Karpathy这条推文,以及这个CLAUDE.md文件,就是这种进化的一个缩影。
🌐 等等,这件事背后有个更大的趋势
你有没有注意到——
这个 CLAUDE.md 文件,本质上是在做什么?
它是在给AI设定工作规范。
就像你入职一家公司,会有一本员工手册——告诉你这家公司的文化、边界、做事方式。现在,开发者开始给AI写"员工手册"了。
这不是在驯服AI,这是在定义人和AI的协作契约。
而这个趋势,会越来越明显——不只是在代码领域,在写作、分析、设计、决策……所有AI介入的领域,都会有人开始写这样的"规范文件"。
最懂得跟AI"立规矩"的人,会成为这个时代效率最高的那批人。
不是用AI最多的人,是用AI最对的人。
— 今日金句 —
"别告诉AI该怎么做,给它一个成功标准,然后看着它完成。"
未来最值钱的技能之一,不是写代码,而是知道怎么跟AI协作。而这,才刚刚开始。
战略合作作者
AI研究院 · 李博士
× 给点知识公众号
📲 关注「给点知识」公众号每天学点新知识
夜雨聆风