It’s much more fulfilling to give the LLM guardrails by engineering the solution.
This means coming up with the high level architecture, dependencies, breaking down the system into deliverable chunks, and implementing those chunks. The LLM can help in all those steps of the process. And it will be much easier to review and keep an understanding of the code.