This article is a recap of Andrej Karpathy’s talk at AI Ascent 2026 — hosted by Sequoia Capital. All insights, examples, and observations come from him. 📺 Watch the original talk on YouTube
Andrej Karpathy — co-founder of OpenAI, the person who got Tesla Autopilot working, and the one who coined the term vibe coding — recently said he’s never felt more behind as a programmer.
That’s a strange thing to hear from him. But it points at something real: what’s happening with AI coding right now isn’t just “writing code faster.” It’s something structurally different — and if you’re still thinking about it through the old lens, you’re going to miss it.
1. December 2025 — When Everything Actually Changed
Karpathy describes crossing a threshold:
The chunks of code just came out fine. Then I asked for more, and it came out fine. And I can’t remember the last time I had to correct it.
Before that, AI coding tools were useful for individual snippets — but they’d slip up often enough that you were still doing real correction work. By late 2025, agentic workflows — where an agent handles multiple steps end-to-end without you intervening at each one — became reliable enough to actually delegate to.
This isn’t just “coding faster.” It’s a different paradigm entirely.
2. Software 3.0: When Copy-Pasting to Your Agent Is Programming
Karpathy breaks the evolution into three generations:
Software 1.0 — you write explicit code, the machine executes it step by step.
Software 2.0 — you curate datasets, define objectives, train neural networks. Programming means arranging data and learning structure, not writing individual lines of logic.
Software 3.0 — you prompt. The context window is your lever over the LLM. The LLM is the interpreter. It reads context and executes computation in the space of information.
In this paradigm, the question isn’t “how do I write this code?” — it’s “what do I copy-paste to my agent?“
2.1. The MenuGen Story
Karpathy built a full app to photograph restaurant menus, OCR the dishes, find images of each item, and render a visual menu — a complex pipeline deployed on Vercel with multiple service integrations.
Then he saw the Software 3.0 version of the same problem: take a photo, throw it into Gemini, write one prompt asking it to overlay dish images onto the menu. Done. No app. No pipeline. No deploy.
His conclusion: The entire MenuGen app shouldn’t exist.
This is a qualitative shift, not a speed-up. Not “doing the same thing faster” — but “that thing shouldn’t exist in the old form at all.”
2.2. Text Is the New Installer
OpenClaw — an agentic tool — doesn’t ship a shell script installer. Instead, it gives you a block of text to copy-paste into your agent. The agent reads your environment, understands the context, and installs itself by making intelligent adjustments for your specific setup. No script trying to enumerate every possible platform edge case.
Intelligence is packaged in text, not in code.
3. Why AI Can Refactor 100k Lines but Gets the Car Wash Wrong
If Software 3.0 is this powerful, why does AI still make embarrassingly basic mistakes?
Karpathy’s answer: verifiability.
When frontier labs train LLMs with reinforcement learning, they need a reward signal — a way to know whether an output is good or bad. Domains that are clearly verifiable — math, code, logic — get trained heavily with RL, and models peak strongly there.
Domains with no clear reward signal — real-world common sense, spatial reasoning, everyday context — don’t get that same training, and the results are rough around the edges.
The classic example: the same model that can refactor a 100,000-line codebase and find zero-day vulnerabilities will confidently tell you to walk to a car wash 50 meters away because “it’s close.”
AI isn’t broken — AI has a shape. And that shape depends on what labs chose to train, and what reward signals they used.
Another example: between GPT-3.5 and GPT-4, chess ability improved dramatically. Not because the model became generally smarter — but because someone at OpenAI added a large chess dataset to the pre-training set. One data decision, and a capability spiked.
The practical implication: when using AI, you need to know which “circuit” you’re in — whether you’re in a domain where the model was trained heavily, or outside it. If you’re outside, don’t expect strong results without fine-tuning or extra context.
4. Vibe Coding vs. Agentic Engineering — Two Different Goals
This is where most people get confused.
Vibe coding is about raising the floor. Before, building software required knowing how to code. Now it doesn’t, not really. Anyone can vibe code something into existence. The floor has risen for everyone — and that’s genuinely remarkable.
Agentic engineering is about maintaining the quality bar while moving faster. You’re still responsible for your software the same way you always were. You still can’t let an agent ship vulnerabilities to production. You still have to ensure the business logic is correct.
Karpathy frames the challenge as: how do you coordinate agents — stochastic, fallible, but enormously capable — without trading off your quality bar?
That’s an engineering discipline, not just a tool habit.
A concrete example of where agents fail: In MenuGen, when users purchased credits through Stripe and logged in with Google, the agent matched accounts using the email address from Stripe — instead of a persistent user ID. Users who registered with different emails for Stripe and Google had their credits go missing.
The agent wasn’t technically wrong — it did what made surface sense. But it had no understanding of why a user ID must be a stable identifier, not an email.
That’s the gap agentic engineering has to close.
5. What Humans Still Own in This Loop
Agents are getting better. But right now, certain things still belong to the human:
Taste and aesthetics — Agent-generated code tends to be bloated, copy-paste heavy, and brittle in its abstractions. It works, but it isn’t clean. There’s no RL reward for elegance yet.
System design and spec — Deciding what the user ID should be, how data flows, where service boundaries live. Agents fill in the blanks; you decide what the blanks are.
Fundamentals, not API details — You don’t need to remember keepdim vs keep_dims, or reshape vs permute. But you do need to understand tensor views vs storage, and why copying memory is expensive. Agents handle the API surface; you understand the system.
Karpathy ties this together with a line he keeps coming back to:
“You can outsource your thinking, but you can’t outsource your understanding.”
He describes himself becoming the bottleneck of his own agent pipeline — because everything still requires him to know what to build, why it’s worth building, and how to direct his agents next. LLMs don’t excel at understanding. You’re still the only one responsible for that.
Here’s the thing: this isn’t a reason to worry. It’s a reason to invest in the right things.
If you’re working with AI coding tools — invest in your setup, deepen your understanding of fundamentals instead of memorizing more APIs, and learn to write clear specs before handing off to an agent. What separates good from great AI-assisted developers isn’t which tool they use — it’s the quality of what they bring to it.