← Back to Blog

Karpathy 深度复盘:AI 写代码的真相,没你想的那么美好

|
#AI 编程#Karpathy#Claude#Agent#软件工程

封面图

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 还没到时候

市面上的两种炒作:

  1. "不需要 IDE 了!" ❌
  2. "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 到底让你快了多少。主要效果是:我做的事情比原计划多太多了。"

两个原因:

  1. 很多以前"不值得写代码"的功能,现在可以随手搞定
  2. 很多以前"不会写"的东西,现在敢去碰了

生动例子:
就像你以前只敢做西红柿炒蛋,现在有了"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 去跑通

具体操作:

  1. 先列出"成功标准"(测试用例)
  2. 让 AI 写代码去通过测试
  3. 如果通不过,让它自己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

参考资料:Andrej Karpathy 的 X 推文

Comments & Reflection