L20 · The method · 5 min

Vibe coding vs agentic engineering

In one sentence

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.

Think of it like this

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: Definitionagentic engineeringBuilding software by directing AI agents and checking their work: you lead, the agent builds.Open in the glossary →—where AI agents write the code while you act as the architect and reviewer.

A Definitionquick experimentA throwaway try-out without a spec. Fine for testing an idea, never for something you'll publish.Open in the glossary → (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 Definitionspec`SPEC.md`: what you're building, who it's for, what's in and out, and how you'll know it works.Open in the glossary → and a DefinitionplanThe spec split into small tasks, each finished and checkable on its own, in `tasks/plan.md`.Open in the glossary →, each new request breaks three older features; without DefinitionsecretAnything that opens your accounts: API keys, passwords, tokens. Kept only in Vercel and `.env.local`.Open in the glossary → rules, an API key can leak onto GitHub; without error handling or DefinitiontestA small program that checks your app does what it should, so a fix can't silently break later.Open in the glossary →s, visitors hit broken screens and nobody notices.

That is why Definitionspec-driven development (SDD)Agree on what to build (the spec) and a plan, then build one small, checked step at a time.Open in the glossary → 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 DefinitioncommitA checkpoint: a snapshot of what changed, with a short note. You can return to any commit.Open in the glossary → after every working step, test on a DefinitionPreviewA private test link Vercel makes for each change, so you can try it before it goes live.Open in the glossary → link, and merge only when the Definition of Done is met. You don't have to write code yourself to engineer a reliable product.

Quick experimentVibe coding (throwaway)No spec or plan. Great for testing an idea on `localhost` in an afternoon—never for publishing.
The turning pointWill real people use it?As soon as an app goes online, stores data, uses keys or matters to you, switch to SDD.
Real appAgentic engineering (SDD)`SPEC.md`, `tasks/plan.md`, small commits, protected secrets, Preview checks and tests.
FIG. 1 · When to use each approach: quick experiments are for throwaway sketches; agentic engineering with SDD is how you build apps worth publishing.

What it looks like 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

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?

Quick check · 1 question

When is it fine to skip `SPEC.md` and do a quick experiment?

Go deeper

Next lessonTests: how your agent proves it works

Last reviewed Nov 8, 2026