Software 2.0:当神经网络的权重成为新的代码
一句话
卡帕西发推宣发了他在 Medium 上的文章《Software 2.0》,提出一个在当时颇为激进的判断:神经网络不是「工具箱里又一件工具」,而是一种全新的软件形态——程序不再由人用代码写出来,而是由优化算法从数据中「训练」出来。今天所有 Software 2.0 → 3.0 的行业叙事,源头就是这一条推和这一篇文。
他说了什么
推文本身很短,就是给文章引流;真正的内容在文里。他把传统编程称为 Software 1.0:人类用 Python、C++ 这类语言,把逻辑一行行显式写下来。而 Software 2.0 的「源代码」是神经网络的权重——人类不直接写它,而是定义目标、准备数据集、搭好网络骨架,然后让梯度下降在权重空间里把程序「搜索」出来。程序员的核心工作因此从写代码转向积累、清洗和标注数据。其实几个月前他就发过一条更挑衅的预告:
"Gradient descent can write code better than you. I'm sorry." —— @karpathy,2017-08 · 查看原推 →
文章还预言了配套基建的出现:Software 2.0 需要自己的 IDE、版本管理和调试工具——管理的对象不再是代码仓库,而是数据集。
背景:为什么是 2017 年底
这篇文章不是书斋推演。2017 年 6 月,卡帕西刚加入 Tesla 出任 AI 总监,负责 Autopilot 的视觉系统。他在第一现场看到的正是这个过程:团队不断用神经网络替换掉原来手写的 C++ 逻辑,代码库里「1.0 的代码在萎缩,2.0 的代码在生长」。同一年,深度学习已横扫图像、语音、翻译等领域,但多数人仍把它当作「一种更好的分类器」。卡帕西的贡献是换了一个视角:这不是算法升级,而是软件生产方式的更替。
它引发了什么
- 从争议到常识:文章发布之初不乏批评——「这不过是曲线拟合,配不上『软件』二字」。几年后,「用数据编程」成了机器学习工程的默认心智模型,数据集版本管理、数据标注平台、MLOps 等一整个工具产业,几乎是照着文中预言长出来的。
- Tesla 成为样板:他在 Tesla 五年间反复布道的 data engine(数据引擎)——从车队回收边角案例、标注、重训、部署的闭环——就是 Software 2.0 的工业化实现。
- 叙事延续到 3.0:2023 年 LLM 爆发后,他把叙事推进了一格:提示词(自然语言)成为 Software 3.0。2025 年他在 YC 的演讲把 1.0 / 2.0 / 3.0 三层框架讲成了行业通用语言。回头看,2017 年这条推是整个叙事链的第一环。
对你意味着什么
- 学习路线要对齐生产方式:如果你在学 AI,别只练调包和写代码——构建数据集、设计评测、分析 bad case 这些「2.0 技能」才是长期稀缺的。今天做 LLM 应用时写评测集(evals),本质上就是这件事。
- 独立开发者的机会在「数据闭环」:一个能持续从用户使用中回收数据、改进效果的小产品,护城河比模型本身深。卡帕西后来也说过,竞争优势在迭代式的数据引擎,不在某一份静态数据。
- 看懂叙事的复利:一篇 2017 年的文章,到 2025 年还在给他的演讲供框架。深刻的判断可以吃十年——做内容和做产品的人都该记住这一点。
延伸
- 原文:Software 2.0(Medium) —— 建议完整读一遍,很短
- 解读:Software 3.0 与 YC 演讲 —— 八年后叙事的第三格
- 解读:「最热门的新编程语言是英语」 —— 2.0 到 3.0 之间的桥
- 解读:Transformer 三性质 —— 2.0 时代最重要的那台「可微分计算机」