Software 2.0
In plain wordsAndrej Karpathy's 2017 name for software whose behavior is learned from examples by a neural network instead of being written line by line by programmers.
Software whose behavior is determined by the learned weightsparameter, n.: One of the adjustable numbers inside an AI model that are tuned during training. Large language models have billions of them, and together they store what the model has learned. of a neural networkneural network, n.: A kind of computer program that learns a task from examples by tuning thousands to billions of connections between simple number-crunching units, an arrangement loosely inspired by nerve cells in the brain. rather than by hand-written instructions. In this framing, developers stop writing the program directly; they curate datasetsdataset, n.: An organized collection of examples gathered for a purpose — such as photos with their captions, or questions with answers — used to teach or test an AI system., choose an architecture and objective, and let optimizationgradient descent, n.: A method for training models by repeatedly nudging every setting a small step in whichever direction most reduces the error, like a hiker who cannot see the valley but keeps stepping wherever the ground tilts down. search the space of possible programs, so that the resulting 'code' is millions of numbers no one reads. Andrej Karpathy contrasted it with Software 1.0 — explicit code in languages such as Python or C++ — and predicted it would progressively absorb tasks such as vision, speech recognition and translation. He listed its advantages (uniform computation, fixed run time and memory, easy porting to specialized chips) and its costs (opacity, silent failures, inherited biases).
Our lane detector went Software 2.0 years ago; the hand-tuned rules are gone.
Origin
Coined by Andrej Karpathy, then director of AI at Tesla, in an essay titled 'Software 2.0' published on Medium in November 2017. He extended the scheme in 2025 with Software 3.0Software 3.0, n.: Andrej Karpathy's name for programming computers by writing plain-language instructions for AI models, following traditional code (Software 1.0) and trained neural networks (Software 2.0)., in which natural-language prompts program large language models.
Related
- Software 3.0Software 3.0, n.: Andrej Karpathy's name for programming computers by writing plain-language instructions for AI models, following traditional code (Software 1.0) and trained neural networks (Software 2.0).
- Andrej KarpathyAndrej Karpathy, prop. n.: A Slovak-Canadian AI researcher and teacher who co-founded OpenAI, led Tesla's self-driving vision team, and coined popular phrases such as 'vibe coding'.
- neural networkneural network, n.: A kind of computer program that learns a task from examples by tuning thousands to billions of connections between simple number-crunching units, an arrangement loosely inspired by nerve cells in the brain.
- deep learningdeep learning, n.: Machine learning done with neural networks built from many stacked layers: raw data such as pixels, sound or text goes in at one end, and each layer turns what it receives into something more abstract.
- English is the hottest new programming languageEnglish is the hottest new programming language, phr.: A catchphrase meaning that people can now get computers to do things by describing what they want to an AI in ordinary language, instead of writing code.
- the bitter lessonthe bitter lesson, phr.: The argument, made by AI pioneer Rich Sutton in 2019, that AI has advanced mostly through general methods that use ever more computing power, not by programming in human knowledge.
Sources
- Karpathy, A. (2017). Software 2.0. Medium, 11 November 2017.
Mentioned in
Andrej KarpathyAndrej Karpathy, prop. n.: A Slovak-Canadian AI researcher and teacher who co-founded OpenAI, led Tesla's self-driving vision team, and coined popular phrases such as 'vibe coding'., Software 3.0Software 3.0, n.: Andrej Karpathy's name for programming computers by writing plain-language instructions for AI models, following traditional code (Software 1.0) and trained neural networks (Software 2.0)., English is the hottest new programming languageEnglish is the hottest new programming language, phr.: A catchphrase meaning that people can now get computers to do things by describing what they want to an AI in ordinary language, instead of writing code.