By trying things and seeing what it’s good and bad at. For example, I no longer let it make data modelling decisions (both for client local data and database schemas), because it had a habit of coding itself into holes it had trouble getting back out of, eg duplicating data that it then has difficulty keeping in sync, where a better model from the start might have been a more normalised structure.
But I came to this conclusion by first letting it try to do everything and observing where it fell down.
But I came to this conclusion by first letting it try to do everything and observing where it fell down.