Bliki: Vibe Coding

Martin Fowler Β· rss Β· 2026-05-21 source β†— Reader πŸ–₯️

Agent HarnessAgentic EngineeringAgile & XPCode QualityDisposable vs. Durable CodeLethal TrifectaLLM LimitationsMalleable SoftwareRiding Model ImprovementsVibe Coding
Vibe coding β€” building software by prompting an LLM without ever looking at the generated code β€” is a distinct practice from agentic programming, useful only for disposable software, because forgetting the code exists produces serious risks in security, maintainability, and correctness.

practical Β· expository β€” A bliki definitional entry. Practical because its ultimate purpose is to guide action: how readers should use vibe coding (only for disposable software) and how they should talk about it (don't conflate with agentic programming). Expository in form β€” Fowler defines a term, distinguishes it from a neighbouring concept, and enumerates risks β€” rather than constructing a sustained argumentative case.

Structure

PartRole
Opening definition paragraphEstablishes the working definition and its scope (best for disposable software)
Karpathy attribution and quoted X postProvides the etymological anchor and shows the originator's own framing ('forget that the code even exists', 'throwaway weekend projects')
Distinction from Agentic Programming (linking to NovemberInflection and SemanticDiffusion)Conceptual disambiguation β€” the load-bearing move of the post
Who it suits (non-programmers; experienced programmers for prototypes)Scopes the legitimate use cases
Limitations and risks: security (Lethal Trifecta), code quality / maintainability, hallucination and non-determinismEvidence for the constraint that vibe coding is unsuitable for serious software
Concluding prescription: disposable software only; consequential code 'should not be forgotten about'Practical recommendation

Key terms

Propositions

Arguments

Vibe coding is a distinct practice from agentic programming and the distinction is worth preserving. strength: high
Explicit premises:
Implicit premises:
Inferences:
Vibe coding should be confined to disposable software. strength: high
Explicit premises:
Implicit premises:
Inferences:
Well-structured software remains valuable in an LLM-heavy world. strength: medium
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Closes gaps elsewhere

Related documents