WhoBuilt

Andrej Karpathy: Software Is Changing (Again)

Jun 19, 2025· 40 min· 2.6M views·Watch on YouTube

Speaker

Andrej Karpathy, former director of AI at Tesla, speaks at a Y Combinator event about how software and software development are changing with large language models.

Three kinds of software

Karpathy describes Software 1.0 as code written by people, Software 2.0 as neural network weights trained from data, and Software 3.0 as prompts that program large language models. He says developers will need to choose among these approaches and move between them as each has different strengths.

LLMs as a new computing platform

Karpathy compares LLMs to utilities, semiconductor fabs, and especially operating systems. He likens the model to a CPU and its context window to memory, while noting that today’s costly compute keeps much of this capability in the cloud. He also describes LLMs as powerful but fallible: they can hallucinate, make uneven errors, forget context between sessions, and be vulnerable to prompt injection.

Build apps that keep people in the loop

Karpathy argues that useful LLM apps combine familiar interfaces with model assistance, orchestrated calls, and tools for reviewing the results. In Cursor, for example, people can accept or reject code changes and adjust how much work the AI handles. He favors small, reviewable changes and fast verification over large, unsupervised agent actions.

Natural language opens software creation

Karpathy says prompts let more people build software without years of programming experience. He describes vibe coding an iOS app and MenuGen, which generates pictures from restaurant menus. The prototype took hours, but authentication, payments, domain setup, and deployment took about a week, showing that making software production-ready involves work beyond writing code.

Make digital infrastructure accessible to agents

Karpathy proposes treating agents as a new kind of user alongside people and traditional software. He points to llms.txt, Markdown documentation, curl commands in place of click-by-click instructions, and tools such as MCP and Gitingest as ways to make information and actions easier for agents to use.

Takeaways

  • Choose between hand-written code, trained models, and prompts based on the task.
  • Design model-assisted workflows so people can inspect and verify results quickly.
  • Keep agent autonomy adjustable and begin with small, reviewable changes.
  • Budget for deployment and operations work; a working prototype is only part of a product.
  • Make documentation and actions accessible through formats and interfaces agents can use.

Mentioned in this talk

Search inside this talk

What was claimed 7

Related talks