'''Extracted and somewhat edited from WhatIsAnAgent''' An agent can be a person, a machine, a piece of software, or a variety of other things. The basic dictionary definition of agent is one who acts. However, for developing IT systems, such a definition is too general: IT-related SoftwareAgent''''''s need additional properties. Some of the properties that agents '''may possess in various combinations''' include these PropertiesOfAgents: : '''Autonomous''' - is capable acting without direct external intervention. It has some degree of control over its internal state and actions based on its own experiences. : '''Interactive''' - communicates with the environment and other agents. : '''Adaptive''' - capable of responding to other agents and/or its environment to some degree. More advanced forms of AdaptiveAgent''''''s can modify their behavior based on their experience. : '''Sociable''' - interaction that is marked by friendliness or pleasant social relations, that is, where the agent is affable, companionable, or friendly. : '''Mobile''' - able to transport itself from one environment to another. : '''Proxy''' - may act on behalf of someone or something, that is, acting in the interest of, as a representative of, or for the benefit of some entity. : '''Proactive''' - goal-oriented, purposeful. It does not simply react to the environment. : '''Intelligent''' - state is formalized by knowledge (i.e., beliefs, goals, plans, assumptions) and interacts with other agents using symbolic language. : '''Rational''' - able to choose an action based on internal goals and the knowledge that a particular action will bring it closer to its goals. : '''Unpredictable''' - able to act in ways that are not fully predictable, even if all the initial conditions are known. It is capable of nondeterministic behavior. (See also EmergentBehavior) : '''Temporally continuous''' - is a continuously running process. : '''Credible''' - believable personality and emotional state. : '''Transparent and accountable''' - must be transparent when required, yet must provide a log of its activities upon demand. : '''Coordinative''' - able to perform some activity in a shared environment with other agents. Activities are often coordinated via a plans, workflows, or some other process management mechanism. : '''Cooperative''' - able to coordinate with other agents to achieve a common purpose; nonantagonistic agents that succeed or fail together. (Collaboration is another term used synonymously with cooperation.) : '''Competitive''' - able to coordinate with other agents except that the success of one agent implies the failure of others (the opposite of cooperative). : '''Rugged''' - able to deal with errors and incomplete data robustly. : '''Trustworthy''' - adheres to ThreeLawsOfRobotics and is truthful. ---- See also AdaptiveAgent. ---- CategoryAgentOriented