You On AI Field Guide · Software 2.0 The You On AI Field Guide Home
TxtLowMedHigh
CONCEPT

Software 2.0

Andrej Karpathy’s name for the paradigm shift in which programs are no longer written by humans in programming languages but compiled by optimization processes from datasets—the source code is examples, the logic lives in weights no human can read, and the programmer’s job becomes cultivation rather than authorship.
For seventy years, programming meant one thing: a human being held an idea about what a computer should do and translated that idea, line by line, into explicit instructions the machine could execute. Every behavior the machine exhibited could, in principle, be traced back to a line someone wrote on purpose. Andrej Karpathy retroactively named this Software 1.0, and the name contains the argument: if there is a 1.0, there is a 2.0. In Software 2.0, humans specify a goal and a rough architecture—a neural network—and an optimization process discovers the actual program through gradient descent. The source code is the dataset; the compiler is training; the binary is the trained network. The programmer no longer writes the program but sets the conditions of its creation, and the logic that makes it work is distributed across millions of numerical weights that mean nothing individually and everything in concert. Software 3.0 extends the paradigm one step further: the large language model is programmed in plain English, and the prompt is the program—a configuration of behavior that billions of people can author without writing a line of code.
Software 2.0
Software 2.0

In the [YOU] on AI Field Guide

The Software 2.0 paradigm is the engine underneath the orange pill moment that [YOU] on AI describes. When a hundred dollars a month buys what once required a team of engineers, it is because the act of programming has changed so completely that someone who can describe what they want can now attempt to build it. Claude Code is Software 3.0 in operation; the democratization Edo Segal celebrates is downstream of Karpathy’s paradigm shift.

The concept also grounds the cycle’s most important caution. If the source code is the dataset, the machine can be no wiser, no fairer, and no more comprehensive than the examples it was given. The biases a system exhibits, the gaps in what it knows, the failure modes that surprise its builders—these are properties of the data rather than of the model. To control the system is first to control its diet, and controlling the diet is hard, unglamorous, human-judgment-laden work that the glamour of the architecture tends to obscure.

Andrej Karpathy

Origin

Karpathy published the essay that named the concept in 2017, while leading Tesla’s Autopilot vision team. He had noticed that the handwritten code was steadily being eaten by learned components—that the explicit C++ was shrinking and the neural network was growing, swallowing functionality that engineers had always specified by hand. The essay was partly descriptive, partly predictive, and partly a rebuke to a field that kept treating neural networks as just one tool in the machine learning toolbox rather than as the beginning of a new instrumentality.

Gradient Descent
Gradient Descent

The essay turned on a distinction between two kinds of source code. In the classical stack, the source is human-written instructions. In the new stack, it is a dataset that specifies the desired behavior through examples plus a neural network architecture that sketches the rough shape of the solution. The weights—the actual program—are found by optimization. Karpathy pointed out practical advantages the skeptic would miss: Software 2.0 is computationally homogeneous, runs efficiently on specialized hardware, and can be improved simply by adding more data and compute, with no human required to have a new idea. The trade is depth of understanding for breadth of capability.

Augmentation vs. Automation
Augmentation vs. Automation

Key Ideas

The dataset is the source code. Whoever shapes the data shapes the program. The neural network does not learn the world; it learns the dataset. And the dataset is always a particular, contingent, biased, incomplete sample of the world, assembled by particular people under particular constraints, carrying every limitation and distortion of its origins. This reframes the public anxiety about AI bias: the bias was not introduced by the algorithm but discovered by it, faithfully extracted from data that human activity produced.

Neural Networks
Neural Networks

Debugging becomes data collection. When a Software 1.0 program fails, you read the code, find the faulty line, and fix it. When a Software 2.0 system fails, there is no faulty line. There is a region of input space where the learned function behaves badly, and the remedy is to find or create data that covers that region and retrain. Understanding becomes statistics. The program is a black box not by design but because opacity is the price of letting the machine discover its own logic.

Large Language Models
Large Language Models

The data engine. At Tesla, Karpathy turned the Software 2.0 philosophy into an operating loop: the deployed fleet identified situations the model handled poorly, those situations were collected and labeled, the new data was folded into training, and the model improved precisely where it had been weak. The intelligence of the system was, in a real sense, the intelligence of this curation loop. The engineering genius lay not in the network but in the process that fed it—closer to teaching than to traditional engineering.

Ascending Friction
Ascending Friction

Software 3.0: English as programming language. When large language models made natural language the interface to computation, Karpathy extended his account. The model is the computer; English is the programming language; the prompt is the program. This is not a metaphor he uses loosely: the practice of getting an LLM to do what you want has the structure of programming—you compose instructions, observe the output, debug by revising phrasing, and build libraries of prompts that work. The difference is that the language is one billions of people already speak, which means the population of potential programmers has expanded by orders of magnitude in a single step.

Debates & Critiques

The sharpest debate around Software 2.0 concerns the labor embedded in the dataset. If the source code is the dataset, then the text scraped from the internet, the images uploaded to social media, the code committed to public repositories—all of it became source material for systems that now generate value far from the people who produced the inputs. The question of who owns that labor, and who benefits from it, becomes one of the central distributive questions of the age. A second debate concerns what “understanding” means in a Software 2.0 system. The program is a black box; its logic cannot be inspected. When the system fails, there is no faulty line to find—only regions of the input space where the learned function behaves badly. Critics argue this opacity is fundamentally incompatible with accountability in high-stakes domains. Karpathy acknowledges the opacity as a permanent feature of the paradigm, to be understood and managed rather than solved, but insists the advantages—scalability, improvability through data rather than human insight—justify the trade. The capital-labor split in the AI economy is, in part, a consequence of Software 2.0: when the value is in the dataset and the compute, ownership of those resources captures the surplus.

Further Reading

  1. Andrej Karpathy, “Software 2.0,” Medium (November 2017) — the original essay
  2. Andrej Karpathy, Neural Networks: Zero to Hero (YouTube, 2022–2023) — building Software 2.0 from scratch
  3. Andrej Karpathy, “The Busy Person’s Intro to Large Language Models” (YouTube, 2023) — Software 3.0 explained
  4. Edo Segal, The Orange Pill (2026) — the consumer-facing experience of Software 3.0
Explore more
Browse the full You On AI Field Guide — over 8,500 entries
← Home0%
CONCEPTBook →