>you're going to end up with a system you don't 100% understand very quickly
This has been my experience with all software projects. Even if I wrote all the code, my understanding of how everything works and fits together decays.
( See the Forgetting Curves https://en.wikipedia.org/wiki/Hermann_Ebbinghaus )
Yeah, that's a fair point. I have plenty of older projects where I no longer understand how they work despite having written the code myself.
I guess the key thing is that you need to be able to demonstrate to yourself that you understand the code at least once, because that means you should be able to revise how it works in the future.
You also can't evaluate if a solution is fit for purpose if you don't understand it.
> Even if I wrote all the code, my understanding of how everything works and fits together decays.
Some understanding decays, but in my experience it never fully decays to the point of never having known how it worked.
My code from 3 years ago is more foreign to me than code I wrote yesterday, but if I need to I'll get back up to speed on it much quicker than I will on code someone else wrote that I never understood.
Even with the decay of time, remnants of the experience persist, roughly in the same way that if you get in really good shape and then allow yourself to fall out of shape, getting back into shape is difficult, but not as hard as it was the first time. Your nervous system has made adaptations the first time through that make running it back much easier even if you've let years pass.
While that may be true, you can be confident that it works in a way you personally understand. Because you understood it in the past.
Also, if you finish your work on a module with care - you return to a module you can trust with clear boundraries and known flaws. This is not true of AI output.