I find it useful to ask it to build a design document first and push to add details where i see it lacking.

After a few iteration i then ask it to implement the design doc to mostly-better results.