Karpathy 有天去了一家餐厅,拿到菜单,没有图片,里面大概30%到50%的菜他完全不知道是什么东西。他就做了个应用,叫 MenuGen,拍一张菜单照片,跑 OCR 识别菜名,调用图像生成器给每道菜配图,重新渲染给用户看。一整套工程链路,部署在 Vercel 上,写了不少代码。
然后他看到了同一件事的「软件3.0版本」。
直接拍张照片,扔给 Gemini,说「用这个模型把每道菜的样子覆盖在菜单上」。Gemini 直接返回了一张图,还是他拍的那张菜单,但每道菜旁边已经配好了对应的图。
他的第一反应是,我之前做的那个 MenuGen,根本不该存在。
这句话我反复想了好几遍。「根本不该存在」,不是「可以做得更好」,不是「可以用 AI 优化一下」,是这个应用存在本身就是一个错误。
这是 Andrej Karpathy 在红杉资本的一场对话里说的。Karpathy 这个人,共同创立了 OpenAI,在特斯拉让自动驾驶真正落地,去年发明了「Vibe Coding」这个词。他不是那种对 AI 感到恐慌的传统从业者,是亲手把这些东西做出来的人。
他说自己做的应用不该存在。
要搞懂这件事,得先理解他说的那个框架。
他把软件的演化分成三个阶段。软件1.0,我们写代码,明确告诉计算机每一步怎么做。软件2.0,通过训练神经网络来「编程」,数据集是代码,目标函数是代码,不再直接写规则而是喂数据让模型自己学。软件3.0,现在的样子,你的编程变成了提示词,上下文窗口是你操控大型语言模型的杠杆,模型理解你的意图,在信息空间里执行计算。
MenuGen 是一个标准的软件1.0产物,OCR、图像生成、前端渲染、云部署,每一步都是精确的工程链路,就像一条流水线,每个环节都得有人去写代码维护。但在软件3.0的范式下,神经网络本身就能理解「拍张菜单,给我每道菜配图」这个意图,中间那些步骤被一条指令直接压缩掉了。
不是在加速流水线,是在消灭流水线。
这个逻辑往前再推一步,就开始变得有点诡异了。
Karpathy 的判断是,未来可能会发生一次架构上的翻转,神经网络成为「主机进程」,而 CPU 退化成协处理器。现在我们熟悉的逻辑是 CPU 调用神经网络,但他认为这个关系会反过来,神经网络主导计算,传统代码只作为处理某些特定任务的历史附件存在。
他甚至描述了一种更极端的设备形态,把原始视频或音频直接输入神经网络,通过扩散模型直接渲染出界面,而且这个界面是为那一刻的特定情境专门生成的,不是预先写好的,是即时长出来的。
你有没有感觉,我们现在做的很多 APP,很多 SaaS,很多网页产品,可能都是旧架构下的过渡态产物?
那到底哪些软件会消失,哪些能活?
我自己想了一个判断思路。如果一个应用的核心价值,是「把几种能力串联起来处理非结构化信息」,那它很可能是 MenuGen 式的存在,也就是说,它存在的前提是神经网络还不够强,一旦模型能端到端地理解任务,中间那层就没有存在的理由了。
那些专门做「OCR + 翻译 + 排版」的工具,或者「截图 + 识别 + 提取数据」的应用,甚至一些「上传文档 + 提取摘要 + 生成报告」的产品,工程价值都建立在各个模块的割裂上。模块一旦打通,工程价值消失。
直接消失。不是被重做,是消失。
另一类暂时还死不了,就是那些需要「持续状态」「跨系统协调」「用户身份精确管理」的应用。原因不是神经网络做不到,而是 Karpathy 自己吐槽过一个例子,他的 Agent 在处理购买积分时,试图用 Stripe 邮箱去匹配 Google 账号的身份,因为没有为用户建立持久的唯一 ID,结果两个邮箱不同就关联不上,整个支付逻辑直接乱了。这种诡异的错误,现在还需要人来做顶层设计,来兜底。
但「暂时」这个词,我会反复提醒自己注意。
我觉得他说的最重要的一句话,其实不是关于 MenuGen 的。是这个,「我们不仅仅是让过去已有的事情变得更快,更重要的是,这里出现了全新的机遇,去实现那些以前根本不可能做到的事情。」
以前不可能存在的,现在可以了。
他举了一个例子,用大型语言模型帮自己或组织创建知识库,把所有相关文档扔进去,在不同维度上重新编译排序,生成出全新的知识结构。这在之前根本写不出来,没有代码能基于一堆事实自动生成知识库,但现在可以。
消失的那批 APP,是夹在人的需求和神经网络能力之间的「过渡态工程」,它们的存在是因为那时候神经网络还不够用。能活下来的,要么是有真实数据飞轮和持续交互价值的产品,要么是那些以前连想都没想过能实现的全新东西。
不是 AI 要替代谁,是很多东西存在的前提,已经不在了。
发布于 上海
