As of now my understanding is agent and worker are just interchangeable words
clearml-agent can listen to one or more queues, once a task is enqueue to those queue, the clearml-agent will pull it and will run the task.
You can allocate you resources to the clearml-agent (like https://clear.ml/docs/latest/docs/clearml_agent#allocating-resources ) and you can prioritize your queues (if you have more than one - https://clear.ml/docs/latest/docs/clearml_agent#queue-prioritization )