"Shipping worse code with agents is a choice. We can choose to ship code that is better instead."
That line from Simon Willison's latest guide cuts against a growing assumption in the developer community: that AI-assisted coding means trading quality for speed. His new "Agentic Engineering Patterns" guide makes the opposite case, and it's backed by specific, practical workflows.
Willison identifies four types of technical debt that teams tolerate because fixing them is tedious relative to their importance: API design flaws that would require dozens of changes to correct, poor naming choices baked into a codebase, duplicate functionality that drifted apart over time, and single files that ballooned to thousands of lines. These are all conceptually simple problems. They just eat time.
The Cost of Cleanup Just Dropped to Near Zero
His core argument: coding agents are perfectly suited for this grunt work. Renaming a variable across 200 files, splitting a 3,000-line module into logical pieces, consolidating two slightly different implementations of the same feature - these tasks are boring, mechanical, and exactly what LLMs handle well. The cost has dropped enough that teams can adopt what Willison calls "a zero tolerance attitude to minor code smells."
The recommended workflow is asynchronous. Run agents in background branches or worktrees using tools like Gemini Jules, OpenAI Codex, or Claude Code on the web. Review results via pull requests. Iterate or discard. This keeps the main development flow uninterrupted.
The Compound Engineering Loop
Willison highlights a pattern from Dan Shipper and Kieran Klaassen at Every: end each project with a retrospective documenting what worked, then feed those notes back into future agent runs. Small improvements compound. Teams can ship features and improve code quality simultaneously rather than treating them as competing priorities.
He also recommends using agents for rapid prototyping before committing to a technical direction. Want to know if Redis can handle your concurrent activity feed? Have an agent build a simulation and load test it. The cost of exploring a wrong path dropped from days to minutes.
This is a useful reframing for anyone who's been defaulting to "move fast, clean up later" with AI tools. The cleanup is the easy part now.