top of page

What Code Review Looks Like When Half the Code Was AI-Generated

Writer: BlastAsia
BlastAsia
10 minutes ago
3 min read

A code review process built around reviewing colleagues' work doesn't automatically transfer to a codebase where most of the implementation was AI-generated. It's tempting to assume the same checklist applies — check the logic, check the style, check the tests — and it mostly doesn't, because AI-generated code fails in different, less visible ways than human-written code does. A review process that doesn't account for that difference ends up catching the wrong things and missing the ones that actually matter.



Why the Old Checklist Falls Short


A human developer's mistakes tend to look like mistakes. Rushed code is inconsistent, unfinished, or obviously cutting a corner — the kind of thing an experienced reviewer catches by pattern recognition built over years of reading other people's rushed code. AI-generated code doesn't fail this way. It tends to be confidently, consistently wrong: a function that handles every case in the specification correctly except the one edge case nobody thought to specify, written with the same clean structure and naming conventions as the code around it. There's no visual tell. The bug doesn't look like a bug — it looks like a decision someone made on purpose.


That means a review process optimized for "does this look like sloppy work" is checking for the wrong signal entirely. The question that matters more is "does this do exactly what the specification actually asked, including the parts the specification didn't think to say explicitly."



What a Review Process for a Mixed Codebase Actually Needs


Automated checks handle what they're good at, so humans don't have to.

Unit testing, static code analysis, and regression testing are the parts of quality assurance that are now genuinely automatable at scale — catching syntax issues, obvious logic errors, and regressions against existing behavior without consuming a senior developer's attention. In our own process, static code analysis runs through a SonarQube quality gate before anything reaches human review, so a reviewer's time goes toward the judgment calls a static analyzer can't make, not toward catching what it already would have. If your review process still routes these to a human first, that's hours going toward work a quality gate should be doing instead.


Specification-conformance review, not just correctness review.

Checking whether code runs and produces a plausible output is a lower bar than checking whether it does what the specification actually intended — including implicit intent the spec's author assumed was obvious. This is where a reviewer has to actively think adversarially: what edge case would break this, and did the AI handle it or just handle the version of the problem it assumed was being asked.


Architectural-consistency review.

AI-generated code optimizes for solving the immediate task, not necessarily for fitting the broader system's existing patterns. A reviewer needs to check whether a newly generated module is structurally consistent with how the rest of the codebase is organized — not because inconsistency breaks anything today, but because an increasingly inconsistent codebase becomes harder for anyone, human or AI, to safely modify later.


A named human accountable for sign-off, not a rotating "the team reviewed it."

The confidently-wrong nature of AI output means a shallow, distracted review is more dangerous here than with human-written code, not less — the errors are specifically the kind that a quick skim won't catch. That argues for a real, named reviewer with the seniority and context to actually stress-test the output, not a checkbox that gets ticked by whoever's available.



review process built for human-written code doesn't automatically work on AI-generated code — it catches the wrong things.


Where This Connects to the Bigger Picture


This is the practical, ground-level version of a point we made in a recent piece on how the developer's job is changing: reviewing and refining AI-generated output has become one of the highest-judgment tasks in the delivery process, often taking up more of a developer's time than the specification work or the original build. A review process that hasn't been rebuilt around that reality is still running yesterday's checklist against today's codebase — and the gap between the two is exactly where the confidently-wrong bugs get through.


If your team's review process hasn't been rethought since AI coding tools became part of the workflow, let's talk through what a review process built for a mixed codebase should actually check.

Comments


bottom of page