A lot of “AI bugs” aren’t bugs.
They’re missing acceptance criteria.
If you ask an LLM to “build the feature,” it will build a feature. Usually a plausible one. Sometimes even a good one.
But plausibility is not correctness.
The fastest way to turn AI-assisted work from vibe-driven to reviewable is to write acceptance criteria before you generate anything. Not as bureaucracy. As a forcing function.
A simple acceptance-criteria pattern
- Inputs: what the system receives
- Outputs: what it must produce
- Rules: what must always be true
- Edge cases: what can’t break
- Failure behavior: what it should do when it cannot proceed
Then give the model a job that’s actually tractable:
“Given these criteria, propose an implementation plan. Highlight any ambiguous or conflicting requirements.”
What changes immediately
- You catch the missing decisions while they’re still cheap.
- Review becomes about whether criteria are satisfied, not whether the output “looks right.”
If you want reliability, don’t start with generation.
Start with a definition of done.