You know the situation already: the assistants got good, most PRs in the queue are AI-written now, and we all spend more of the day reviewing than writing. No need to dwell on that. What's worth talking about is the part people mention less, which is why this kind of reviewing is so much more tiring than the old kind.
When a tired person writes code, the code looks tired, and the weird names and leftover experiments tell you exactly where to slow down and read twice. A model gives you no such signal: the formatting is clean, the naming is confident, and there's a helpful docstring sitting on top of a function that does the wrong thing. So you're left with two options, reading everything at full attention, which stops working around the fifth PR of the day, or skimming and approving, which is what most of us quietly end up doing.
The failures aren't random, though. After enough of these reviews you keep meeting the same characters: async work that nobody awaits, a method that reads exactly like the ten real ones around it except the library never shipped it, code that does something adjacent to the requirement instead of the requirement. I collected six of these patterns in a separate post, and the point of naming them is that anything with a recognizable shape can be trained for.






