I don't like the term "clever" in code, because sometimes it means "I'm too dumb to understand it". Simply don't touch clever code, unless you really understand it.
Best example is the fast inverse square root function in Quake. Yeah.. it's clever, but replace it by simple maths and let Quake have performance problems.
On the other hand, using AI for more than assisted coding is never clever. Some day some fuck will use it in medicine and will actually kill people. AI is not at fault here! It's the programmer who killed a patient in this case by being irresponsible and lazy.
So you change your towels every time? Otherwise when you start again, the last time you used it, you wiped your butt with it.