First, we bragged about how many lines of code we generated. Then, it was token maxxing. Then, 8-pane tmux setups with an agent in every pane. We got conductors, orchestras, and swarms. Now, it’s Factories.
And the creed of the factory is simple: Output, output, output!
So, what’s the problem? Today’s coding apps turn building products into a spectator sport. They encourage you to shout from the stands: “Not like that!” “Run faster!” “Put Milo in!” “You’ll never be good enough!” (well, maybe not the last one). The tools have pushed us to become armchair engineers: unwilling, and increasingly unable to actually do the work required to build a great product. And why would we? We’ve got magic text boxes with subsidized tokens and a promise that we just have to hold out until the Next Model and all our slop will disappear.
But it doesn’t have to be this way. What if the tools pushed us to express our intent directly in the artifact? What if instead of commenting on a line of code, we changed it? Instead of resorting to ALL CAPS when the model isn’t giving us what we want, we actually showed it what we wanted. What if our tools followed our lead instead of us following theirs? In short: what if we built refineries instead of factories?
Treat agent generated code as raw material. Something to pull apart and reshape. Something to touch. Something to refine. My refinery rejects read-only artifacts. It's designed to get me closer to the problems and keeps me in the driver seat. Let me show you.
Diffs are obviously a useful review tool, but they can also illustrate intent really well. I alter code (sometimes using pseudocode) and submit it to an agent rather than describing my changes. It sees what I changed and better understands my intent.
And here's another example: How many times has your agent run off and jumped right to some end-state solution riddled with complexity you don't need yet? Every code path, column, etc. that it adds that you don't need is complexity you pay for on the next turn.
Our tools should make it easy to make the changes we want and, often times, the fastest way to communicate what we want is to show, not tell. There's so much potential for interfaces beyond the text box. We just need to stave off the TikToken brain rot long enough to build them.
Touch code.