The point I took from this article is that the AI needs to act "dumb" at times. Dumb may not be the right word, since people who make a mistake aren't necessarily dumb, or stupid... They are just human. I think that this article plays to a bigger problem of coding for games, that right now, no matter how good or bad the AI is you always know you're playing against a computer.
The posts about Far Cry 2 are good examples of this, the AI seems to know exactly where you are, at all times. At least that is how it appeared. Someone mentioned something about having independent AI control, that would help but you would still have to limit communication between the two or more AI directors, or else you just have two independent AI's that communicate so well they are going to beat you into the ground.
The problem I see with separate AI is, the more you have the more processing it takes, I can imagine that something like this would require a whole lot of power, however I could be wrong. What if you had different AI's controlling different NPC's or models? That way you could have a group of enemy characters being dictated by one AI instead of one AI for one enemy.
This could be integrated into the game as soldiers who are new, or lack training. So even when you change the difficult the AI's have a range of "mistakes" or "human" reactions to make instead of the set easy, medium or hard, mentality.
I don't know I am not a coder, but I love playing games and I know what I want to see when I play, and how I would like to see the AI react... and nothing to me is more annoying then a cpu that I cannot sneak up on. (Far Cry 2 is the perfect example.)