<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Millie Wan Marriott</title>
    <description>The latest articles on DEV Community by Millie Wan Marriott (@milliewanmarriott).</description>
    <link>https://dev.to/milliewanmarriott</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4194337%2Fdf7d8038-411e-4126-82f6-2801dc6e4d83.png</url>
      <title>DEV Community: Millie Wan Marriott</title>
      <link>https://dev.to/milliewanmarriott</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/milliewanmarriott"/>
    <language>en</language>
    <item>
      <title>Reviewing PRs in an Agentic Era</title>
      <dc:creator>Millie Wan Marriott</dc:creator>
      <pubDate>Mon, 02 Nov 2026 12:03:30 +0000</pubDate>
      <link>https://dev.to/indiciumai/reviewing-prs-in-an-agentic-era-24gh</link>
      <guid>https://dev.to/indiciumai/reviewing-prs-in-an-agentic-era-24gh</guid>
      <description>&lt;h2&gt;
  
  
  Code Review When Agents Do the First Pass: What Still Matters for Humans
&lt;/h2&gt;

&lt;p&gt;A couple of weeks ago, Anthropic published their model for internal code review: several agents review each PR, a second group votes on the issues they find, before it gets to human evaluation. The risk level assigned determines how many human reviewers (if any) are needed.&lt;/p&gt;

&lt;p&gt;That model is compelling and is the future for many engineering teams, but it assumes a lot of tokens and a full agentic setup. Many engineering teams don’t have that budget, and many don’t need the full machinery right now, but, even so, most teams are using some form of AI in code review. So, if agents are already reviewing the PR, what changes for us as human reviewers?&lt;/p&gt;

&lt;h2&gt;
  
  
  What code review is for
&lt;/h2&gt;

&lt;p&gt;Anthropic noted the two jobs of code review:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find and fix issues before they ship.&lt;/li&gt;
&lt;li&gt;Build shared context and codebase understanding across the team.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Agents are increasingly good at the first but the second is where the human role needs rethinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Human Role
&lt;/h2&gt;

&lt;p&gt;Anthropic’s article lists the decisions that machines handle poorly and that humans should keep:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Should we build this at all?&lt;/strong&gt; Direction, taste, and scope of the changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risky code.&lt;/strong&gt; Anything where a mistake is expensive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Architecture that sets a pattern.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reading the evidence.&lt;/strong&gt; Test outputs, screenshots, and the reviewer’s findings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Owning the outcome.&lt;/strong&gt; Accountability for every change that ships&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What’s changed
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Accountability is thinner on the approver side.&lt;/strong&gt; The author still owns the change. But when an agent has already caught most mechanical mistakes, a human approver can drift into rubber-stamping. That’s somewhat okay, since AI is good at catching errors. It’s a problem for the things AI is less good at. As approvers, we still need to take accountability for the code that’s being merged - it’s just that we should focus less on catching bugs and more on whether the code is good taste.&lt;/p&gt;

&lt;p&gt;Sean Goedecke describes engineering taste as &lt;strong&gt;‘composed of the set of engineering values you find most important’&lt;/strong&gt;. One project prioritises scalability over readability; another wants simple, well documented code. Of course, in a well setup project, our AI tools should be equipped to write code according to our taste - it should know for example whether to favour detailed or simple docstrings. In practice, it doesn’t always hold. Agents don’t always reliably code to your taste - this is where human review comes in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Experienced engineers carry a mental map of the codebase.&lt;/strong&gt; When they review a change, they know what to check based on that map. Agents don’t have it by default, but you can give it to them. Good context practices help here: &lt;code&gt;CLAUDE.md&lt;/code&gt; files for project conventions, and &lt;code&gt;review.md&lt;/code&gt; files that spell out what a reviewer should look for in this codebase. You might add something like the below into your files.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# CLAUDE.md  &lt;/span&gt;
&lt;span class="gu"&gt;## Code taste&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Names say what a thing &lt;span class="ge"&gt;*is*&lt;/span&gt; or &lt;span class="ge"&gt;*does*&lt;/span&gt;, not how it's implemented.
  &lt;span class="sb"&gt;`unpaidInvoices`&lt;/span&gt;, not &lt;span class="sb"&gt;`filteredList`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Prefer boring, explicit code over abstractions. Three similar blocks
  are fine; extract only when a fourth appears or the duplication has
  already caused a bug.
&lt;span class="p"&gt;-&lt;/span&gt; Functions do one thing. If you need "and" to describe it, split it.
&lt;span class="p"&gt;-&lt;/span&gt; Handle errors where you can do something useful about them. Otherwise
  let them propagate with context. Never swallow an exception silently.
&lt;span class="p"&gt;-&lt;/span&gt; Comments explain &lt;span class="ge"&gt;*why*&lt;/span&gt;, not &lt;span class="ge"&gt;*what*&lt;/span&gt;. If the what needs explaining,
  rewrite the code.
&lt;span class="p"&gt;-&lt;/span&gt; Delete dead code; don't comment it out. Git remembers.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# review.md&lt;/span&gt;

Review for correctness and risk first, style last. Linters handle formatting;
don't comment on it.

&lt;span class="gu"&gt;## How to write feedback &lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Lead with blocking issues, clearly labelled &lt;span class="gs"&gt;**[blocking]**&lt;/span&gt;.
  Mark everything else &lt;span class="gs"&gt;**[nit]**&lt;/span&gt; or &lt;span class="gs"&gt;**[question]**&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Say &lt;span class="ge"&gt;*why*&lt;/span&gt; something is a problem and suggest a fix where possible.
&lt;span class="p"&gt;-&lt;/span&gt; If the PR is fine, say so briefly. Don't invent feedback to look thorough.
&lt;span class="p"&gt;-&lt;/span&gt; Do not approve if you couldn't verify something important; say what
  you couldn't check.

&lt;span class="gu"&gt;## 1. Does it do what it claims?&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Read the PR description, then check the diff actually delivers it,
  and nothing else.
&lt;span class="p"&gt;-&lt;/span&gt; Walk the unhappy paths: empty input, nulls, timeouts, partial failure,
  retries, concurrent requests.

&lt;span class="gu"&gt;## 2. What could break that isn't in the diff?&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; xxx

&lt;span class="gu"&gt;## 3. Security and data&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; xxx

&lt;span class="gu"&gt;## 4. Operability &lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; xxx 

&lt;span class="gu"&gt;## 5. Tests  &lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; xxx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The review itself now needs review.&lt;/strong&gt; If agents are doing the first pass, their output needs measuring. Run evals on agentic reviews, check where they miss things your team cares about, and update the context files accordingly. The mental map improves over time only if you maintain it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical starting point
&lt;/h2&gt;

&lt;p&gt;For teams without a large agentic review budget, a lighter setup might look like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep human review for risky paths (big changes, core parts of the codebase, code that is susceptible to breaking changes) and changes that set patterns.&lt;/li&gt;
&lt;li&gt;Write &lt;code&gt;CLAUDE.md&lt;/code&gt; and &lt;code&gt;review.md&lt;/code&gt; files that capture your taste.&lt;/li&gt;
&lt;li&gt;Track the misses: when a human catches something the agent didn’t, record it and feed it back into the context files.&lt;/li&gt;
&lt;li&gt;Make the approver’s responsibility explicit, so “claude looked at it” never substitutes for owning the change.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Agents change the mechanics of code review more than its purpose. The first job, catching issues, is increasingly automated. The second job, building shared understanding, depends on keeping the team’s taste and codebase knowledge written down where the agents can use it, and checked by humans who still own what ships.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>codereview</category>
    </item>
  </channel>
</rss>
