At its most basic level, an intelligent agent is a software-based device that acts on behalf of the user. Software agents have a number of capabilities including the ability to monitor their own execution environment, communicate with other agents or the user and maintain some representation of their own internal mental state. Software agents are characterized by their ability to operate autonomously. This means that after an agent starts executing, no further interventions are required from the user. An autonomous agent is able to complete its task on its own.

Software agents can be used in a wide variety of applications. An intelligent software agent can contain significant amounts of expertise and can be applied in systems requiring planning or learning capabilities. Agents are particularly useful in applications involving machine to machine or man to machine communications. One popular use of agents is information seeking and cataloging on the Internet. Agents can be used in applications where they learn about an individual user and modify their own behavior to suit the information-seeking needs of the user.

Agents are also useful in applications where multiple agents can communicate and cooperate with other agents for solving a given problem. These agents can be physically located on the same computer or distributed in a variety of locations. Multiple agents operating in conjunction, as an agency or Multi-Agent System (MAS), can achieve goals/objectives that would not be otherwise achievable by a single agent. The ability of an intelligent agent to operate autonomously leads to another more powerful MAS capability, scalability. Agents and MAS facilitate distributed decision making solutions that are easily scalable to include large numbers of agents.