cd ../writing ←

note · 2026-07-21 · 3 min · #research · #ai · #software-factories · #quality · #sre

AI Code Generation: Reliability & the Verification Bottleneck

AI code is most reliable on well-specified, constrained tasks and least reliable on open-ended ones; and as generation gets cheap, verification becomes the bottleneck. The research and the data.

AI Code Generation: Reliability & the Verification Bottleneck

Two claims run through most of my thinking on the software factory, and both have support worth collecting. First, LLM output is most reliable when the task is well specified and constrained, and it degrades on open-ended or under-specified work. Second, as the cost of generating code falls, the cost of verifying it becomes the binding constraint, not generating it. Together they say: constrain the problem with a platform, and make the guardrail do the reviewing.

Reliability: constrained versus open

Evaluation of code LLMs is mostly done on well-specified task descriptions; behavior under realistic description defects (vague or wrong specs) is comparatively unstudied, and where it is studied, quality drops. That is the academic form of "garbage spec in, garbage out at machine speed."

Structuring the problem improves reliability. Structured Chain-of-Thought prompting, which decomposes generation through program-structure-aware steps, gives consistent gains over standard prompting on common benchmarks, and agentic workflows with a runtime debugging loop improve functional accuracy. The pattern is consistent: the more you constrain the shape, the more reliable the output, which is exactly the platform argument. And verification is inherently more precise than open generation, because outputs can be matched against known rules like syntax, tests, and standards.

The verification bottleneck

Reviewing AI output stays stubbornly human. A reviewer has to read the change, understand intent, verify logic, check security, and confirm architectural fit. Generation scaled; that did not. The reporting from teams adopting AI coding tools points the same direction: pull-request volume climbs while review time climbs faster, so review capacity, not generation capacity, becomes the throughput ceiling. The gap between what you can generate and what you can trustworthily review is where unreviewed risk accumulates.

Homogenized mistakes and security surface

AI-generated code carries a measurable defect and security tax, with reporting consistently finding elevated rates of security flaws and logic errors relative to human-written code. The compounding danger is uniformity: because a factory applies the same pattern everywhere, one flawed pattern reproduces across many services at once. Cross-cutting concerns like auth, error handling, and data handling are where this is most dangerous and hardest to walk back.

The posture that emerges across the sources is "vibe, then verify": pair rule-based static analysis, which is repeatable and auditable, with LLM assistance, so human attention lands only where judgment is genuinely required, on architecture, business logic, and security.

The throughput-versus-stability tradeoff

The best-sourced data point in the set is DORA's 2024 Accelerate State of DevOps report. It found that AI adoption raised individual productivity, flow, and job satisfaction, and improved code-review speed and documentation, yet was associated with a measurable decline in software-delivery throughput and, more sharply, stability. It is the clearest published evidence that faster generation, without matching guardrails, degrades delivery outcomes rather than improving them.

# subscribe

Occasional writing on systems & craft — no spam.

Keyboard bindings

Default NORMAL mode, from a hardware keyboard:

h j k l
Scroll left / down / up / right
g g
Scroll to top
G
Scroll to bottom
g + h/w/p/l
Jump to home / writing / projects / lab (lab has no page yet)
t
Cycle theme
f
Hint-jump -- label every on-screen link; type its label to open it
:
Enter COMMAND mode
/
Enter SEARCH mode -- n/N steps through results, Enter opens the highlighted one
?
Toggle this guide
Esc
Return to NORMAL from any mode, or close this guide

COMMAND mode (:) -- v1 commands. The registry is extensible: future commands (e.g. metrics queries) appear below automatically once registered, no template change required.