Vibe 工程:从快活到受控智能

2026年9月1日1 次浏览来源:Dev.to阅读原文

正文保留英文原文(机翻易破坏代码与排版),标题/摘要已提供中文

Engineering Philosophy · AI-First Development Vibe Engineering: From Prompt-and-Pray to Controlled Ingenuity Vibe coding gave us a superpower.

Then it gave us a mess.

Vibe engineering is what happens when you keep the superpower and clean up the mess — without losing the magic that made it work in the first place.

September 2026Pratik Batra · Profecia Links10 min read I'll be honest about how it started Sometime in late 2024, I started experimenting with LLMs as development partners — not replacing our engineering process, but augmenting it.

At first, the results were intoxicating.

I'd describe a component, the AI would produce it, and it would just… work.

I'd sketch an API contract in plain English, and get a working FastAPI implementation back in seconds.

It felt like a cheat code.

And for rapid prototyping, it genuinely was.

I wasn't alone.

When Andrej Karpathy tweeted about "fully giving in to the vibes" and "forgetting that the code even exists," half the internet nodded along.

The other half was horrified.

Both reactions were correct.

Because here's the thing nobody talks about: vibe coding works brilliantly for exploration.

You can prototype three architectural approaches before lunch.

You can get a working proof-of-concept in an afternoon that would have taken two weeks to scaffold manually.

You can test ideas at the speed of thought instead of the speed of typing.

But the moment you try to take that prototype to production — to make it secure, consistent, maintainable, and team-ready — the cracks show fast. "Vibe coding is a phenomenal way to start a project and a terrible way to finish one.

The skill is knowing where the transition happens." The hangover Let me tell you about an internal tool our team prototyped in early

2025.

Five days.

AI-assisted throughout.

The prototype worked.

Everyone was impressed with the velocity.

Then we tried to harden it for production.

The codebase was a patchwork of the AI's stylistic moods across sessions.

One module used one state management pattern.

Another used something entirely different.

A third had silently introduced a dependency nobody asked for.

The component structure made sense locally — each file was clean — but globally, there was no consistency.

No shared design system.

No unified error handling.

No coherent security model.

There was just… accretion.

We weren't debugging code.

We were doing archaeology.

And it would have been faster to rebuild it with proper engineering constraints than to retrofit them.

The industry was hitting the same wall at scale.

The Lovable security breach.

The Replit database deletion.

Trust in AI-generated code dropped from 40% to 29% in twelve months, even as usage went up.

Everyone was using it.

Nobody trusted it.

That's a wild place to be. 41%Of global code is AI-generated 29%Developer trust in AI code 45%AI code has security vulnerabilities What I mean by "vibe engineering" Somewhere between "vibe coding is dangerous, go back to writing everything by hand" and "let the AI do whatever it wants," there's a discipline that doesn't have a great name yet.

I've been calling it vibe engineering — partly because it builds on what vibe coding got right, and partly because the word "engineering" is doing real work in that phrase.

Engineering is not coding.

Coding is typing instructions for a machine.

Engineering is making decisions about systems that have to work under real-world conditions, for real users, over time.

The difference between a prototype and a product is not more code — it's better decisions.

Vibe engineering keeps the generative speed of vibe coding but wraps it in the decision-making framework of actual engineering.

Here's what that looks like in practice: Practice Vibe coding Vibe engineering Architecture Emergent — whatever the AI decides Human-defined upfront — AI works within constraints Context Each prompt is independent Persistent project context — the AI knows the whole system Review "If it runs, ship it" Human reviews every boundary — AI generates, human validates Error handling Paste error → get fix → repeat Understand why the error exists → decide whether to fix or redesign Testing Manual — click around and see AI writes tests, human defines what to test Ownership The AI's — you don't fully understand the code Yours — you may not have typed it, but you understand every decision That last row is the one that matters most.

The question isn't "did you write this code?" The question is "can you defend every decision in this system at 2am when it's down?" If the answer is no, you don't have a product.

You have a demo.

The five habits that changed everything Over the past year, building Bridge OS products at production scale, I've converged on five practices that separate vibe engineering from vibe coding.

None of them are revolutionary.

All of them are hard to maintain under the seductive pressure of AI-generated velocity.

1.

Architecture before generation Before I let the AI write a single line, I define the system's shape.

Not in UML diagrams — in plain language documents that describe the data model, the component boundaries, the API contracts, and the constraints. "The frontend is Next.js 14 with App Router.

State lives in Zustand.

Server state is managed by React Query.

The backend is FastAPI.

The database is MongoDB.

No exceptions." This document becomes part of every prompt's context.

The AI stops making architectural decisions and starts making implementation decisions within an architecture.

That distinction is everything.

2.

Persistent context, not prompt amnesia The biggest failure mode in vibe coding is context loss.

Prompt 47 doesn't know what prompt 12 decided.

So the AI reinvents, contradicts, or subtly diverges from earlier work.

The fix is deceptively simple: maintain a living document — a system spec, a decision log, a product brief — that travels with every prompt.

Tools like Claude Code and Cursor have made this easier with project-level context, but the discipline is yours.

Feed the machine your memory, or it'll invent its own.

3.

Review at boundaries, not at every line You can't review every line the AI writes.

You shouldn't try.

What you can and must review is every boundary: the API contract between frontend and backend, the database schema, the authentication flow, the state management pattern, the error handling strategy.

If the boundaries are right, the implementation inside them can be wrong and fixable.

If the boundaries are wrong, no amount of correct implementation saves you.

4.

Taste is the new technical skill Here's the uncomfortable truth that nobody building AI coding tools wants to say: the AI generates average code by default.

It produces the most statistically common solution to your prompt.

If you want something better than average — more elegant, more performant, more maintainable — you need taste.

You need to look at what the AI produced and say "this works, but it's wrong" — and be able to articulate why.

Taste is pattern recognition refined by experience.

The AI has read every codebase on GitHub.

You've maintained codebases at 3am.

You've seen what an enterprise deployment actually endures over five years of change requests and staff turnover.

That's a different education.

5.

Specification as superpower We write comprehensive product specifications now — 30, 40, 50 pages — before any AI-assisted development begins.

Not because we love documentation.

Because the spec is what gives the AI consistency.

When every team member — human and AI — works from the same specification, the UI patterns stay coherent, the security model stays uniform, the error handling follows a single strategy, and the component architecture doesn't drift between modules.

I've watched this shift in our own product portfolio.

The products where we invested in a thorough spec — Verdex OS, Clariva, the ProcessMind architecture — have consistent UI/UX, predictable security boundaries, and code that any team member can pick up and extend.

The

分享