RichFaces components have to be inside a form otherwise they won't work (at least the executable ones).
Now, <a4j:commandLink>
(and commandButton) executing the whole form is the default behaviour, to change it use the execute
attribute:
<a4j:commandLink execute="@this" … >
This will limit the execution only to the link.