Software 3.0

创建时间: 2026-04-30 来源: [[sources/Andrej Karpathy From Vibe Coding to Agentic Engineering - 逐字稿]] 相关: OpenClawLLM-WikiAgent-Native-Infrastructure


三层计算范式

Karpathy 将软件工程的历史分为三个阶段:

Software 1.0Software 2.0Software 3.0
编程方式写显式代码构建数据集 + 训练神经网络写 prompt / 填上下文窗口
程序员角色写规则安排数据、设定目标、设计架构提示工程 + 上下文编排
”代码”形态精确指令学习到的权重一段文本
执行者CPU神经网络(虚拟化在 CPU 上)LLM 作为解释器

“Software 3.0 is about prompting — what’s in the context window is your lever over the interpreter that is the LLM.”

关键洞察:通过在互联网上训练(必须多任务处理数据集中所有内容),GPT/LLM 变成了某种可编程计算机——你的程序变成了 prompt,上下文窗口是你对 LLM 解释器的杠杆。

案例 1:MenuGen——App 不该存在

Karpathy vibe-coded 了一个叫 MenuGen 的 App:

  • 拍摄餐厅菜单照片 → OCR 提取菜名 → 用图片生成器为每道菜生成图片 → 在 Vercel 上部署
  • 涉及 OCR、图片生成、前端渲染、云部署——一个完整的 Software 1.0/2.0 混合 App

Software 3.0 版本令人震撼:

  • 拍张照片 → 给 Gemini → 说”用 NanoBanana 把图片覆盖到菜单上”
  • NanoBanana 直接在像素层渲染,输出的图片就是原菜单照片但每道菜旁边有对应图片
  • 没有任何 App 在中间——输入是图片,输出是图片,神经网络做了所有工作

Karpathy 的自我评价:

“All of my MenuGen is spurious. It’s working in the old paradigm. That app shouldn’t exist.”

这个案例的核心教训:不要只把 AI 看作对现有事物的加速——全新的事物现在是可能的。

案例 2:OpenClaw 安装——Shell 脚本已过时

传统方式安装 OpenClaw:运行 shell 脚本。为了适配不同平台和计算机类型,这些脚本会膨胀到极其复杂。但你仍然困在 Software 1.0 的思维里——想写代码。

Software 3.0 方式:OpenClaw 的安装说明是一段粘贴给 agent 的文字

“The OpenClaw installation is a copy-paste of a bunch of text that you’re supposed to give to your agent.”

为什么更强大:

  • 不需要精确拼写所有安装细节
  • Agent 自带智能,会查看你的环境和计算机
  • Agent 执行智能操作、在循环中调试
  • 比任何静态脚本都强大得多

新的编程范式: “What is the piece of text to copy-paste to my agent?”

案例 3:LLM 知识库——代码无法做到的事

Karpathy 的 LLM 知识库项目(即 LLM-Wiki 的灵感来源):

“This is not even a program. This is not something that could exist before because there was no code that would create a knowledge base based on a bunch of facts.”

  • 传统代码操作结构化数据
  • LLM 知识库操作的是非结构化文档——提取事实、重组、交叉引用
  • 这不是”做得更快”,而是以前完全不可能的事情

长远展望:神经网络成为宿主

Karpathy 回顾了计算的早期历史:

  • 1950-60 年代,人们不确定计算机应该像计算器还是像神经网络
  • 我们走了计算器路线,建立了经典计算
  • 神经网络目前虚拟化运行在经典计算机上

未来的翻转:

  • 神经网络成为宿主进程(host process)
  • CPU 成为协处理器(co-processor)
  • 神经网络做大部分重活,工具调用(tool use)作为处理确定性任务的”历史遗留附属品”
  • 从 flops 占比来看,智能计算(neural networks)将占据主导

这是一个”极其陌生”的未来,但可能逐步到来。

核心启示

  1. 新的编程范式:你的程序不是代码,是一段给 agent 粘贴的文字
  2. 不要困在旧思维:不是”让现有软件开发更快”,而是”以前不可能的事情现在可能了”
  3. 信息处理自动化:这不仅关乎代码——这是更广泛的信息处理自动化,包括知识管理、内容重组等
  4. App 可能不该存在:当神经网络可以直接做端到端处理时,中间的 App 层是多余的

参考资料