An agent is a container note that is a persistent search query. It creates/holds an alias for every note/agent/etc. object that matches the agent's query.
Like other notes, agents can have actions like rules, edicts and On Add, though for agents the latter is called the Agent action.
Agents are discussed in more detail here.