Software 3.0
Overview
Software 3.0 is a framework introduced by Andrej Karpathy describing a new computing paradigm where LLMs serve as programmable interpreters and the context window replaces source code as the primary programming surface. In this model, programming is prompting — what you put in the context window is your lever over the LLM interpreter.
The framework builds on Karpathy's earlier taxonomy:
- Software 1.0: Explicit code written by humans (traditional programming)
- Software 2.0: Learned weights via neural network training (programming = curating datasets + architectures)
- Software 3.0: Prompts interpreted by general-purpose LLMs (programming = context window contents)
The key insight is that Software 3.0 is not simply Software 1.0 done faster — it enables categories of applications that could not exist before. LLMs trained on sufficiently diverse tasks become general-purpose computers that can perform information processing tasks (knowledge base generation, image transformation, multi-step reasoning) that no deterministic code could implement. This is closely related to the Verifiability and Automation framework Karpathy uses to explain which domains LLMs automate fastest.
Sign in to read the full article.
Sign In