For example, agents know how to communicate with other agents. The system developer no longer has to design communication protocols and message formats. The agent provides this capability as part of the basic agent mechanism. Agents have the inherent capability to build models of their environment, monitor the state of that environment, reason and make decisions based on that state. All the software developer needs to do is simply specify what the agents are to do in any given situation.
Software agents are suitable for use in a wide variety of applications.
They can make it much easier to build many kinds of complex systems. However, the system designer must remember that agents are not the long-sought silver bullet that developers have been seeking. The developer must carefully analyze system requirements to determine if agents are an appropriate implementation mechanism. 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.