Agents are well-suited for use in applications that involve distributed computation or communication between components. Agent technology is well-suited for use in applications that reason about the messages or objects received over a network. This explains why agent-based approaches are so popular in applications that utilize the Internet. Multi-agent systems are also suited for applications that require distributed, concurrent processing capabilities. Since agents maintain a description of their own processing state and the state of the world around them, they are ideally suited to automation applications.
Autonomous agents are capable of operating without user input or intervention.
These agents can be used in applications such as plant and process automation, workflow management, robotics, etc. Agents are not restricted to use in applications where the individual agents communicate with each other over a LAN or the Internet. For example, an embedded factory controller might consist of a user interface agent, a database interface agent, a machine tool interface agent, and a process monitoring and control agent. All of these agents could run concurrently on the same processor or could be easily distributed across multiple processors. Again, agents are most suited to applications that require communications between components, sensing or monitoring of the environment, or autonomous operation.