Notes on Andrej Karpathy’s Talk

Posted on July 5, 2025   • 1045 words

Notes from Andrej Karpathy’s talk Software Is Changing – Again


Software’s New Era: How AI Is Rewriting the Rules Again

Meta Description: Explore how AI is transforming software development with new paradigms like Software 3.0, programmable large language models, partial autonomy apps, and human-AI collaboration. A deep dive into the future of programming.


Introduction

Software is undergoing a seismic shift—again. For decades, software development followed a predictable path: humans wrote code to instruct computers. Then came neural networks, ushering in Software 2.0, where data and optimization shaped intelligent models. Now, we are witnessing the dawn of Software 3.0—a world where large language models (LLMs) are programmable through natural language, blurring the lines between human and machine control.

Andrej Karpathy, former Director of AI at Tesla, paints a compelling picture of this new landscape. His message: software isn’t just changing—it’s being reinvented, and every developer entering the field must learn to navigate this evolving ecosystem.


The Three Generations of Software

Software 1.0: Traditional Programming

This is the classic paradigm—humans write explicit code that directly controls computer behavior. Software 1.0 dominates legacy systems and forms the foundation of most software products.

Software 2.0: Neural Network Programming

Software 2.0 shifts from manual coding to training neural networks using vast datasets. Instead of writing each rule, developers tune datasets and let optimizers craft the system’s behavior.

A key example: Tesla’s Autopilot gradually replaced C++ code (1.0) with neural networks (2.0) capable of handling complex, perception-driven tasks like sensor fusion.

Software 3.0: Natural Language Programming

Software 3.0 introduces LLMs as a new programmable medium. Here, prompts written in natural language effectively program LLMs to perform tasks. It’s not just a new interface—it’s a fundamentally different type of computer.

Key Example:

Tasks like sentiment analysis can now be performed by:


Large Language Models as Operating Systems

Karpathy argues that LLMs function much like early operating systems:

LLMs are more than utilities; they’re complex ecosystems resembling modern OS structures, with players ranging from closed-source giants like OpenAI to open-source challengers like LLaMA.


Rethinking Autonomy: From Agents to Augmentations

The Rise of Partial Autonomy Apps

Karpathy emphasizes the growth of partial autonomy applications—software that integrates LLMs to assist users while keeping humans in control.

Example: Cursor

Cursor is a coding app that:

Example: Perplexity

Perplexity applies similar principles in the research domain, offering layered control from quick searches to deep, autonomous research tasks.

Why Partial Autonomy Works


Best Practices for Working with LLMs

Keep AI on a Short Leash

Embrace Generation-Verification Loops

Practical Design Insights


Natural Language: The New Universal Interface

Everyone Can Program Now

Natural language programming lowers the barrier to software creation:

The Vibecoding Revolution

Karpathy’s viral “vibecoding” meme captures a cultural shift where:

Example: Menugen

Karpathy’s own experiment—Menugen, an app that generates menu images—was vibecoded in a day. The challenge wasn’t the app itself but the tedious, manual setup of backend services—a process ripe for AI automation.


Building for Agents: A New Frontier

Preparing Digital Infrastructure for AI Agents

As AI agents become more capable, our digital systems must adapt:

Emerging Standards


Conclusion: Welcome to the New Software Era

Software is changing—not in incremental steps, but through paradigm shifts:

This is the decade of agents, but patience and precision are required. The journey from augmentation to autonomy will unfold gradually, demanding careful iteration, robust human oversight, and infrastructure built for AI collaboration.

Karpathy’s final invitation is clear: We’re building the future together. It’s time to put on the Iron Man suit.


FAQ

What is Software 3.0? Software 3.0 refers to the use of large language models programmed via natural language prompts, shifting away from traditional code and dataset training.

What are partial autonomy apps? These are applications that integrate AI to assist with tasks but still rely on human supervision and control, often featuring an autonomy slider.

What is vibecoding? Vibecoding is casual, prompt-driven software creation where developers build quickly without deep prior expertise, often relying on LLMs for assistance.

Why is building for agents important? As AI agents increasingly navigate digital spaces, we must design systems that are machine-readable and actionable, enabling more seamless interaction between humans and AI.