And you'd be the first here complaining about how sneaking is useless because as soon as you attack you're found.
Solution? Wait for better AI. Don't like it? Invent better AI or quit playing games with any stealth component.
So in real life if you sneak up behind someone and stab them in the back they wouldn't immediately turn and find you? No in that situation I guess the person would be baffled as to where that sudden pain came from and go and take an indigestion tablet.
Surely stealth is about being STEALTHY. You know like using shadows. Sneaking up on someone is half the battle. You have to be able to get out quick when you attack them as well.
Why invent better AI? This is really basic stuff they aren't doing right. I am a game developer and I wouldn't want laughable AI going out in a 50 pound game because that's my baby out there being judged. It shows a distinct lack of integrity, self respect and worse, shows a complete lack of respect for the consumer. It's a 'Oh that'll do' attitude. Don't go putting stealth based gameplay in half baked and proclaim 'we're trying to make the best stealth game experience'. It's just not on. Honestly active searching for guards is the easiest form of AI because you work backwards from perfection.
It works exactly the same way as pathfinding does. Instead of the players position and the mouse click position you just pass in the players position and the guards position. Viola! You know have a guard that will hunt the player down mercilessly. Then it's just a case of dumbing it down with randomization. It really couldn't be simpler. Their stealth mechanics are a joke quite frankly.
Thief was superb. Commandos was superb. Those games came out in the 90s for godsake. I mean Jesus Christ Pacman used the algorithym I just described.
Why ask consumers to program a game when the developer quite clearly has the available tools to do it himself?
Edit:
Oh and I am simplifying a little with the AI as far as realistic is concered but to make it more realistic all you would have to do is used what is called 'Line of Sight' to determine if the player can be seen. If they can you just use the pathfinding to move toward them. If they can't you take the last point they were seen or heard and then get the guard to move to random points around that point to have them 'actively search' the area. After a short period they could either return to that point and continue patrolling as usual or if they see or hear the player again they can being the chasing code again. Again it's really not hard