Andrej Karpathy coined the term in early 2025 to describe a style of development where you “fully give in to the vibes”: you describe what you want, accept whatever the model produces, paste errors back in without reading them, and iterate until the thing works. For weekend projects and throwaway prototypes this is genuinely liberating.
The term has since become the contrast point for more disciplined practice, often called agentic engineering, where the same tools are used with specs, verification loops, and real code review. The distinction is not which tool you use but how much rigour surrounds it: vibe-coded systems tend to accumulate defects and maintenance cost that surface only after they matter.
