However, this "art" is not so much about how to present a given request to the LLM, but rather guestimating what the scope of the next chunk of work should be to balance getting as much out of the model as possible while avoiding the machine going off the rails.
Obviously, this is a moving target and different models perform differently for various chunk/scope of work. I look at my successful sessions with LLMs and I'm not sure I'd be able to articulate a clear set of rules to apply here. You just... gradually build a intuition for how much you can throw at the LLM at once.
That being said, I'm pretty convinced at this point that this is a property of the coding assistants as they exist today, and what "working well with LLM assistance" means will keep on changing.
Not being able to tell when it's hallucinating has led to some very adverse outcomes.
In a lot of scenarios for software engineering, the cost is just wasted time without anything useful as a result, and that's already bad enough. I can't even imagine working as a lawyer and not even taking the time to validate so I don't end up reprimanded by a judge in front of my clients, but there have been so many news stories like this that obviously this is not anywhere close to a universal view...
The machine is really good at working the spec on its own now, which is amazing, science fiction shit. But you've still got a garbage in, garbage out problem at the end of the day, which is pretty much the only hope we who work in software have of remaining somehow employed.