Software 3.0
创建时间: 2026-04-30
来源: [[sources/Andrej Karpathy From Vibe Coding to Agentic Engineering - 逐字稿]]
相关: OpenClaw,LLM-Wiki,Agent-Native-Infrastructure
三层计算范式
Karpathy 将软件工程的历史分为三个阶段:
| Software 1.0 | Software 2.0 | Software 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)将占据主导
这是一个”极其陌生”的未来,但可能逐步到来。
核心启示
- 新的编程范式:你的程序不是代码,是一段给 agent 粘贴的文字
- 不要困在旧思维:不是”让现有软件开发更快”,而是”以前不可能的事情现在可能了”
- 信息处理自动化:这不仅关乎代码——这是更广泛的信息处理自动化,包括知识管理、内容重组等
- App 可能不该存在:当神经网络可以直接做端到端处理时,中间的 App 层是多余的
参考资料
- 来源:Andrej Karpathy From Vibe Coding to Agentic Engineering - 逐字稿(Sequoia Capital 访谈,2026)