Agent-based models require an agent to run in the target system; periodically, these will check-in (pull or push) with a central server that cotnains the configuration declaration for a specific collection.

Although this model does require having an agent installed and running in the background of a machine, the primary advantage is that the machines will generally manage their own configuration on a schedule without requiring interaction from an administrator. This is the model where something like Puppet uses.

Agentless tools, like Ansible, follow a different model. They tend to rely on outgoing connections from the central server using SSH or the like. When the tasks are run from the server, agentless tools will update the target system as required; this means that there is not live process running at all times, but does require more coordination from the administrator to manage configurations periodically.