Back to Blog
AI Insights

Software is Changing (Again): Reflections on Andrej Karpathy's Vision for the AI Era

Martín Marlatto

Martín Marlatto

CSO at WillDom | Partner

July 10, 20255 min
ai
software
llm
karpathy
future-of-work
Software is Changing (Again): Reflections on Andrej Karpathy's Vision for the AI Era

If you're developing software today, you're on the cusp of a fundamental change. Andrej Karpathy's recent presentation at AI Startup School crystallizes what many in tech are feeling: we are entering "Software 3.0," a new era where natural language is the interface and large language models (LLMs) are the new computers.

From Code to Conversation

For decades, software development was grounded in the use of programming languages—rigorous, formal, and fundamentally designed for those with specialized training. This approach, often called Software 1.0, required developers to translate human intent into exact instructions that a computer could execute, making the process powerful but largely inaccessible to non-experts.

The landscape shifted with the advent of Software 2.0. In this paradigm, neural networks and large datasets began to replace handcrafted logic, particularly in domains like image recognition and natural language processing. Instead of specifying every rule, developers curated data and designed architectures, letting the model learn the "code" through optimization. However, even this approach was still confined to the realm of machine learning specialists and required significant technical expertise and resources.

Now, with the emergence of Software 3.0, we are witnessing a profound change: programming is increasingly done in natural language. Large language models (LLMs) can interpret instructions written in English (or other human languages) and generate code, perform tasks, or orchestrate complex workflows based on those instructions. This shift means that expressing intent—once the exclusive domain of programmers—becomes accessible to anyone who can articulate requirements in everyday language.

Karpathy emphasizes that this democratization of software creation not only lowers the technical barrier, but also unleashes creativity and innovation from a much broader audience. The ability to "program in English" allows domain experts, creatives, and entrepreneurs to build tools and solutions without years of formal training. As a result, we are entering an era where the pool of potential software creators expands dramatically, fundamentally changing who can participate in shaping the digital world.

LLMs: Utilities, Factories, and Operating Systems

Karpathy draws a multifaceted analogy to describe the disruptive role of large language models (LLMs) in the current software landscape. He likens LLMs to utilities in the sense that they are always available, on-demand, and accessed via standardized APIs—much like electricity or water. This "utility" aspect is visible in how organizations and individuals now rely on cloud-based LLMs as essential infrastructure, with expectations for reliability, low latency, and metered usage.

He also compares LLMs to manufacturing plants or "fabs." Training state-of-the-art models demands immense expenditure, specialized hardware, and deep technical expertise—similar to building and operating a semiconductor fabrication facility. The labs that develop these models act as high-tech factories, continuously pushing the boundaries of what's possible, and the models themselves are the "products" distributed at scale.

Perhaps most significantly, Karpathy argues that LLMs are evolving into a new kind of operating system. Rather than merely serving as passive resources, they orchestrate computation, manage context, and enable new classes of applications. Like an OS, an LLM mediates between users, tools, data, and tasks, providing a programmable interface—now in natural language—on top of which software is built.

Crucially, this is not just about adding new tools to the developer's toolkit. LLMs represent a new computational substrate with unique "psychology" and quirks: they have emergent human-like behaviors, can be unpredictable, and require new design patterns for effective use. As Karpathy notes, we are not simply iterating on previous paradigms—we are constructing a fundamentally new kind of computer, one that requires us to rethink the architecture, interfaces, and even the role of the human in the loop.

The Human-AI Loop

While large language models (LLMs) are powerful, they are fundamentally imperfect computational agents. Karpathy stresses that LLMs exhibit both superhuman capabilities—such as vast recall and rapid synthesis across domains—and significant limitations, including hallucinations, brittle reasoning, and lack of persistent memory. This duality means that fully autonomous AI systems are not yet reliable for critical or complex tasks.

Karpathy advocates for a "human-in-the-loop" paradigm, where systems are architected for partial autonomy. In this model, LLMs handle generation, suggestion, or automation in bounded contexts, but humans remain responsible for guidance, verification, and final decision-making. This approach is not just a safety net; it is a design principle that acknowledges the current state of AI reliability and the need for human judgment, context, and ethical oversight.

He uses the Iron Man suit analogy to illustrate this: the AI is an augmentation layer, amplifying human abilities, not a replacement. The user remains in control, leveraging the AI's strengths while compensating for its weaknesses. In practice, this is implemented through autonomy "sliders" in software—users can choose the degree of automation, from simple autocomplete to full agentic actions, but always with the ability to audit, accept, or override the AI's output.

Technically, this requires robust interfaces for human-AI collaboration. Karpathy highlights the importance of application-specific GUIs that make AI outputs transparent and verifiable (e.g., visual diffs in code editors, citation trails in research tools). These interfaces accelerate the generation-verification loop, allowing humans to quickly validate or correct AI-generated results, which is essential given the non-deterministic and sometimes unpredictable nature of LLMs.

What's Next?

We are still in the early days, think of "the 1960s of LLMs." Infrastructure, best practices, and killer applications are still emerging. But one thing is clear: everyone can now be a programmer, and the only limit is our imagination.

In summary, Karpathy's technical vision is clear: the most effective AI systems today are not fully autonomous agents, but collaborative tools that combine the generative power of LLMs with human oversight, domain expertise, and ethical reasoning. This hybrid approach is not a temporary compromise, but a foundational design pattern for building trustworthy, productive, and safe AI-powered software in the current era.

AI
Software
LLM

Related Posts