Your agent forgets every review comment you leave
Leave a person a review comment and they learn from it. Leave an agent one and it fixes that line, then makes the same mistake next session.
The comment went into the pull request, not into the agent.
The advice that still holds
Before AI, my go-to on reviewing code was Michael Lynch’s How to Do Code Reviews Like a Human. His first technique is to let computers do the boring parts: formatters and linters.
That’s more true now, not less. What’s changed is how much of the “boring part” a computer can take.
Put the rule where the agent reads it
I write all my own code through agents. I scope it, direct the agent, review it and own what merges. So I review a lot of code I didn’t type.
My rule is simple. If a comment would be a nit, it probably shouldn’t be a comment. It should be one of these, in this order:
- A lint or a formatter, if a machine can check it. A lint can’t be misread.
- A test, if it’s about behavior.
- The agent’s rules, if it’s about how we build things here: naming, patterns, which library for what.
The order matters. A rules file is read by a model, and a model can miss things. Use it for what a lint or a test can’t catch.
For my teams, that’s what our AI playbooks are for: code review, test generation and docs. They’re steering files by another name, meant to give everyone’s agent the same context instead of each engineer re-teaching theirs.
That frees review for what only a person can judge: the design, the edge cases, and the seam we’ll regret in six months.
Rules need a deploy path, and some jobs aren’t the model’s
I learned both lessons building an internal agent at work. Two problems, both mine.
Rule changes need a deploy path. Edits to the agent’s role file don’t reach an agent that’s already running. One launch took three restarts before the new behavior stuck.
Changing the rule and the agent actually following it are two different events.
Anything that must be exact shouldn’t be improvised. A long pasted instruction got truncated, and the agent’s output came out wrong.
I fixed the instruction. I also took that part of the job away from the model entirely, and a plain command-line tool does it now.
The command-line tool is the fix I’d tell anyone to do first.
What’s still yours
Keep reviewing everything. Handing off the typing doesn’t hand off the ownership.
Every repeated nit is a missing rule, so fix the rule, not the line. Then spend the attention you get back on design and correctness.
Lynch’s advice was about being kind to the humans on the other end of a review. It still is. They just get to spend their review on the interesting part now.