Human reviewers are excellent at judgment — is this the right abstraction, does this belong here, will the next person understand it — and terrible at attention. By line 400 of a diff, everyone is skimming. The bugs that ship are almost never the clever ones; they're the swallowed exception, the missing await, the loop that queries the database once per row. A good AI review pipeline is not a replacement for human judgment. It's a way to hand the attention work to something that never gets tired, so humans spend their review budget on the parts that actually need a brain.
This is a walkthrough of a pipeline I run on my own projects: deterministic gates first, an LLM reviewer second, and a hard rule that the LLM only comments where a machine can't. As of mid-2026 the model APIs are cheap and fast enough that this costs cents per pull request, but the design matters more than the model — a badly scoped LLM reviewer produces so much noise that people mute it within a week.
Why not just point an LLM at the whole diff?
Because it will comment on everything, and a reviewer that comments on everything gets ignored. The failure mode is well documented on every team that tries it: the bot leaves fourteen comments, twelve are style nits already handled by a formatter, one is a hallucinated "possible null dereference" on code that can't be null, and the one real bug is buried in the middle where nobody reads it.






