Software 3.0
Andrej Karpathy 提出的软件开发范式三阶段演化框架,描述 LLM 如何从根本上改变”编程”的定义。
三阶段演化
| 范式 | 编程方式 | 核心机制 |
|---|---|---|
| Software 1.0 | 人工显式编写代码 | 确定性指令 |
| Software 2.0 | 通过数据集与目标函数训练神经网络 | 权重(Weights) |
| Software 3.0 | 提示即编程(Prompting = Programming) | Context Window + LLM 解释器 |
在 Software 3.0 中:
- Context Window 是杠杆:你对解释器(LLM)施加控制的核心媒介
- LLM 是可编程解释器:它解析你的上下文并在数字信息空间执行计算
- Prompting = Programming:写给 agent 的那段自然语言,就是新时代的源代码
Source: 2026-07-06-youtube-youtu-be-96jN2OCOfLs-si--p6--F-hghVosCS(来源未公开)
两个典型案例
Open Claw 安装
- 旧范式(Software 1.0):写一个 Shell 脚本,随着平台越来越多,脚本膨胀至极其复杂
- 新范式(Software 3.0):Open Claw 的安装是一段 copy-paste 给 agent 的指令。Agent 有自己的智能,会查看你的环境、做出判断、调试循环,无需精确预设所有细节
MenuGen vs. Gemini + Nana Banana
- Karpathy 花时间写了一个完整的 MenuGen App:上传照片 → OCR菜名 → 图像生成 → 重新渲染菜单
- Software 3.0 版本:直接把照片给 Gemini,说”用 Nana Banana 把菜品图片叠加到菜单上”——得到了完全相同的输出
- 结论:那个 App 不应该存在。它是在旧范式里工作,真正的价值在于 LLM 完成的那个步骤,所有中间 App 层都是多余的
Source: 2026-07-06-youtube-youtu-be-96jN2OCOfLs-si--p6--F-hghVosCS(来源未公开)
更广泛的含义
Software 3.0 不仅仅是代码加速器,而是新事物的使能者:
- 以前的代码只能处理结构化数据,现在 LLM 能处理文档、图像、非结构化信息
- 知识库(Wiki)自动生成、文件批量重新编译——这些是无法用传统代码实现的
- 信息处理的边界大幅拓展:不是”编程变快了”,而是”可编程的东西增加了”
Agent-Native 世界
Software 3.0 的终态是 Agent-Native 基础设施:
- 文档应该是给 agent 的指令段落,而非给人读的教程
- 安装、配置、部署应该是”给 agent 一段话,agent 完成一切”
- 界面应以”传感器(Sensors)+ 执行器(Actuators)“的方式重构,而非沿用为人设计的 GUI
与 agentic-engineering 相比:Software 3.0 是范式描述,Agentic Engineering 是在此范式下维持专业质量的工程实践。