If you only start showing results after the first character is typed, you'll want to either recognize similar characters, accented vs un-accented characters, etc, or make sure all names start with ASCII characters. (Otherwise, Americans at least will have a bit of trouble targeting the right username.) On the bright side, you'll have fewer names to show in your results, and you're less likely to pop up a bunch of names when the user wasn't trying to mention someone.
If the character @
can appear other than in a @-mention, then popping up the box immediately on seeing a @
might be a bit distracting, and without anything to filter it, may contain hundreds of results -- and thus will be near useless at first as anything other than a hint that @
is magical in some way.
Discoverywise, showing on @
will be easier to find without preexisting knowledge, but both options depend on a user knowing that you can mention them by prepending @
to their name. That's a common convention thanks to Twitter, but others might not already know about it.