The agent can reason about its goals, acquired information, and knowledge about other agents and users. The agent can move from one executing context to another, either by moving its code and starting afresh or by serializing its code and state, continuing execution in a new context and retaining its state to continue its work. The agent can communicate and work cooperatively with other agents to form dynamic or static multiagent societies, collaborating to perform a task. The infrastructure enables agents to retain knowledge and state over extended periods of time, including robustness in the face of possible runtime failures. Developers can integrate different agent types personal, mobile, and collaborative to build agent-based enterprise systems in a wide variety of problem domains.
Daemons are simple agents that patrol networks to find available resources.
Other, more complex and intelligent agents navigate the Internet to collect relevant data, perform tasks, and even make decisions on behalf of their users. The new generation of intelligent software agents can manage, organize, and sift through enormous amounts of data on behalf of their users. Agents can also serve as delegates to handle routine tasks, monitor activities, set up contracts, execute business processes, and find the best services. 4 Agent-oriented programming 5 decomposes large and complex distributed systems into relatively autonomous agents. An agent-oriented developer creates a set of agents each driven by its own beliefs, desires, and intentions that collaborate among themselves by exchanging structured messages.