Seven Mental · 心智七篇
← Knowledge Atlas · Concept

Software 3.0

Software 3.0:自然语言 prompt 编程范式,Karpathy 软件代际分类法的第三代
CONCEPT · SOFTWARE 3.0 · KARPATHY 2025 · NATURAL LANGUAGE = PROGRAMMING LANGUAGE

Software 3.0

Software 3.0 — LLMs are not fixed-function neural networks but programmable general-purpose computers

Karpathy’s three-generation taxonomy. The pivotal shift: 1.0 humans write code → 2.0 data + optimizer write weights → 3.0 natural-language prompts are programs, the LLM is the processor. Everyone becomes a programmer — 5–10 years of professional training is no longer the bar.

Three software paradigms
Software 1.0Humans write codeClassical computer executes
Software 2.0Data + optimizer → neural-net weightsFixed-function network inference
Software 3.0Natural-language promptsProgrammable LLM executes
Core implications
Eating effect
2.0 gradually eats 1.0 (Tesla Autopilot C++ → neural net); 3.0 is now eating 1.0/2.0
Context engineering
If prompts are programs, context engineering is Software 3.0’s software engineering
ACI is the interface
The standardized interface between Software 3.0 programs (prompts) and the external world
Vibe coding
Everyone is a programmer — describe intent, no syntax mastery required
→ LLM OS · Context Engineering · Agentic SystemsKarpathy (2025) YC Talk

Software 3.0

定义

Andrej Karpathy 提出的软件代际分类法中的第三代。三代软件的编程范式截然不同:

代际编程介质目标
Software 1.0人类编写的代码传统计算机
Software 2.0神经网络权重(通过数据+优化器生成)固定功能神经网络
Software 3.0自然语言 prompt可编程 LLM

Software 2.0 的关键转变是从”人写指令”变为”人准备数据,优化器写指令(权重)“。Software 3.0 的关键转变是神经网络从固定功能变为可编程——LLM 不再只是一个图像分类器,而是一台通用计算机,prompt 就是它的程序。

与 Software 2.0 的”吞噬”效应

Karpathy 在 Tesla Autopilot 中观察到 Software 2.0 逐渐”吃掉” Software 1.0:神经网络接管了原本用 C++ 编写的多摄像头拼接等功能,大量 1.0 代码被删除。

同样的吞噬正在 3.0 对 1.0/2.0 发生——GitHub 代码库中出现大量自然语言和代码交织的内容。三种范式共存,开发者需要判断每个功能适合用哪种范式实现。

与编程语言的关系

Software 3.0 的”编程语言”是英语(或任意自然语言)。这带来一个前所未有的后果:每个人都成为程序员。过去需要 5-10 年专业训练才能编写的软件,现在可以通过自然语言描述来实现(参见 vibe coding)。

与 wiki 其他概念的关系

  • LLM OS — Software 3.0 的运行平台就是 LLM OS,prompt 是程序,LLM 是处理器
  • Agentic Systems — agent 系统是 Software 3.0 应用的主要形态
  • Context Engineering — 如果 prompt 是程序,context engineering 就是 Software 3.0 的软件工程
  • ACI — Software 3.0 程序(prompt)与外部世界的接口

References

  • sources/karpathy-software-is-changing-again.md — Karpathy 2025 YC 演讲,首次提出 Software 3.0 命名