Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
Core Concepts
Reasoning
Memory & Retrieval
Agent Types
Design Patterns
Training & Alignment
Frameworks
Tools
Safety & Security
Evaluation
Meta
This is an old revision of the document!
Vibe coding is an AI-dependent programming approach in which a developer describes desired functionality in natural language and accepts AI-generated code largely without reading or deeply reviewing it. The term was coined by Andrej Karpathy on February 2, 2025, and was named Collins Dictionary Word of the Year 2025.
On February 2, 2025, AI researcher and former Tesla and OpenAI engineer Andrej Karpathy posted a tweet describing a new way he had been programming: fully leaning into large language models (LLMs), prompting them in natural language, accepting all suggested changes, and iterating by running the code and feeding errors back to the model.1)
The tweet accumulated over 4.5 million views and quickly resonated with a broad developer audience, triggering widespread discussion about the future of software development. Karpathy described the experience as almost spooky — he would forget what the code actually did and would simply ask the AI to fix problems as they arose.
By February 2026, Karpathy revisited the concept, drawing a distinction between casual vibe coding and what he termed agentic engineering — a more deliberate, structured use of AI agents in development workflows requiring greater developer oversight and systems thinking.
Vibe coding is characterized by:
The “vibe” in the name refers to the intuitive, feel-based nature of the process — the developer works on vibes and intent rather than code comprehension.
Not all use of AI coding tools constitutes vibe coding. Developer and writer Simon Willison drew a widely-cited distinction:2)
| Approach | Description | Code Review |
|---|---|---|
| Vibe Coding | Accept all AI output, iterate by feel | Minimal to none |
| AI-Assisted Coding | Use AI as a tool, review and understand output | Thorough |
| Agentic Engineering | AI agents handle sub-tasks under developer supervision | Structured |
In Willison's framing, using AI tools like Copilot or Claude Code while still reading, understanding, and owning the generated code is not vibe coding — it is simply modern AI-assisted development. Vibe coding specifically implies the abdication of comprehension.
A typical vibe coding session follows this loop:
This cycle can produce working prototypes very rapidly, sometimes in minutes for tasks that might take hours or days via traditional development.
# Example vibe coding prompt sequence Prompt 1: "Create a Flask app with a SQLite database that stores blog posts" Prompt 2: "Add authentication with JWT tokens" Prompt 3: "It's throwing a 500 error on /login — here's the traceback: [paste]" Prompt 4: "Now add rate limiting to the login endpoint"
Vibe coding is enabled by a new generation of AI-powered development environments and assistants:
| Tool | Type | Notable Feature |
|---|---|---|
| Cursor | AI-first IDE (VS Code fork) | Composer mode for multi-file edits |
| GitHub Copilot | IDE extension | Deep GitHub and VS Code integration |
| Claude Code | CLI agentic coding tool | Terminal-based, full repo context |
| Windsurf | AI-first IDE | Cascade agentic flow |
| Bolt.new | Browser-based | Full-stack app generation from prompt |
| Lovable | Browser-based | Product-focused UI generation |
| Replit | Cloud IDE | Built-in hosting and AI agent |
| v0 | Browser-based | UI component generation (by Vercel) |
Security researchers have documented significant risks associated with vibe coding practices:
Engineering teams adopting vibe coding without guardrails have reported:
Red Hat's developer blog summarized the risk bluntly in a February 2026 article: vibe coding produces systems that “work until they don't, and when they break, nobody knows why.”4)
Critics have raised concerns that widespread vibe coding — particularly among new developers — could:
Stack Overflow's engineering blog described vibe coders as “a new kind of worst-coder” — not because of malice, but because of the mismatch between confidence and comprehension.5)
Despite criticisms, vibe coding has driven measurable shifts in the software industry:
Vibe coding has proven especially popular for:
By early 2026, the conversation had begun shifting from vibe coding toward a more mature paradigm. Karpathy himself introduced the term agentic engineering to describe a disciplined approach where AI agents handle bounded sub-tasks — writing functions, running tests, searching documentation — while the developer maintains architectural ownership and reviews critical outputs.
This framing positioned vibe coding as an early-adopter phase: useful for exploration and prototyping, but insufficient for production systems at scale. Agentic engineering, by contrast, treats AI as a powerful but supervised collaborator rather than an autonomous author.