My current approach for working with LLMs.
1. Assume they are gaslighting you AT ALL TIMES.
2. Use them to quickly generate a LOT of prototypes.
3. Live in and experience the prototypes.
4. Synthesise all the knowledge gained from the prototypes.
5. Throw ALL the prototypes away.
6. Design your architecture.
7. Either code the final solution yourself or if using an LLM go SUPER SLOW and verify at every possible point with at least tests and live telemetry.
8. Never let the LLM commit to git.