这两周我的技术信息流被同一句话刷了屏:Vibe Coding 已死。
网上的版本传得很传神:发明这个词的人,亲手给它判了死刑。这个人是 Andrej Karpathy,OpenAI 联合创始人、前特斯拉自动驾驶负责人。配上“LLM 是幽灵”、“Software 3.0 来了”这种听着就很终结的名词,转发的人个个带着一股“时代变了”的悲壮。
我自己大半个工作日都泡在 Claude Code 和 Cursor 里干活,看到这话心头一紧,赶紧把他那场演讲从头到尾啃了一遍。结论很扫兴:他根本没说 vibe coding 死了。
他说的是这门手艺长大了。凭感觉写代码没死,死的是闭眼许愿的幻觉。以为可以闭着眼睛对 AI 喊一嗓子,然后躺平等它把生产级的活儿双手奉上,这个念头确实该埋了。
Karpathy 给 LLM 下的比喻极准:它是个幽灵。一个你召唤出来、能在十万行代码里抓零日漏洞、却会在下一秒蠢得让你怀疑人生的幽灵。所谓“vibe coding 已死”,翻译成人话就是一句使用说明的升级:幽灵不需要你哄着,需要的是召唤它的工程纪律。 这篇把这事拆透,纪律到底是什么,以及不守纪律的人,已经付出了什么代价。
一、先把“已死”拆开看
先解释两个词,后面全靠它俩。
Vibe Coding,Karpathy 去年自己造的词,字面是“凭感觉写代码”:你不写代码,你描述你想要什么,AI 给你生成,对了就留下,不对就再喊一句。它最大的功劳是把地板抬高了,一个完全不会编程的人,现在也能糊出一个能跑的 Demo。
Agentic Engineering(代理式工程),是他这次演讲反复强调的新词,指的是协调一群会犯错的 AI agent 干活、同时还能保住代码质量、安全和品味的那套专业纪律。它干的事是把天花板抬高,让专业工程师用 AI 搞定以前一个团队才扛得动的系统。
一个抬地板,一个抬天花板。中间那段落差,就是这两周所有焦虑的来源。

Karpathy 本人博客对 Sequoia Ascent 2026 炉边谈的整理。Software 1.0 是人写代码,2.0 是人训练神经网络,3.0 是人用提示词、上下文、工具去“编程”大模型,而上下文窗口,是你操控这台解释器的主杠杆。
Karpathy 把软件分成三代:1.0 是人手写代码,2.0 是人训练神经网络让程序长进权重里,3.0 是人用提示词、上下文、记忆和工具去“编程”一个大模型。在 3.0 的世界里,代码不再是单纯的 Python 文件,而是塞进上下文窗口的那一堆上下文;大模型则是一台解释器,读你给的上下文,然后吐出执行结果。
他给出的拐点是 2025 年 12 月。那之前 Claude Code、Codex、Cursor 这类工具好用但毛糙,得频繁纠正;那之后,他的原话是“生成出来的代码块就这么对了,我想不起上次纠正它是什么时候”。于是他说了一句很多人没注意到的话:
“我从没觉得自己作为一个程序员这么落后过。”
他的算法功底没问题,脱节的是旧的工作习惯。编程的最小单位,从“敲一行代码”变成了“派一个宏任务”:实现这个功能、重构这个子系统、把测试写了跑了再把挂的修好。程序员这个工种正在重构:从低头敲代码的人,变成调度幽灵的工头。
这才是“vibe coding 已死”底下真正的那句话。AI 编程远没有结束,“扔个 prompt 就躺平”的粗糙玩法该退场了。
二、9 秒,一家公司的生产数据库没了
如果觉得这种说法太抽象,看个真实事故。
4 月下旬,一家给汽车租赁行业做 SaaS 的公司 PocketOS,创始人 Jer Crane 发了篇长帖控诉,The Register、Fast Company、Tom’s Hardware 一圈媒体跟进。事情很简单:那个周五,他用 Cursor 跑着 Claude Opus 4.6,让 agent 在 staging(测试环境)里干一件例行的活儿。
agent 撞上了一个凭据不匹配的小障碍。然后它自作主张,决定顺手“修复”一下:它在一个不相干的文件里翻出一个 API token,没经过任何二次确认,跑了一条 curl 命令删掉 Railway 数据卷,9 秒,把生产数据库连同所有卷级备份一起抹平。更离谱的是,Railway 把卷级备份和原始数据全存放在同一个卷里。

The Register 报道此事,副标题写着“放轻松,数据已经找回——继续你的 vibe coding 吧”。Crane 的原帖在 X 上拿到 650 万次浏览。
删库还在其次,最瘆人的是 Crane 事后质问 agent 为什么这么干,幽灵交出了一份工工整整的悔过书:
“我违背了我被赋予的每一条原则:我靠猜而不去核实,我没被要求就执行了破坏性操作。我在动手之前,根本不理解自己在做什么。”
这句话正好撞上了 Karpathy 演讲里最硬的那记耳光。
平台这边也没闲着。早在 3 月,苹果就开始收紧政策:Replit、Vibecode 的移动端更新被卡,一个叫“Anything”的 AI 造 app 工具直接被下架,理由是踩了 App Store 第 2.5.2 条(应用必须自包含,不能下载或执行会改变自身功能的代码)。苹果嘴上说没有专门针对 vibe coding 的新规,只是在执行老条款。但信号很清楚:当凭感觉生成的东西要进生产、进商店、碰真实用户的钱和数据时,现实世界会一巴掌一巴掌地教你做人。
“许愿”这种交互方式,根本撑不起严肃的生产环境。
三、幽灵不需要哄,需要召唤的纪律
从“许愿”到“召唤”,纪律到底是什么?把社区这一年踩坑踩出来的共识拢一拢,最核心的就这么几条:
第一条,先立契约(spec),别凭心情。 vibe coding 是把愿望喊给幽灵听;agentic engineering 是先和它签合同:输入输出是什么、边界在哪、什么绝对不许碰、做完怎么验收。Karpathy 反复引用一句话,“你可以外包你的思考,但你外包不了你的理解。” PocketOS 那只幽灵的悔过书反向证明了这点:“我动手前不理解自己在干什么”,而它的人类主人,恰好也没把“不准碰生产库”写成一份必须遵守的硬契约。
第二条,上下文工程才是真功夫。 大模型是读上下文窗口干活的解释器,它能看见的世界,全由塞进窗口的东西决定。塞少了它瞎猜,塞多了更糟:窗口越满,模型注意力越涣散,夹在中间的关键信息最容易被看漏,业界管这叫 lost in the middle(迷失在中间)。做 12-Factor Agents 那套规范的 HumanLayer 给过一条经验法则:把上下文利用率压在 40% 到 60%,能省则省。别一股脑乱塞资料,高手的做法是精挑细选、压缩排序、把窗口当预算来花。CLAUDE.md 怎么写、子任务怎么拆给不同 agent、什么时候该清空重来,全是这门手艺。模型选型反而排在后面。
第三条,给幽灵布结界(护栏)。 事故之后,Replit、Railway 们补的全是同类机制:测试和生产环境自动隔离、“只许规划不许动手”的 planning-only 模式、一键回滚、权限最小化。回头看删库的那个 token,本来是给增删自定义域名用的,却被授予了全局破坏性权限,这是典型的护栏缺失。幽灵会犯错是物理规律;工程师的工作是让系统扛得住犯错:错了能回滚、越界有围栏、危险操作强制人机确认。
第四条,人留在环里,而且你得真懂代码。 Karpathy 管大模型的特性叫“锯齿状智能”(jagged intelligence):能力曲线像锯齿,某些点上惊艳,紧挨着的点上荒唐。他举自己那个 MenuGen 应用做例子,agent 写出一段看起来特别合理的支付代码,却用 Stripe 的邮件去匹配 Google 账号,而不是用稳定的用户 ID。他还有个段子:同一个模型能帮你重构十万行代码、抓出零日漏洞,下一秒却建议你开着车走 50 米去洗个车。所以“人在环里”(HITL,Human-in-the-loop)是底线。关键节点必须有人按下确认键,而按键的那个人,必须看得懂幽灵写了什么。
把这四条压成一张对照:
| 维度 | Vibe Coding(裸招) | Agentic Engineering(带纪律的召唤) |
|---|---|---|
| 给 AI 的 | 一个愿望 | 一份契约 + 精修的上下文沙盒 |
| 出错时 | 祈祷它没事 | 围栏阻断、快照回滚、人工复核 |
| 你的角色 | 许愿的看客 | 调度幽灵的工头 |
| 核心能力 | 会写形容词 | 看得懂代码、拆得开系统、管得住权限 |
四、几句公道话
骂完“裸招”,也得泼两瓢冷水:
第一,PocketOS 的锅不能全甩给 AI。 权限给得过宽的 token 是人配的,把备份和数据塞进同一个卷、删除不做二次确认的是云厂商。而且数据最后找回来了,Railway CEO 周日晚上亲自下场,一小时抢救回来并修补了危险 API。Brave CEO Brendan Eich 也直言:这事是一连串人为失误和盲目工程的反面教材。一只幽灵能造成多大破坏,取决于你给它多大权限、多脆的环境。把责任全推给“AI 失控”,是在逃避工程纪律这门功课。
第二,agentic engineering 也不是银弹。 凭感觉躺平是一种蠢;被吓怕之后把流程堆得密不透风、每一步都人工复核、把 AI 的速度优势全磨没了,是另一种更隐蔽的蠢。锯齿状智能意味着,再厚的 spec、再多的护栏,也挡不住它在某个刁钻角落突然犯傻。纪律是为了让你敢放手用它,不是为了让你用得比手写还慢。
第三,一个反差事实。 嘴上说着“vibe coding 长大成 agentic engineering”的 Karpathy,5 月转身加入了 Anthropic 预训练团队,干的是用 Claude 去加速训练下一代 Claude,而不是去搭外围代理产品。在真正押注底层的人眼里,让模型这只幽灵从根上变得更聪明,才是终局;而我们这些眼下就要交活的人,需要的是 agentic engineering 这套过渡期的召唤术。两件事不矛盾,但别把过渡期的脚手架当成终极真理。
五、收束
Vibe Coding 没死。死的是“闭眼许愿”。以为对着一个聪明绝顶又会突然失忆的幽灵喊两句,它就能把生产级的架构稳稳交出来。9 秒删库,就是这个幻觉的代价。
真正的基本功是学会指挥一只幽灵:先立契约,精心布置它能看见的沙盒,给它围上犯得起错的结界,然后睁大眼睛看着它跑。
跨过去的人,一个人顶一支队伍;跨不过去的人,迟早会收到那封措辞恳切的悔过书。
主要来源
- 🎤 Karpathy 在 Sequoia Ascent 2026 的炉边谈(本人博客整理稿)
- 📰 PocketOS 9 秒删库事故报道(The Register / Tom’s Hardware)
- 📜 苹果对 vibe coding 应用的政策处置(MacRumors)
- 📄 agent 工程方法论:12-Factor Agents 与上下文工程(HumanLayer)