I’ve observed radically different workflows amongst senior candidates vs junior candidates when using an ai. A senior candidate will often build an extremely detailed plan for the agent - similar to how you would do a design for/with a junior engineer. Then let the agent go full throttle to implement the plan and review the result.
Juniors seem to split into the category of trust everything the ai says, or review every step of the implementation. It’s extremely hard to guide the ai while you are still learning the basics, opus4.6 is a very powerful model.
I don't claim to have any special skill at AI, but as a 'senior' dev, my strategy is exactly the opposite. I try to be as lazy, dumb and concise as I can bring myself to be with my initial prompt, and then just add more detail for the bits that the AI didn't guess correctly the first time around.
Quite often the AI guesses accurately and you save the time you'd have spent crafting the perfect prompt. Recently, my PM shared a nigh-on incompressible hand-scribbled diagram on Slack (which, in fairness, was more or less a joke). I uploaded it to Gemini with the prompt "WTF does this diagram mean?". Even without a shred of context, it figured out that it was some kind of product feature matrix and produced a perfect three paragraph summary.
I've never really seen the value in the planning phase as you're free to just throw away whatever the AI produces and try again with a different prompt. That said, I don't pay for my tokens at work. Is planning perhaps useful as a way of reducing total token usage?
My observation has been that there are a lot of personal styles to engaging with the LLMs that work, and "hold the hand" vs "in-depth plan" vs "combination" doesn't really matter. There is some minimum level of engagement required for non-trivial tasks, and whether that engagement comes mid-development, at the early design phase, or after isn't really that big of a deal. Eg; "Just enough planning" is a fine way of approaching the problem if you're going to be in the loop once the implementation starts.