ixsoftum
What vibe coding actually means
AI-assisted developmentStrategic

What vibe coding actually means

Karpathy coined vibe coding in 2025, then coined agentic engineering a year later. What changed, and which term actually describes what you're doing.

Ava Harlan·Published 02 Sept 2026·5 min read
Key takeaways
  • Andrej Karpathy coined "vibe coding" in February 2025 on X, describing it as giving in to the vibes and forgetting the code exists. Merriam-Webster listed it as slang and trending within a month; Collins named it Word of the Year for 2025.
  • Karpathy coined a second term, "agentic engineering," in early 2026, specifically because the industry needed language for orchestrating and validating AI agents rather than just prompting them, per IBM.
  • Real data backs the shift: Stack Overflow's 2025 Developer Survey found 84% of developers use or intend to use AI-assisted programming, but only 3% "highly trust" the output, and experienced developers trust it least of all.
  • The two terms describe different jobs. Vibe coding fits prototypes and exploration. Agentic engineering fits production work, where a human orchestrates, reviews, and validates every agent action.

Vibe coding means describing what you want in plain language and letting an AI model write and run the code, largely without reading it yourself. Andrej Karpathy coined the term in February 2025, and by early 2026 he'd coined a second one, agentic engineering, specifically to describe something more disciplined. The gap between those two terms is the actual story, and it tells you more about where AI-assisted development stands today than either definition alone.

What Karpathy actually meant

Karpathy's original post on X described the practice bluntly: "you fully give in to the vibes, embrace exponentials, and forget that the code even exists." He extended it further: "I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works." That's not a rigorous engineering methodology. It was never meant to be one, Karpathy scoped it to quick, disposable, low-stakes projects, the kind where nothing catastrophic happens if the AI's output is wrong.

The term escaped that scope almost immediately. Merriam-Webster listed it as slang and trending within a month of the original post. Collins English Dictionary named it Word of the Year for 2025.

People started applying "vibe coding" to real production work well beyond weekend throwaways, and that's exactly where the term started drawing real criticism. Andrew Ng publicly pushed back in June 2025, arguing the word misleads people into thinking developers using AI tools are simply "going with the vibes" instead of doing real engineering work.

The practical failure mode that criticism points at is real. Skip review on code you don't fully understand, and you get what the industry now calls AI slop, output that looks plausible but breaks in ways nobody caught before it shipped.

Is vibe coding bad? covers a concrete version of this: a broken object-level authorization bug, the kind an ID-based endpoint gets when nobody checks who actually owns the resource being requested. Vibe coding itself isn't the problem there. Using it past the scope Karpathy originally described, then shipping without review, is.

Why Karpathy coined a second term a year later

By early 2026, per IBM's own explainer, Karpathy decided the industry needed better language for how AI-assisted development actually works in professional settings. His own definition of "agentic": an orchestration of agents writes the code, and the human developer oversees and validates the output, staying in the loop as the system iterates through subtasks. His definition of "engineering": real expertise is required to run agentic workflows without degrading code quality, and that expertise can be learned.

IBM lays out the practical difference in a straightforward comparison. Vibe coding puts the human in the role of prompting and directing AI, with often-limited oversight, aimed at speed and experimentation. Agentic engineering puts the human in the role of orchestrating, reviewing, and validating agents, with a human-in-the-loop by design, aimed at production-quality work.

One is suited to prototypes. The other is suited to professional software development, where a mistake actually costs something.

The timing lines up with real data on how developers feel about this shift. Stack Overflow's 2025 Developer Survey found 84% of developers already use or intend to use AI-assisted programming, a near-default part of the workflow at this point. But trust hasn't kept pace with adoption: 46% of respondents distrust the accuracy of AI tools, against 33% who trust it, and only 3% say they "highly trust" the output. Experienced developers are the most skeptical group of all, with the lowest "highly trust" rate and the highest "highly distrust" rate of any segment surveyed.

A term built around "it mostly works" was never going to satisfy a workforce that's simultaneously adopting the tools and doubting their output. Agentic engineering is the vocabulary that shift actually needed.

What this looks like once you're past the prototype

The distinction matters most exactly where it gets tested: the moment a fast, vibe-coded prototype needs to become something a team actually ships and maintains. Does agentic engineering kill Scrum? covers what that transition does to team process, story points and sprint mechanics built around the assumption that a human wrote every line stop making sense once agents are doing the writing, and DORA-style outcome metrics take their place.

Product engineer and agentic engineer covers the other side of the same shift at the level of individual roles: as agents absorb more of the actual typing, the human judgment that's left splits into deciding what to build and building the harness that lets agents execute reliably. Both pieces are downstream of the same fact this article is naming directly. Vibe coding and agentic engineering aren't competing brands for the same activity. They're Karpathy's own answer, a year apart, to two different questions: how do you move fast on something disposable, and how do you run this professionally once it isn't disposable anymore.

The actual verdict

If you're prototyping something you might throw away by next week, vibe coding is an accurate description of what you're doing, and there's nothing wrong with naming it that plainly. If you're shipping something a real team depends on, the word you want is agentic engineering, because it comes with an actual discipline attached: someone orchestrating the agents, reviewing what they produce, and staying accountable for the result. Neither term is more advanced than the other. They're built for different jobs, and knowing which job you're actually doing is the part worth getting right, well ahead of which label sounds more current.

Related