Good code design requires good input. And frankly humans suck at coding, so it will never get good input.
You can’t just train a model on the 1000 github repos that are very well coded.
Smart people or not, LLM require input. Or it’s garbage in garbage out.