"Recent trends have made it clear that software complexity will continue to increase dramatically in the coming decades. The dynamic and distributed nature of both data and applications requite that software not merely respond to requests for information but intelligently anticipate, adapt, and actively seek ways to support users. Not only must these systems assist in coordinating tasks among humans, they must also help manage cooperation among distributed programs." (Bradshaw 1997)
The above description describes a need for Intelligent Agent technology. There are many similar definitions for Intelligent Agent. The following description is a general definition of an Intelligent Agent.
"Intelligent Agents are relatively autonomous units that can operate without the external intervention on behalf of someone, taking initiatives to achieve appropriate goals and adapting to, and interacting with, the environment (both software and hardware) that they live in." (FIPA 1997)