You write a more appropriate function and use it as `org-agenda-skip-function'. It could re-use the following snippet: (not (member "@work" (org-split-string (org-entry-get (point) "ALLTAGS"))))
Kaushal Modi