Using AI in a Slower Way Increased the Quality of my Work
I think the way most people use coding agents is to 1. prompt the agent, 2. review its output, then repeat the cycle from there until a suitable finished product is created.
Working this way, I’ve frequently gotten stuck in the common trap of not having the full context on what the agent did, unless I take the time to fully review everything the agent did and internalize it. The longer this loop continues, the less context I have about how my codebase works as a whole. Of course it’s possible to ask the agent questions to understand newly generated code better, but at that point I’ve lost most of my mental model for the codebase and am effectively doing archaeology on my own project.
For tasks that require generating a ton of output, this work mode may be unavoidable. Quick prototyping is something GenAI is super good at. But for any task, having the AI work independently degrades my mental model of that task, making me worse at it over time despite on the surface accomplishing more.
Recently I’ve been experimenting with a new and (maybe dumber on the surface) way to use AI for working on both code and docs that I’ve really enjoyed – instead of prompting the AI to write code, I ask it to prompt me.
I’ll ask it to structure its recommendations for changes it wants me to make in batches of 3-5, then I’ll get to work addressing them one by one.
The primary benefit is that I am present during every line of code written:
- If there’s something I don’t understand, I can clarify it on the spot.
- I can catch a wrong direction immediately instead of waiting for AI to overshoot then asking it to course correct.
- I can apply the writing or code in my own idiomatic style.
- I have memory of everything that was done.
Using AI in this way is effectively asking it two automate finding three things instead of two:
- What’s the optimal way to achieve the goal
- How do I get there from here
- (new) How do I prompt or teach the human how to achieve this goal
This lets GenAI tools do what they do best: search over myriad dimensions for the optimal solution, and it lets humans do what they do best: write prose and code that are genuine and straight from their own mind.