If an implementation is "a black box that works," absolutely, LLMs are fine. They can create complex programs in full.
But if one expects a tight implementation... it's a horror. LLMs vastly overengineer code (I believe they're intentionally designed to do so). I really struggle to make LLMs generate lean code.
In the best case, they generate bloated designs (in terms of complexity, not necessarily performance), but in the worst case, they generate gaps in the specification. And even in the first case - cognitive load is a problem also for LLMs, not just for humans (although obviously at a larger scale).
I think LLMs are essentially modern compilers, with similar problems, but designed more like "deoptimizing compilers" than optimizing ones. :)
There exists no evidence that manually trying to fix or rewrite the system is going to be more efficient today.
And if AI improves even half as fast as it did over the last year, all bets are off for what 2028 will look like.