DEV Community

Cover image for Code Review in the Age of AI: Is Manual Review Still Enough?
AK DevCraft
AK DevCraft Subscriber

Posted on AI-assisted

Code Review in the Age of AI: Is Manual Review Still Enough?

Introduction

Software is being built faster than ever. AI assistants can scaffold a feature in minutes, leading to more pull requests, larger diffs, and more pressure on reviewers. Manual code review, where a reviewer opens a diff and reads it line by line, is becoming a bottleneck. It doesn’t scale to our current pace.

Before talking about the fix, it's worth being clear about what code review actually is.

Code review has more than one dimension

When we say "code review," we usually mean several things at once:

  • Language expertise: Is this idiomatic? Does it use the language and its libraries well?
  • Standards and conventions: Does it follow the team's style, naming, and structure?
  • Correctness: Does it do what it's supposed to do, including in edge cases?
  • Security and performance: Does it introduce vulnerabilities, N+1 queries, or memory issues?
  • Application context: Does this change fit the system it lives in?

The last one matters most. A reviewer can be a brilliant language expert and still miss the real problem, because the code is correct in isolation but wrong for the application. It might duplicate logic that already exists, break an assumption another module relies on, or solve a different problem than the ticket described. Linters can enforce standards, and language knowledge can be learned. Context is what makes a review valuable, and it is the hardest thing to bring to a fast-moving codebase.

The challenge: speed versus context

With AI-assisted development, the volume of code grows faster than any reviewer's ability to hold the whole application in their head. Reviewers get diffs without the story behind them. Authors submit PRs that "look fine" but were never critically examined. Something slips through.

Shift left: the author reviews first

The engineer who wrote the code should always self-review before anyone else sees it. That isn't new. What's new is how we can do it.

Instead of rereading your own diff and hoping to spot your own blind spots (well, good luck with that), use an AI assistant like Claude with a code review skill. Use the Superpowers code review skill. The workflow is straightforward:

  1. Give it the story or Jira ticket you were working on. This is the intent.
  2. Point it at the delta: the diff between your branch and main, a feature branch, or a release branch, whatever your branching strategy is.
  3. Ask it to review the change against that intent.

Under the hood, the skill works from a base commit, a head commit, a description of what was built, and the plan or requirements it was built against. That maps neatly onto a Jira ticket plus a branch diff. It dispatches a reviewer subagent, so the diff and the evaluation live in that subagent's context, and only the findings come back. Your main session stays clean, and the review gets a fresh pair of eyes that aren't biased by how you wrote the code.

Because the review is anchored to the ticket, the AI isn't just checking syntax. It's asking whether the change delivers what was asked, whether it missed acceptance criteria, and whether it introduced side effects. That is far more effective than a cold read of a diff. Other tools, like GitHub Copilot's review features, follow the same principle.

You're still the driver (engineer)

You don't have to accept everything the AI flags. Some suggestions will be irrelevant, and some will miss the point. Treat the output as a thorough first pass, not a verdict. You can dig deeper into any finding, push back, or ask for more detail.

The value is coverage. The review is consistent and tireless, and it makes sure you're not missing something obvious before a teammate spends their time on it. By the time a human reviewer opens your PR, the easy issues are already gone, and they can focus on design, architecture, and business logic.

Give the AI a map: why a code graph matters

One more piece makes this dramatically better: a codegraph.

Without one, an AI assistant explores a codebase the way we used to, running grep, find, and file reads over and over, hoping to land on the right files. It's slow, it burns through context, and it misses relationships that aren't obvious from text matches.

Instead of that, use CodeGraph, which is a pre-indexed code knowledge graph that auto-syncs on code changes and runs 100% locally. That last point matters: your code never leaves your machine. It gives agents symbol relationships, call graphs, and code structure to query instead of scanning files. And because a file watcher re-indexes source files after every create, modify, or delete, the graph stays current as you work. You don't have to remember to refresh it.

For code review, this is the missing piece. The graph can answer the questions a reviewer actually cares about: what calls this function, what depends on this module, and what is the blast radius of this change? A single query can return the relevant source, the call paths between symbols, and a blast-radius summary, including hops like callbacks and interface implementations that grep can't follow. That is exactly the application context we said was the hardest part of reviewing.

It also makes the review cheaper. The project's own benchmarks report about 62% fewer tool calls and 57% fewer tokens on average. These are the vendor's numbers, so your mileage will vary, but the direction makes sense: less time searching, more time reasoning.

Bringing it together

The future of code review isn't replacing humans. It's giving them better starting points:

  • Authors self-review with AI, grounded in the ticket and the diff.
  • The AI uses a code graph to understand the wider application, not just the changed lines.
  • Reviewers receive cleaner PRs and spend their time on what needs human judgment.

In a world where software moves this fast, the teams that win won't be the ones who review more. They'll be the ones who review smarter, with context.

My Other Blogs:

Top comments (1)

Collapse
 
mythex profile image
Mythex •

Anchoring the review to the ticket is the key move here. A cold read of a diff can't tell you the change solved a different problem than the one that was asked.

Two prompts that get much more out of author-side AI review than "review this":

  • "Which acceptance criteria in the ticket have no test in this diff?"
  • "Which callers of the changed functions were not updated?"

A reviewer model tends to comment on the lines it can see, and the bugs are often in the lines that weren't touched. Your code graph point fits exactly here: the second question is only answerable with a map of who calls what.

I'd also keep one question human-only on every PR: "what would I check in production to know this works?" If the author can't answer it, the review will be shallow no matter who does it.

Has the blast-radius summary changed what your human reviewers comment on, or mainly how fast they get there?