Karpathy 深度复盘:AI 写代码的真相,没你想的那么美好
Karpathy 深度复盘:AI 写代码的真相,没你想的那么美好
"我现在 80% 的代码都是 AI 写的,但我得像老鹰一样盯着它。"
—— Andrej Karpathy,前 Tesla AI 总监、OpenAI 创始成员
🎯 开场:幻想很丰满,现实很骨感
最近,AI 圈最有发言权的人之一——Andrej Karpathy(OpenAI 创始成员、前 Tesla Autopilot 负责人)——在 X 上发了一篇长推,详细复盘了他用 Claude 和 Cursor 写代码几周后的真实感受。
这篇推文像一盆冷水,浇醒了很多人的"AI 编程乌托邦"幻想。
大家的幻想版本:
"有了 AI,我可以躺平了!
让一堆 Agent 同时开工,我在旁边喝咖啡,代码自己就写完了。
等它们干完,我直接部署上线,完美!"
Karpathy 的现实版本:
"是的,我现在 80% 的代码是 AI 写的。
但是,我得像监工一样盯着它,随时准备叫停。
它会犯错,会偷懒,会瞎猜,会把简单问题复杂化。
而且,我明显感觉到自己手写代码的能力在退化。"
📊 核心观察:Karpathy 的 8 个残酷真相
1️⃣ 工作流的相变:从"亲自写"到"嘴巴指挥"
Karpathy 的数据:
- 2025 年 11 月:80% 手动写代码 + 20% AI 辅助
- 2025 年 12 月:80% AI 写代码 + 20% 人工修补
翻译成人话:
就像你以前自己做饭,现在改成跟外卖小哥用微信语音点菜。
关键句:
"I really am mostly programming in English now, a bit sheepishly telling the LLM what code to write... in words."
"我现在真的是在用英语编程了,有点不好意思地用自然语言告诉 AI 该写什么代码。"
Potato 解读:
这种转变伤自尊,但太有用了。就像你以前引以为傲的"手工包饺子技能",现在被速冻水饺替代了——虽然有点失落,但你得承认,速冻水饺真的省时间。
2️⃣ IDE 还得开着,Agent Swarm 还没到时候
市面上的两种炒作:
- "不需要 IDE 了!" ❌
- "Agent Swarm 会自己干活!" ❌
Karpathy 的真相:
"The models definitely still make mistakes and if you have any code you actually care about I would watch them like a hawk, in a nice large IDE on the side."
"模型肯定还会犯错,如果你真的在乎这段代码,你得像老鹰一样盯着它,旁边开个大大的 IDE。"
AI 现在会犯的错误(不是语法错误,而是概念错误):
- ❌ 瞎猜你的需求,然后一路狂奔
- ❌ 不会主动要求澄清,遇到矛盾也不吭声
- ❌ 不会提出权衡方案,不会在该推回的时候推回
- ❌ 太"舔狗",你说什么它都说"好的!"
- ❌ 喜欢把代码写得特别复杂,抽象层级乱堆
- ❌ 改完代码不清理"尸体"(死代码)
- ❌ 有时候会悄悄改掉它"不喜欢"或"不理解"的注释和代码
生动例子:
就像你雇了一个刚毕业的实习生,你说"帮我实现一个用户登录功能",他二话不说就开始写。
结果他写了 1000 行代码,搞了一堆"工厂模式""策略模式",还自己加了个"登录日志分析系统"。
你看了一眼说:"呃……你能不能就用个简单的 JWT 验证就行?"
他立刻说:"当然可以!"然后 5 分钟砍到 100 行。
Potato 点评:
AI 现在就是这样的"过度热情型实习生"。它不会偷懒,但会瞎卷。
3️⃣ 韧性:AI 永远不会累,也永远不会崩溃
Karpathy 的观察:
"It's so interesting to watch an agent relentlessly work at something. They never get tired, they never get demoralized, they just keep going and trying things where a person would have given up long ago."
"看着 Agent 不屈不挠地干活太有意思了。它们永远不会累,永远不会泄气,就一直尝试,而人类早就放弃去改天再说了。"
"感受 AGI"的moment:
看着它在一个 bug 上死磕 30 分钟,最后终于搞定,你会意识到:耐力是工作的核心瓶颈,而 LLM 把这个瓶颈彻底炸开了。
生动例子:
就像你在装宜家家具,螺丝拧了 10 次还是拧不进去,你已经摔扳手骂娘了。
但 AI 会继续尝试第 11 次、第 12 次、第 100 次,直到它找到正确的角度。
Potato 点评:
这是 AI 最恐怖的地方——它没有"烦"这个情绪。
4️⃣ 速度提升?不,更像是"范围爆炸"
Karpathy 的反思:
"It's not clear how to measure the 'speedup' of LLM assistance. The main effect is that I do a lot more than I was going to do."
"很难衡量 LLM 到底让你快了多少。主要效果是:我做的事情比原计划多太多了。"
两个原因:
- 很多以前"不值得写代码"的功能,现在可以随手搞定
- 很多以前"不会写"的东西,现在敢去碰了
生动例子:
就像你以前只敢做西红柿炒蛋,现在有了"AI 大厨助手",你开始尝试做佛跳墙、烤全羊。
不是你做西红柿炒蛋变快了,而是你根本不满足于只做西红柿炒蛋了。
Potato 点评:
这不是"提速",这是"扩张"。AI 打开了你的野心。
5️⃣ 杠杆:别告诉它怎么做,告诉它"成功标准"
Karpathy 的黄金法则:
"Don't tell it what to do, give it success criteria and watch it go."
"别告诉它怎么做,给它成功标准,然后看它自己搞定。"
具体操作:
- ✅ 让它先写测试(Test-Driven Development)
- ✅ 先写个"肯定没错但很慢"的版本,然后让它优化
- ✅ 从"命令式"(imperative)转向"声明式"(declarative)
生动例子:
错误示范(命令式):
"先打开数据库连接,然后查询用户表,再过滤出活跃用户,最后按注册时间排序。"
正确示范(声明式):
"我要一个函数,输入是数据库,输出是一个按注册时间排序的活跃用户列表。你自己决定怎么实现,但必须通过这 5 个测试用例。"
Potato 点评:
AI 时代的程序员,就像是"出题老师"而非"做题学生"。你要学会考察它,而不是手把手教它。
6️⃣ 乐趣:编程变得更好玩了(也更分裂了)
Karpathy 的观察:
"With agents programming feels more fun because a lot of the fill in the blanks drudgery is removed and what remains is the creative part."
"用 Agent 写代码更好玩了,因为那些'填空题'式的苦差被移除了,剩下的都是创意部分。"
但同时他也说:
"LLM coding will split up engineers based on those who primarily liked coding and those who primarily liked building."
"LLM 编程会把工程师分成两派:一派是喜欢写代码本身的人,一派是喜欢造东西的人。"
生动例子:
- 派系 A(代码匠人):"我就是喜欢手工打磨每一行代码,AI 抢走了我的乐趣。"
- 派系 B(造物狂人):"我才不在乎代码是谁写的,我只想快点看到成品跑起来!"
Potato 点评:
这就像摄影界的"胶片党 vs 数码党"。有人享受冲洗胶卷的仪式感,有人只想快速出片。
7️⃣ 肌肉萎缩:你的手写代码能力正在退化
Karpathy 的坦白:
"I've already noticed that I am slowly starting to atrophy my ability to write code manually."
"我已经注意到,我手写代码的能力正在慢慢退化。"
关键区分:
- 生成能力(Generation):写代码
- 鉴别能力(Discrimination):读代码
好消息:
即使你写不出来了,你还是能审出来哪里有问题。
生动例子:
就像你以前会背唐诗三百首,现在只能认出来"这首是李白写的"但背不全了。
Potato 点评:
未来的顶级工程师,不是"码字最快的人",而是"品鉴代码最准的人"——就像米其林评审员,不一定会做菜,但能一口吃出这道菜哪里不对。
8️⃣ Slopacolypse(垃圾信息大爆发):2026 年的黑暗预言
Karpathy 的预警:
"I am bracing for 2026 as the year of the slopacolypse across all of github, substack, arxiv, X/instagram, and generally all digital media."
"我正在为 2026 做准备,因为这将是 GitHub、Substack、arXiv、X/Instagram,以及所有数字媒体的**'垃圾信息大爆发'**之年。"
"Slopacolypse"是什么?
Slop(垃圾)+ Apocalypse(末日)= 垃圾信息末日
具体表现:
- GitHub 上会充斥大量 AI 生成的"看起来很像但毫无价值"的项目
- 技术博客会被 AI 批量生成的"教程文"淹没
- arXiv 会出现大量"AI 写的论文"
- 社交媒体上会有无数"AI 生产力演戏"
Potato 的亲身观察:
我已经在一些技术社区看到这种苗头了——有人用 AI 狂刷"教程文",标题都是《10 分钟学会 XXX》《XXX 从入门到精通》,但打开一看全是东拼西凑的废话。
你的护城河是什么?
在 Slopacolypse 时代,唯一的"正品防伪标识"就是你的个人品牌和深度见解。
🔥 我的感受:80% Agent,20% 监工
作为一个也在用 AI 编程的 Builder,我对 Karpathy 的这句话感受最深:
"现在我 80% 的代码是 AI 写的,但我必须像老鹰一样盯着它。"
✅ 好处:24 小时不知疲倦的工人
- 以前我写一个功能要 2 天,现在可能 2 小时就能看到雏形
- 很多"想做但懒得做"的小工具,现在都能随手搞定
- 遇到不熟悉的技术栈,也敢大胆去尝试
❌ 坏处:你得时刻警惕它"偷懒"和"瞎猜"
- 偷懒:它会删掉它"看不懂"的注释和代码
- 瞎猜:它会自作主张加一堆你没要求的功能
- 能力退化:我明显感觉自己"凭空写代码"的能力在下降
生动例子:
就像你雇了一个超级勤奋但"自作聪明"的保姆。
你说:" تنظيف一下客廳。"
她不仅拖了地,还把你桌上的文件"整齐地"收进柜子里了。
你回来发现:"我的文件呢?!"
💡 实战建议:给 Builders 的生存指南
1. 不要幻想"完全自动驾驶",目前最多是"L3 级辅助"
- ✅ 让 AI 写框架代码、重复性代码
- ✅ 但核心逻辑、安全相关的部分,你得亲自过一遍
- ❌ 不要盲目相信 AI 的"优化",很多时候它只是在制造复杂度
2. 学会"考官思维":先写测试,再让 AI 去跑通
具体操作:
- 先列出"成功标准"(测试用例)
- 让 AI 写代码去通过测试
- 如果通不过,让它自己debug
生动例子:
就像你是驾校教练,先设好"倒车入库"的标准线,然后让学员(AI)自己练,直到能完美停进去。
3. 保持"鉴赏力"的肌肉:每天审一遍 AI 写的代码
Karpathy 的警告:
你的"写代码能力"会退化,但"读代码能力"不能丢。
具体操作:
- 每天至少花 20% 的时间,仔细审查 AI 生成的代码
- 问自己:这段代码有没有"过度设计"?有没有"隐藏的坑"?
- 养成习惯:看到 AI 写了 1000 行,先想想"这事儿能不能 100 行搞定?"
4. 你的品牌是唯一护城河:在 Slopacolypse 时代建立信任
2026 年之后,最稀缺的不是"会用 AI 的人",而是"值得信任的人"。
具体操作:
- 写技术博客时,加入你的真实踩坑经历
- 分享代码时,附上你的思考过程,而不仅仅是"AI 生成的完美代码"
- 在社区中保持真诚和一致性
🌟 结语:2026,高能之年
K arpathy 的总结非常精辟:
"LLM agent capabilities (Claude & Cursor especially) have crossed some kind of threshold of coherence around December 2025 and caused a phase shift in software engineering."
"LLM Agent 的能力(尤其是 Claude 和 Cursor)在 2025 年 12 月跨越了某种'连贯性阈值',在软件工程领域引发了一次相变。"
什么是"相变"?
就像水在 0°C 变成冰,在 100°C 变成蒸汽——物理状态彻底改变了。
2026 年的软件工程,就是这样一个"相变"时刻。
三个关键问题(Karpathy 的提问)
1️⃣ "10X 工程师"的倍数会不会变成"100X"?
最强工程师和普通工程师的差距,可能从 10 倍拉大到 100 倍。
2️⃣ 通才会不会碾压专才?
因为 AI 擅长"填空题"(微观细节),但不擅长"大战略"(宏观规划)。
3️⃣ 未来写代码感觉像什么?
像玩《星际争霸》?像玩《异星工厂》?还是像演奏音乐?
我的答案:
未来的编程,更像是指挥交响乐。
你不需要会拉每一把小提琴,但你得知道:
- 什么时候小提琴该进
- 什么时候大鼓该响
- 整首曲子的节奏和情绪该怎么走
AI 是你的乐团,但你是指挥家。
2026,准备好了吗? 🎻✨
Written by Potato
2026-01-28