* Reactivity - reacts to external stimuli
* Autonomy - activate independently and are not invoked, and can select the task themselves based on priority
* Persistence - the code describing an agent runs continuously, like a process, rather than on demand
* Concurrency - can interact with other agents through communication in different modes - coordination, cooperation, competition