Vibe Coding
A casual approach to AI-assisted coding where developers describe intent rather than precise specifications.
Definition
Vibe coding is an emerging approach to software development where programmers describe their intentions in natural, conversational language to AI coding assistants, trusting the AI to interpret and implement their high-level vision. The term was coined by Andrej Karpathy in early 2025 and has quickly gained popularity as AI coding tools have become more capable.
Key characteristics of vibe coding include:
-
Intent Over Specification: Instead of writing detailed technical specifications, developers describe what they want in casual terms like "make this look nicer," "add some error handling here," or "this feels slow, can you optimize it?"
-
Trust in AI Interpretation: Vibe coding involves a degree of trust that the AI will make reasonable decisions about implementation details, design patterns, and edge cases without explicit guidance.
-
Rapid Iteration: The approach emphasizes quick experimentation and iteration. If the AI's interpretation does not match expectations, developers refine their description and try again rather than debugging line by line.
-
Lowered Barrier to Entry: Vibe coding makes programming more accessible to people who understand what they want to build but may lack deep technical knowledge to implement it themselves.
-
Potential Pitfalls: Critics note that vibe coding can lead to code that works but is not well understood by the developer, potential security issues from unreviewed AI-generated code, and difficulty maintaining or debugging the resulting software.
Vibe coding represents a shift in the developer's role from writing code to directing AI tools, reviewing outputs, and understanding systems at a higher level of abstraction.
The Agentic Development Handbook draws a clear boundary in Principle 10: vibe coding is not agentic development. Where vibe coding is individual, unstructured, and exploratory — a single developer conversing with an AI assistant without formal guardrails — agentic development is a team discipline built on governance, specifications, and accountability. Agentic teams use Live Specs to define tasks, Eval Harnesses to verify outputs, and structured human-in-the-loop gates to enforce quality. Vibe coding may be appropriate for throwaway prototypes and personal experiments, but it does not scale to production systems where reliability, security, and maintainability are non-negotiable.