This paper's conclusion (I only read the abstract) jives with my experience. Whenever I've tried to make something "intelligent" it always ends up in headaches. Now-a-days when building code, I try to stay away from having the computer make decisions. I've found its much easier to build stuff in a way that put a real human in charge of making all decisions.