← Back to blog

I complain about AI slop. I also ship it.

September 28, 2026 ·

swevibecoding

I bitch people out for their PR bodies being slop. I made a “100% AI GENERATED” Slack emoji for the bit, and sometimes I turn to my colleague in the office and go, “this PR body is slop.”

100% AI GENERATED Slack emoji

Take bun #44135. It was opened by a bot, @robobun, and the body is 909 words for a +479/−71 diff. It includes “Self-reviewed: 8 concerns raised, 8 addressed.” It would probably be easier to read the code. The body should help me understand why the change is needed.

I’m not innocent either. My own PR, #6294, “ci: weekly github-actions maintenance,” has a body where most bullets end in “No change needed.” I closed it because it was way too big (+176/−130 across 46 files) and needed to be split up.

PR #6294 body

I built my own PR skill and writing skill because I want my agent to be terse like me and make good PRs. A clear description still depends on me understanding the change.

I’m extremely pro-AI. I haven’t hand-written any substantial code so far this year. My project planning phase has gotten longer and the implementation phase shorter. I’m grateful I can go on a walk in the middle of the day and work from my phone.

Alex, our CEO, put this slide in our last all-hands, and has started calling out this behavior publicly in Slack channels.

We don't ship slop here. AI content is very cheap to create and incredibly expensive to consume. When you create something with AI and pass it to coworkers, you're putting the burden of reviewing the AI output on them, not you.

The benefit of writing code used to be that a) you got the code, and b) you got the engineer that understood how it worked. With AI slop, we can get the code without an engineer who understands it. Someone still has to do that work. I feel bad asking my colleagues to do it for me.

People tend to remember information better when they produce it themselves than when they only read it, which is called the generation effect, and it makes me wonder how much I’m retaining when an agent writes the code and I read through it afterward.

If I give up planning and design too, I’m just passing messages between my agent and my colleagues, asking them to figure out the implementation for me. Niklas Gruhn calls this being a “meat proxy”:

But who has done the implementation? The reviewers did, using Claude Code, and you as a meat proxy.

I understand the approach, but I haven’t checked every implementation detail, and I’m spending more time doing system design and sitting in system-design meetings than writing the code myself. It’s like everyone’s a manager now.

My agent opens the PR and monitors CI and comments from our AI review bots. It handles failures and addresses the bot comments. Then I go look at the code in the browser and leave my own comments. The agent knows my GitHub username and treats those as instructions to make changes. I don’t want it relitigating them as if they were another bot’s review. Only after that do I request a review from my team or an individual.

I take shortcuts when I know the change is small or simple. One or two lines to flip a flag, or reordering migrations because they changed on the main branch.

On one PR, Codex wrote a function whose only job was to acquire a lock and call another function. I left this comment:

My GitHub review comment: make this a decorator on this function you goober codex

I also told it the two functions should be one. It moved the lock to a decorator and combined them.

LLMs invent new ways to do things because they don’t have all the context of the repo, they don’t know when something already exists. And if they do find existing code, maybe the last person let the slop through and now the LLM is looking at a bad example.

It’s difficult wanting to lean on AI this hard while also bitching about how other people use it, and frankly, sometimes how I use it.

or hit 💬 next to any paragraph. sign in with GitHub.

comments