Then, I'll tell the LLM what I think the best step-by-step approach will be. It may have some tweaks that I'll read and either agree with or say "no let's keep it how I proposed." Then I ask the LLM to execute the first step. It generates code, which I review, and I either accept it, accept it but make tweaks, or reject it and tell the LLM why I don't think it's going down the right path.
I iterate like this until the problem is solved to my liking.
I see a bunch of people writing about vibe-coding and I can't fathom wholesale accepting model output. But this workflow seems to work really well for me. I would say I ship high-quality code and maybe 10x faster than I used to.