Why AI-Generated Code Is So Hard to Review
Your development team uses Copilot, Cursor, Claude Code or one of the many other AI tools. Productivity seems to be soaring: more features, more pull requests, shorter lead times. According to research by DX across more than 400 companies, roughly half of all new code is now written by AI.
But one step in the process hasn't scaled with it: code review. Faros AI analysed data from more than 10,000 developers and found that teams with high AI adoption merge 98% more pull requests, while time spent per review rose by 91%. The bottleneck has moved from writing code to judging it.
And it isn't just a matter of volume. For a number of structural reasons, AI-generated code is harder to review than code written by a human colleague. This article explains why, and what you can do about it.
Code review rests on an assumption that no longer holds
The classic review process relies on an unspoken agreement: the author understands what they wrote. The reviewer doesn't have to dissect every line, because they can ask questions. "Why this approach?" "Did you consider the case where the list is empty?" Review is a conversation between two people who both know the code.
With AI-generated code, that assumption falls away. The developer opening the pull request has often only skimmed the code. They can't answer "why?", because they didn't make the decision. The reviewer becomes the first person to actually read the code. That is a fundamentally different, and far heavier, job.
Six reasons AI code is harder to review
1. It looks good
AI code is neatly formatted, uses clear names and often includes comments. These are precisely the signals reviewers have used for years as a proxy for care. With a human author, clean style says something about the attention that went into the work. With AI it says nothing: the style is always clean, even when the logic is wrong.
This effect has been measured. Stanford researchers had developers complete security-sensitive tasks with and without an AI assistant. The group with AI wrote less secure code, and was at the same time more convinced their code was secure. CodeRabbit analysed 470 open-source pull requests and found 1.7 times as many issues in AI-written code as in human code, with 75% more logic and correctness errors. Errors that, at first glance, don't look like errors.
2. Pull requests are getting bigger and more numerous
AI writes more lines than a human does for the same problem. DX saw the median pull request nearly double in a single year, from 44 to 72 lines. Salesforce reported average pull requests of more than 1,000 lines across 20 files. Code review research has long shown that reviewer attention drops sharply beyond 400 lines. What happens after that isn't review anymore; it's a formality.
Now add the number of pull requests. More code, in larger chunks, landing on the same reviewers who didn't have enough time for it before the AI wave either.
3. Nobody knows the "why" anymore
Addy Osmani calls it comprehension debt: the growing gap between how much code exists in your system and how much of it any human genuinely understands. Unlike classic technical debt, this debt doesn't announce itself through friction. The code works, until someone has to change it.
This too has been measured. In a randomised experiment by Anthropic, 52 developers learned a new library, half of them with AI assistance. Both groups finished in roughly the same time, but the AI group scored 17% lower on a comprehension test about code they had submitted minutes earlier. The steepest decline was in debugging. Exactly the skill you need to find AI mistakes.
For a reviewer this means: the author is no longer a reliable source about their own change. Every question has to be answered by reading the code yourself.
4. The mistakes are of a different kind
Experienced reviewers know where human mistakes live: a forgotten null check, an off-by-one, a copy-paste that wasn't fully adapted. AI makes different mistakes, in different places:
- Plausible but wrong logic. A business rule implemented just slightly differently than intended, in code that compiles perfectly and whose tests (also written by AI) are green.
- Invented dependencies. A study presented at USENIX Security 2025 found that 19.7% of the packages suggested by code-generating models don't exist. Attackers register those names and fill them with malware, a technique known as "slopsquatting". A reviewer who doesn't check every new import won't see this.
- Silenced errors. GitClear has measured a 47% rise since 2023 in constructs that swallow errors, such as empty catch blocks. The code doesn't fail loudly; it fails quietly, in production.
- Security vulnerabilities. Veracode tested more than 100 models on 80 tasks: in 45% of cases the generated code contained a vulnerability from the OWASP Top 10. For cross-site scripting, 86% failed. Notably, newer and larger models write better working code, but not more secure code.
5. Every change is fine; the whole is not
AI optimises for the prompt, not for the system. It doesn't know a helper function already exists that does exactly this, so it writes a new one. It doesn't know your team's conventions, so it picks its own. GitClear analysed 623 million code changes and saw the share of copy-pasted code rise from 9.4% to 15.7%, while refactored code fell from 21% to 3.8%. Developers now copy five times more often than they restructure.
A per-pull-request review can't see this. Each change is defensible on its own. Only at the level of the whole codebase does it become visible that there are now three ways to do the same thing, that the architecture is slowly eroding, and that every subsequent change is more expensive because of it.
6. Reviewers give up
Put the previous five points together and the result is predictable. More pull requests, bigger, with no author who can explain them, with mistakes in unexpected places. At some point "LGTM" (Looks Good To Me) becomes a reflex. CodeRabbit saw review time for the largest pull requests plateau: reviewers aren't reading anymore, they're clicking through.
The 2025 DORA report on AI-assisted software development confirms the effect at the organisational level: AI adoption increases throughput, but has a negative relationship with software delivery stability. The likely cause, according to the researchers: code is generated faster than review and deployment processes can absorb. A study by Uplevel across nearly 800 developers found 41% more bugs in the work of the group with Copilot access.
What this means for your business
In the short term you notice little. Features arrive faster, the team is enthusiastic, the demos look good. The bill comes later, and it comes faster than with classic technical debt, because the code is written faster.
- Bugs that surface in production instead of in review, with customers as testers.
- Security incidents through vulnerabilities or dependencies nobody checked.
- A codebase nobody on the team fully understands anymore, making every change riskier and onboarding slower.
- Duplication and architectural drift you only notice when a "small change" suddenly takes three weeks.
AI hasn't made code review less important. It has made code review the last line of defence, and the bottleneck, at the same time.
What you can do about it
Six measures that work
- Keep pull requests small, regardless of who or what wrote them. A limit of a few hundred lines forces developers to split AI output into pieces a human can still judge.
- The author must be able to explain every line. Make it a team rule: whoever opens a pull request owns its contents, even if AI wrote them. Ask for the "why" in the description, not just the "what".
- Review the tests separately. AI-generated tests often test the implementation rather than the intended behaviour. Green tests then only prove that the code does what it does.
- Automate what a machine can find. Static analysis, security scanning and a check on new dependencies (does this package exist, who maintains it?) belong in the pipeline, so human attention can go to logic and design.
- Use a checklist. With AI code, habit and intuition stop working, because the mistakes are in different places. An explicit checklist forces the reviewer to look where they otherwise wouldn't.
- Look at the whole regularly. Duplication, architectural drift and eroded conventions are invisible per pull request. Schedule a periodic codebase-level review, by someone who isn't in the code every day.
Do you still know what's in your codebase?
The honest question for any team working with AI is not whether the code gets reviewed. On paper, it usually does. The question is whether that review still catches anything. And whether anyone still has an overview of the whole, now that half the code is no longer written by a human.
If you're not sure, an independent source code audit is the fastest way to find out. Not to abolish AI, but to measure what the speed gain has actually cost you, where the risks are, and which of the measures above will pay off most for your team.
Sources
- DX, "AI-authored code has nearly doubled, but so has PR size" (2026)
- Faros AI, "The AI Productivity Paradox" (2025)
- CodeRabbit, "State of AI vs Human Code Generation" (2025)
- Perry et al., "Do Users Write More Insecure Code with AI Assistants?" (Stanford, ACM CCS 2023)
- Anthropic, "How AI assistance impacts the formation of coding skills" (2026)
- Addy Osmani, "Comprehension Debt: the hidden cost of AI generated code"
- Spracklen et al., "We Have a Package for You!" (USENIX Security 2025)
- Veracode, "2025 GenAI Code Security Report"
- GitClear, "The Maintainability Gap: 2026 AI Code Quality Research"
- DORA, "State of AI-assisted Software Development" (2025)
- Uplevel, "AI for Developer Productivity: What Now?" (2024)