- Straight brain dump for ideas. I don't spend time organizing thoughts. Sometimes I don't even write prompts with right English syntax. But AI will understand most of them.
- Ask AI to grill me on the missing details in the design. Usually it's the most painful step.
- AI writes design doc. I skim through it. Give some feedback.
- Let AI implement the feature. Recent AI models can usually complete the full feature without my intervention, as long as the design doc is solid.
- If I feel there are unclear part in the implementation, I ask AI to write explainer doc.
The things many people probably don't do is: - The reverse grilling. Our description on the thing we want is often incomplete. If we don't make AI to ask enough clarification questions, there will be misalignment.
- Now I ask AI to write all docs in html. It takes more tokens and time to finish, but much easier to read and understand, because of the richer layout and sometimes the interactivity of html/js.
I used claude artifacts to give feedback about the html design doc directly to the agent, and later on, developed my own tool (https://github.com/hyperlogue/r3) to do the same thing but for all kinds of agents.I was the same when i just started using codex, i dont know the exact time but at some point i just stopped reviewing, dumb but the more i used it the more lazy i became.
For example, I'm instantiating something N times with this change. Each instantiation is fast, but this is a hot path. It's not clear whether that's safe or if it needs to be gated which is something a reviewer would ideally flag.
I suppose the counter-argument most people would make now is that if the AI didn't call it out, it's probably not likely enough of an issue to focus on -- even if it does wind up becoming a problem later.
I've pretty much completely dropped it for writing (but still use it for catching issues with clarity or logical flow afterwards). I've yet to get away from it for coding. Perhaps I keep trying with coding because I feel I'm doing something wrong (and because for a a little my performance was tied to usage of it...).
Instead of prompting, I hack on code in my editor.
My harness gather everything it needs from the local context - my git diff, my open editor buffers, etc. to assess what I've been doing. No chat. This is fed into phase 2 which tries to guess my intent. Then phase 3, it presents a plan to complete the work. The only user interaction is reviewing the plan and typing yes or no.
The quality of the plan of course depends on the quality of my uncommitted ideas. As it should be. If the plan goes off the rails, it's my fault. Do not chat your way to a solution! Abort the session and continue fleshing out the idea in source code/markdown.
The reason I like this is it forces me to at least take a stab at the work. I treat the AI like a relief pitcher to come in and close out the game.
I can't say this is the way to hyper productivity. I'm still slow. But at least I'm spending exactly 0 hours a day arguing with an LLM!