“Vibe coding” is one of the most-used terms in this wiki, and its pages do not agree on what it means. Some hold it to one narrow criterion: whether the person building the software reads the code. Others use it for any software built mainly by talking to a model, reviewed or not. A third group uses it as the name of an early stage that some other practice replaces. This page sets out those answers, who gives each one, and what stands behind it. It does not decide between them. Where the pages disagree, the disagreement is what this page records.

The coinage

The pages agree on where the term comes from. Vibe Coding credits Andrej Karpathy with coining it in early February 2025. Karpathy’s description was of fully giving in to the vibes and forgetting that the code even exists: accepting every diff without reading it, pasting error messages back in with no comment, and working around bugs the model cannot fix, or asking for random changes until they go away. Two publishers and three authors fail to understand what “vibe coding” means quotes the tweet in full. It stresses two phrases: “forget that the code even exists” and “It’s not too bad for throwaway weekend projects”. Cursor records the setup Karpathy described: Cursor Composer driven by a Sonnet model, talked to by voice rather than typed at.

Several other pages also attribute the term to Karpathy:

2025年のアウトプットふりかえり dates the shift in how software was written to February 2025. It credits one publication from that month with making vibe coding a talking point, and summarises the month as the human moving from the driver’s seat to the passenger seat.

The pages do not disagree about where the term came from. They disagree about how much of Karpathy’s description the term still carries.

Answer 1: vibe coding means not reading the code

The most sharply drawn answer comes from Simon Willison. Not all AI-assisted programming is vibe coding (but vibe coding rocks) reduces the term to one observable test: vibe coding is building software with an LLM without reviewing the code it writes. Code that an LLM wrote but that has since been reviewed, tested and understood is software development, and the LLM’s involvement is immaterial. AI-Assisted Programming gives the umbrella category this narrow term falls under.

Willison presents the narrow reading as a defence of vibe coding, not an attack on it:

  • It lowers a steep barrier to programming for people without a computer science degree or a bootcamp.
  • It is the best way for experienced developers to build intuition about LLMs.

In Two publishers and three authors fail to understand what “vibe coding” means he calls the distinction “a hill I am willing to die on”. He adds that vibe coding is for people who are not software developers, not for people who already are.

Willison was still holding the same line in 2026:

Other pages adopt or restate the same boundary:

  • 谈谈 AI 编程工具的进化与 Vibe Coding reads Karpathy’s post as four points: forgetting the code exists, fixing even small errors through the AI, not reviewing what the AI writes, and accepting that this is fine for throwaway projects. It argues that much of the argument about vibe coding comes from not separating two different practices.
  • Vibe Coding: Practice, Performance, Productivity, and Risk—A State-of-the-Art Review adopts Willison’s boundary for its definition. What sets vibe coding apart is the developer’s disengagement from the generated code, validating by whether the output runs. On that boundary, the conversational-IDE workflow, in which the developer still reviews and tests, falls outside vibe coding proper.
  • SWE-chat: Coding Agent Interactions From Real Users in the Wild makes the narrow reading measurable. It counts a session as vibe coding when more than 99% of committed code was written by the agent, and reports that share doubling from about 20% to over 40% over its three-month window.
  • Humans and Agents in Software Engineering Loops calls “humans outside the loop”, leaving the how loop to agents, the common definition of vibe coding.
  • Vibe Coding records Andrew Connell’s account. Vibe coding hands ownership of the code to the AI. Agentic engineering keeps the developer’s engineering judgment in the driver’s seat.
  • Specification-Driven Development as the Foundation of AI-Native Enterprise Software Engineering sets vibe coding against spec-driven development as one of two archetypes of AI-assisted practice. In vibe coding, the specification exists only as implicit intent spread across working memory and conversation history, and acceptance comes down to observational sampling of behaviour. It limits “ungoverned” to practices where acceptance comes from sampling behaviour rather than checking against an explicit contract, “not to AI assistance as such”.

Answer 2: vibe coding means building software by conversation

A second group of pages uses the term for any development led by prompts, including work where the developer reads and steers the output.

Several products and tutorials also use the broad sense, some of them approvingly:

Where the two answers split

Is review part of the practice?

Here the two answers exclude each other. On Willison’s test, any work in which the code is reviewed is not vibe coding. Two broad-sense sources put review inside it:

Material Disengagement states the empirical side of that disagreement. In the sessions studied, programmers still scanned diffs and edited and debugged directly, only selectively rather than as the norm. The code did not stop being a material.

Building Software by Rolling the Dice: A Qualitative Study of Vibe Coding reports the disagreement among practitioners themselves. Some argued for a strict definition. Others rejected any boundary between vibe coding and traditional software engineering.

Who does it?

Willison ties vibe coding to people who are not professional developers, in Two publishers and three authors fail to understand what “vibe coding” means and Writing about Agentic Engineering Patterns. On the broad side, Программирование для тех, кто не пишет код: как устроен VibeCraft builds a product for people without a technical background. Vibe Vibe is aimed at learners with no programming background, though traditional programmers are among its intended readers too.

The VibeSec Reckoning describes a prototype built by a “citizen builder”, a non-technical user building with AI. The governance framework in Model AI Governance Framework for Agentic AI warns that users who vibe code with agents may lack the software engineering expertise to review the robustness of the code. Automation Bias uses the same case as its example of an overseer without the expertise to judge what they approve.

The empirical studies look at a different population:

Is it a category or a stage?

Several pages use the term for the first step of a transition, not for a category to keep:

Names offered for what vibe coding is not

Holding the term narrow creates a need for a word for the rest. Each page below offers or uses a different one.

NameWhere this wiki records itSet against vibe coding as
AI-Assisted ProgrammingNot all AI-assisted programming is vibe coding (but vibe coding rocks)The umbrella practice of which vibe coding is the unreviewed subset
Vibe EngineeringVibe engineeringThe other end of the spectrum: professionals staying “proudly and confidently accountable” for what they ship
Agentic EngineeringWriting about Agentic Engineering Patterns, Sequoia Ascent 2026 summary, 진짜 ‘딸깍’으로 다 되나요? — 보수적 개발자가 AI 에이전트로 프로덕트를 릴리즈하며 깨달은 것들Professional engineers amplifying their expertise with coding agents
Context Coding谈谈 AI 编程工具的进化与 Vibe CodingAI-assisted programming in general, as distinct from Karpathy’s narrow sense
AI-assisted engineeringHow to write a good spec for AI agentsWork that needs specs, tests and review, against vibe coding’s exploration and throwaway projects
Context Driven EngineeringImpact de l’IA sur l’état de l’art de l’ingénierie logicielle en 2026Supplying a complete context of intent and constraints instead of a prompt
Spec-driven developmentDel Vibe Coding al Spec Driven Development: cómo dirigir agentes de IA sin perder el control, Spec-driven development with AI: Get started with a new open source toolkit, Specification-Driven Development as the Foundation of AI-Native Enterprise Software EngineeringStructured specifications as the source of truth
Mise en Place (Agentic Coding Methodology)Mise en Place for Agentic Coding: Deliberate Preparation as Context Engineering MethodologyThe opposite end of the spectrum, doing alignment work up front
Humans on the loopHumans and Agents in Software Engineering LoopsA third position between staying out of the loop and inspecting every line

The names compete with each other too. Vibe Engineering records Willison’s February 2026 update that “agentic engineering” appeared to be coming out on top for the same idea. Agentic Engineering says that term was proposed to stop “vibe coding” covering two different activities, and that it arrived after months of debate over “vibe engineering”.

What Is Spec-Driven Development? A Practitioner’s Guide (and When to Skip It) draws a related line by where each method keeps its truth. For vibe coding it is the last prompt. For TDD it is the unit tests, for BDD the behaviour examples, and for spec-driven development the approved specification.

Is the narrow line holding?

The narrow camp’s own pages report it losing ground:

By 2026 the erosion shows from the other side as well:

When each answer says it fits

On both readings, the pages mostly place vibe coding at prototypes, personal tools and throwaway work. They differ on what rules it out.

Missing review. The narrow camp’s objection is that nobody reads the code.

Structural limits. Pages using the broad sense point elsewhere:

Other pages name specific costs:

Practitioners describe the same limits from their own work:

Some pages from both camps also make a positive case:

What stands behind each answer

The narrow answer rests on argument, not measurement. Not all AI-assisted programming is vibe coding (but vibe coding rocks) is explicitly definitional, and cites Karpathy’s wording and the author’s own practice.

The broad answer is mostly what the empirical and survey literature uses, and that literature is young:

The quantified findings each adopt a definition first and then measure against it:

A figure from one page therefore measures that page’s version of the term, not the term as other pages use it.