AI时代最扎心的一句话:你可以外包思考,但无法外包理解
去年,有个人发明了一个词,让整个程序员圈子既兴奋又不安。
这个词叫 「vibe coding」。
他叫 Andrej Karpathy——OpenAI 联合创始人、Tesla Autopilot 负责人、现 Eureka Labs 创始人。
上个月,他在 Sequoia 的 AI Ascent 2026 大会上说了一句话,我读完之后愣了很久:
「”我从没有像现在这样感觉自己在编程方面如此落后。”」
这是 Andrej Karpathy 说的。
这是那个帮人类造出了现代 AI、又亲手把它讲给全世界听的人说的。
如果连他都说落后了,那我们大多数人算什么?
那个改变一切的”分界点”
Karpathy 说,2024年12月,是他的一个清晰分界点。
那段时间他在休假,比平时多了一些时间,就开始更深度地使用各种 agentic 工具——Claude Code、Cursor 这些。
以前,AI 写一段代码出来,他还得改一改,调一调,有时候甚至需要大幅返工。他已经习惯了这个节奏,把它当成”有帮助的助手”。
然后有一天,他发现——
「他已经不记得上一次纠正 AI 是什么时候了。」
代码块出来,对的。再要一段,还是对的。继续要,继续对。他开始越来越信任这个系统,越来越少插手,然后……他就 vibe coding 了。
他说这个转变非常突然,非常清晰。
很多人还在把 AI 当成”升级版搜索引擎”或者”自动补全工具”。但 Karpathy 想对这些人说:「你们需要重新看一眼了,因为这东西已经变了。」
Software 3.0:你的竞争对手不是 AI,是用 AI 的人
为了理解 Karpathy 在说什么,你需要先接受一个框架。
他把软件的演进分成三代:
-
「Software 1.0」:程序员写代码,明确告诉计算机每一步怎么做 -
「Software 2.0」:机器学习,程序员不写逻辑,而是整理数据、设计训练目标,让神经网络自己学 -
「Software 3.0」:现在这个时代——LLM 本身就是一台可编程的计算机,你的”代码”变成了 prompt,context window 就是你操控这台解释器的杠杆
这不是说软件变快了。这是说「编程这件事本身变了」。
他举了一个例子:OpenClaw 的安装方式。
以前你安装一个软件,会得到一个 shell 脚本——几百行代码,处理各种平台兼容性问题。这是 Software 1.0 的思维:把每个细节都写出来。
现在,OpenClaw 的安装方式是:「给你一段文字,复制粘贴给你的 AI agent。」
agent 有自己的智能,它会观察你的环境、处理报错、自己调试,最终让安装成功。你不需要也不应该去操心每个步骤。
「”现在编程的本质问题变成了:我应该把什么文字复制粘贴给我的 agent?”」
这不是效率提升。这是范式转移。
一道菜单,让他彻底醒悟
Karpathy 分享了一个让他”脑子炸了”的个人经历。
他有个小项目叫 「MenuGen」——去餐厅的时候,菜单上30%甚至50%的菜他不知道是什么。所以他想做一个 app,拍下菜单照片,自动给每道菜配上图片。
他 vibe coded 出来了这个 app:OCR 识别菜名、调用图片生成 API、在 Vercel 上部署……一套完整的工程流程。
然后有一天,他看到了 Software 3.0 的解法——
「直接把菜单照片扔给 Gemini,让它用 Nanabanana 把菜的图片叠加到原始照片上。」
输入是一张图,输出是一张叠加了所有菜品图片的图。「中间没有 app,没有 API 调用,没有部署,什么都没有。」
Karpathy 的原话是:
❝
“This blew my mind because actually all of my MenuGen is spurious. It’s working in the old paradigm. That app shouldn’t exist.”
❞
「那个 app 不应该存在。」
他花时间建起来的东西,在新的范式里,是多余的。
这个顿悟不是悲剧,而是一种解放——如果你理解了新范式,你就能做出以前根本不可能做出的东西。
“锯齿状的智能”:为什么 Claude 能重构十万行代码,却告诉你走路去洗车
这是整场演讲里我觉得最深刻的部分。
AI 是不均匀的。不是说它有时候好有时候差,而是它的能力「极其不成比例地集中在某些领域」。
Karpathy 把这叫做 「jagged intelligence(锯齿状的智能)」。
他举了一个例子:你距离洗车店只有50米,我应该开车去还是走路去?
「当下最先进的模型会告诉你走路,因为很近。」
但去洗车店的目的是洗车,你当然要开车去。
同一个模型,可以重构十万行代码库,可以发现零日漏洞,但会在这道小学生逻辑题上翻车。
为什么?
Karpathy 的解释是:「这些模型是被验证(verifiability)塑造的。」
现在的 frontier LLM 训练,大量依赖 Reinforcement Learning。RL 需要有明确的奖励信号——正确答案是什么,你才能给奖励。
代码可以运行,数学可以验证,这些领域天然适合 RL。所以模型在这里飞。
但”走路还是开车去洗车”这个问题,涉及的是常识推理和物理世界理解——它不在 RL 的训练轨道上,所以模型在这里卡。
「用他的话说:如果你在模型的 RL 回路上,你飞;如果你不在,你挣扎。」
这对所有在用 AI 的人都是一个重要提醒:「你必须了解这个工具,包括它的边界。」 盲目信任是危险的。
Vibe Coding vs Agentic Engineering:你在哪一层?
Karpathy 对这两个词做了非常清晰的区分:
「Vibe coding 是拉高地板。」 它让每个人都能做到以前做不到的事,这很好,很了不起,让非程序员也能创造软件。
「Agentic engineering 是保住天花板。」 你仍然要对代码负责。不能因为 AI 写的就可以有安全漏洞。专业软件的质量标准没有因为 AI 而降低——但你能不能用 AI 跑得更快?
答案是可以,但这需要技能。
他说以前大家说”10x 工程师”,意思是顶尖工程师的产出是普通工程师的10倍。
「Agentic engineering 的加速倍数远不止10x。」
而区分高手和普通人的,不是谁用了 Claude Code,而是怎么用。
他描述了理想的招聘测试:给我做一个 Twitter clone,让它真的好用,真的安全,然后我用10个 AI agent 来试图攻破你的网站——它们应该攻不进去。
「看你怎么构建大项目,怎么协调 agent,怎么保证质量。这才是真正的 agentic engineering 能力。」
越自动化,越需要这一样东西
到演讲的最后,Karpathy 被问了一个很多人都在问的问题:
「当 AI 越来越便宜,智能越来越廉价,还有什么东西是值得深度学习的?」
他说他最近看到一条 tweet,让他反复思考:
❝
“You can outsource your thinking, but you can’t outsource your understanding.”
你可以外包你的思考,但无法外包你的理解。
❞
他还是需要知道——我们在构建什么?为什么值得做?我怎么指挥我的 agents?
「如果你不理解,你就没办法判断 agent 做的是对是错。」
他举了一个自己踩过的坑:MenuGen 里,用户可以用 Google 账号登录,但用 Stripe 账号付款。这两个账号的邮件地址可能不一样。他的 agent 写了一套代码,试图用邮件地址来匹配两个账号——这根本行不通,用户完全可以用不同邮件注册 Google 和 Stripe。
「这种设计错误,是 agent 的问题,但发现这个问题,是人的责任。」
你不需要记住 PyTorch 里 keepdim 还是 keep_dims,这些 API 细节 agent 记得比你好。
但你需要知道底层有 tensor,有 view,有 storage,知道什么操作会产生内存拷贝,什么不会。「你需要理解,不需要记忆。」
这是 AI 暂时还无法替代你的地方。
不是因为 AI 不行——Karpathy 说得很直接,这不是什么原理性的限制,只是”labs haven’t done it yet”。
但在那一天到来之前,「理解力是你对 agents 的最终控制权。」
你现在站在哪里?
2024年的年底,一个行业里最顶尖的工程师,感觉到了自己的落后。
不是因为他不够聪明,而是因为他真的看见了变化的速度。
很多人在用 AI,但用的是2023年的心智模型——把它当搜索引擎,当代码补全,当更快的 Google。
Karpathy 说,你需要重新看一眼。
「不要只想着”这件事变快了”,要想”有什么以前不可能的事情,现在变可能了”。」
那个 app 也许不应该存在。
但那个理解,必须在你这里。
❝
视频链接:https://www.youtube.com/watch?v=96jN2OCOfLs
❞
夜雨聆风