# Vibe coding vs agentic engineering

> Vibe coding means accepting whatever code an AI generates without a plan—fine for a throwaway experiment—whereas agentic engineering means directing your coding agent with a clear spec, small steps, protected secrets and verified checks so you build a real app you can trust.

## Analogy

Building a sandcastle on the beach with no blueprint is great fun for an afternoon, until the tide comes in. If you are building a cottage where people will actually sleep and keep their belongings, you want a floor plan, solid walls and a lock on the door.

## How it works

In February 2025, AI researcher Andrej Karpathy coined the term **vibe coding** for prompting an AI, accepting every change without reading or checking, and hoping it works. A year later, in February 2026, he named the mature discipline that followed: agentic-engineering—where AI agents write the code while you act as the architect and reviewer.

A quick-experiment (vibe coding) has a real place: when you want to see how a layout feels or test a rough idea in an afternoon and throw the folder away afterward. Because nobody logs in, no real data is stored and it never goes public, skipping the spec is harmless.

The trouble starts when a quick experiment is published as a real app. Without a spec and a plan, each new request breaks three older features; without secret rules, an API key can leak onto GitHub; without error handling or tests, visitors hit broken screens and nobody notices.

That is why sdd is the default in the Agentic Makers Guide: agree on `SPEC.md`, break the work into `tasks/plan.md`, build one task per branch with a commit after every working step, test on a preview link, and merge only when the Definition of Done is met. You don't have to write code yourself to engineer a reliable product.

## In your project

By default, your agent follows spec-driven development on every project. If you ever want a throwaway sandbox just to explore an idea, tell it explicitly “this is a quick experiment”—and if you decide to keep the idea, start a clean project folder with a proper `SPEC.md`.

## Copy for your agent

```text
Check our project against the Agentic Makers Definition of Done: do we have an up-to-date SPEC.md, tasks/todo.md, protected secrets, error boundaries, and passing checks before we merge?
```

---
Source: [Agentic Makers](https://agenticmakers.app/en/learn/vibe-coding-vs-agentic-engineering) · License: CC BY 4.0
