
Vibe Coding vs. Agentic Coding: A Sketch Isn't a Blueprint
Every few weeks a client asks me some version of the same question: "If AI writes the code now, isn't this just vibe coding?" My short answer is that vibe coding is a napkin sketch of a building, great for seeing an idea fast, but nobody should move in. Agentic coding, done as a real delivery system, is the blueprint: the intent is written down, the agents that build are never the ones that check, and people make the decisions.
It's a fair question, and the long answer is more interesting than the short one. I'm a Principal Engineer on Rootstrap's sales engineering team, which means I spend my days in the gap between what clients imagine AI can do and what it takes to put a product in front of real users.

The sketch and the blueprint
What is vibe coding actually good at?
Vibe coding is building software by describing what you want to a model, looking at what comes back and prompting again until it seems right. Andrej Karpathy coined the term in early 2025 for throwaway weekend projects, and Martin Fowler's definition of vibe coding still scopes it to disposable software used by its author or a small group who accept the risks. That's the version I like.
The best thing vibe coding did was give a voice to people who couldn't build before. Founders, product managers and designers can now show an idea instead of describing it, and a clickable prototype says more in five minutes than a ten-page spec. When a client walks in with something they vibe coded, discovery gets easier for us, because we have something real to point at, question and pull apart.
So my test is simple. If you'd be comfortable throwing the code away tomorrow, vibe coding is probably the right tool. A prototype to test an idea, a demo to get stakeholders aligned, an internal tool one person uses: the cost of being wrong is low, and the person prompting is the only one who depends on the result.
Is vibe coding the same as AI-assisted coding?
No. Vibe coding means accepting AI-generated code without really reviewing it, and judging it only by whether it seems to work. Most professional AI-assisted coding is different, because engineers still read, question and test what the model writes. Adoption of AI coding tools isn't the same as adoption of vibe coding, and the risks are very different.
Should non-technical founders vibe code?
Yes, to show an idea. A vibe-coded prototype lets a founder, product manager or designer put something clickable in front of people instead of describing it, and it makes discovery with a development team faster. It shouldn't go to real users as-is, because security, data handling and maintainability were never designed. Treat it as input for the blueprint.
Why do vibe-coded apps always feel 90% done?
Vibe-coded apps feel 90% done because the demo works, and the remaining 10% is everything that makes it a product, which usually turns out to be most of the work. The workflow explains why. You describe, the model generates, you look, you prompt again. The only check is "does it look right?", the reasoning behind every decision lives in a chat that disappears when you close it, and each prompt patches the last output instead of going back to the goal.
None of that matters until the code stops being disposable. Then it breaks in three places. Real users find the edge cases nobody prompted for, and it turns out security, error recovery and performance under load were never designed, they just happened to work in the demo. A second engineer joins and finds patterns that contradict each other, because each came from a different prompt on a different day, so every change starts with archaeology. And a year in, the product has to change, but code nobody understands is code nobody wants to touch.

The last 10%
We got one of these on our desk recently. A client brought us a prototype they had vibe coded, and honestly, it had done its job: it proved the idea and got people excited. Under the hood we found very little test coverage, the same logic duplicated in different places, a data model that had grown without a plan, and security decisions nobody had actually made. We didn't tell them to throw it away. We put tests around the critical flows, cleaned up the architecture, closed the security gaps, and ran a product review in parallel to define the roadmap. The prototype had answered "can this work?" What it couldn't answer was "what should we build next, and in what order?"
If AI writes the code, what are you paying for?
You're paying for the part AI didn't make cheap: deciding what to build and proving it works. Writing code got dramatically cheaper. Building software got cheaper too, but not by the same amount, because building software was never just writing code. It's choosing what to build, designing an architecture that holds up, securing it, testing it, deploying it, and knowing what to leave out. Our CTO Anthony Figueroa makes a similar case in the assumptions behind software engineering that are expiring.
Clients almost never phrase it as "isn't this vibe coding?" It shows up as an estimate question: why does this feature take two weeks if you use AI? We stopped arguing that point. Instead we open up the feature and show what's inside: the gaps in the current definition, the edge cases nobody has decided, the UX options worth trying, the integration and security work behind it. Once clients see their own open questions laid out, the estimate usually explains itself, and the product gets better, because those questions needed answers anyway.
Sometimes the client is right, though. If a challenge shows us something really is simpler than we assumed, we adjust. AI should make some things cheaper, and pretending otherwise would undercut everything else we say.
What most people miss is that if you give two people the same model and the same product to build, you'll get two very different results. The model is now the most interchangeable piece of the whole thing, since everyone has access to the same ones. What changes the outcome is what the model is given, who checks its work and who decides what gets built.
What does a blueprint look like when agents do the building?
For AI agents, the blueprint is a single, validated source of truth that every agent builds from, which at Rootstrap we call the Ground Truth. It holds what the product is supposed to do and why: goals, business rules, user stories with acceptance criteria, architecture, integrations and a log of every decision, each with an owner and a source. Agents draft it from everything the client has, from decks to call transcripts to the vibe-coded prototype, but only a person can approve it. And every "I don't know" becomes a written open question instead of a silent assumption. We go deeper in why AI-native delivery needs a shared Ground Truth.
This matters more with agents than with people. A model will happily build something that looks right on top of a wrong assumption, and it'll do it fast. Put many agents to work without a shared blueprint and you get vibe coding at scale: every agent filling the gaps its own way, and the inconsistencies multiplying.
The other rule I'd put on any wall is that no agent judges its own work. You don't let a developer approve their own pull request, and our system, Rootshift, applies the same logic to agents. The one that builds a feature never reviews it, never verifies it and never merges it. Each agent runs inside a defined loop with a stop condition and a named human owner, which is the idea Matías Mansilla, our VP of Engineering, unpacks in what an agent loop actually is.
People stay where judgment is owed. Agents can draft, build and check, but product calls and business trade-offs go to a person, with the options and a recommendation written up. What we avoid is a human in the loop as decoration, someone rubber-stamping a change that has already passed every independent check. Matías draws that line in human in the loop: decide, own, or check.
How would you convince a skeptical CTO in 10 minutes?
I wouldn't show a demo. I'd show them the Ground Truth of their own project. I'd pick one capability and follow it end to end: the business goal it serves, its user stories and acceptance criteria, the rules behind them and the decisions that shaped it, each with its source and who approved it. Then I'd open the list of open questions, the things nobody knows yet that are blocking work until someone answers them. Most CTOs have never seen their product's unknowns written down in one place.
Then I'd make the comparison. In a vibe-coded project, all of that context is blended into one long conversation: requirements, corrections, half-abandoned ideas, and a fix from three days ago that contradicts the original ask. Anyone who has spent real time with LLMs knows how that ends: forgotten constraints, hallucinations and quality that quietly degrades as the chat grows. In our system each agent starts fresh and loads only the slice of truth it needs, already validated.
The last thing I'd show is what "done" means. Every acceptance criterion maps to a check, and a feature only counts as shipped after QA agents have tested the running app against what the client approved. Shipped means verified, not merged. Any line of code can be traced back to the requirement that asked for it and the person who signed off on it.
A skeptical CTO usually already knows context is the hard part of working with LLMs. Seeing their own product organized that way does more than any pitch.
Where do the surprises happen?
The difference clients feel first, before they can name it, is when the surprises show up. With vibe coding, the start feels amazing and the surprises come late: in production, when a new developer joins, when a "small change" breaks three other things. With our approach it's the opposite. The hard questions arrive in the first weeks, when the client is asked to make decisions they didn't realize were still open, and that can feel a little uncomfortable. After that, things get noticeably calmer. When we say something is done, it stays done. Most clients can't put it into words at first. They just notice they stopped being surprised.

Where the surprises happen
That's also the honest answer to what our approach costs more of: product direction and decisions. Open questions stop work until someone answers them, and an LLM usually doesn't have those answers, so we run workshops, talk to users and do research. Vibe coding makes those same decisions too, just silently, and you find them later, already built into the product, usually when a user runs into one.
None of this means we avoid vibe coding. On one project we vibe coded a prototype together with the client over a couple of weeks to narrow down what they wanted and try UX options faster than any document could. Then it became the starting point for formal development. A vibe-coded product is a tool for understanding users. The moment real users depend on it, it needs a blueprint.
Does agentic coding cost more than vibe coding?
Up front, yes. Agentic delivery built on a validated source of truth stops work on open questions until someone answers them, which means workshops, user conversations and research early on. Vibe coding makes those same decisions silently, and the cost shows up later as rework, production bugs and code nobody wants to touch. Over the life of a product, the structured approach saves a lot of time.
Where vibe coding is heading
I don't think vibe coding goes away. I think it finds its place. Teams building production software will move to AI-native delivery systems, and vibe coding will settle in as a deliberate tool for exploration, the thing experienced teams reach for when a tricky UX flow needs a few rounds of feedback or an idea needs to be in front of users by Friday.
If you're vibe coding today and want to get closer to a blueprint, start with two things. Revisit the backend, because prototypes pour their effort into the UI and keep a minimal backend that only exists to make the demo work, and decisions about data, credentials and secrets get expensive once real users depend on them. Then pick one capability and write down exactly how it should behave, edge cases included. If you can check whether what the model built actually does that, you've moved from vibes to criteria.
Architects didn't stop sketching when they got better tools. The sketch just stopped being mistaken for the blueprint. If you're weighing a partner for the blueprint part, start with four questions to ask before you hire an agentic AI team, or see how we work.


