A software agent (also known as an agent or softbot) is a computer program that is capable of certain independent and self-dynamic (autonomous) behavior. This means that, depending on different states (status), a certain processing operation takes place without any further start signal being given from the outside or an external control intervention during the process.
Artificial intelligence research defines software as an agent if it possesses the following characteristics that describe the degree of autonomy of the program:
- Autonomous: works independently of user intervention
- Cognitive: is capable of learning and learns on the basis of previous decisions or observations
- Communicative: communicates its states as an effect on its environment to it
- Modal adaptive: changes its own settings (parameters and/or structure) based on its own states and the states of the environment
- Active: Carries out actions on its own initiative
- Reactive: reacts to changes in the environment
- Robust: compensates for external and internal disturbances
- Social: communicates with other agents
At the same time, simultaneous external interventions that restrict autonomy or change the decision-making criteria cannot be ruled out.
If, in addition to the above-mentioned characteristics, the ability to automatically change the execution location (migrate), it is referred to as a mobile agent. To do this, they need skills that enable them to adapt to other infrastructures to a certain extent. Intelligent agents are characterized by knowledge, ability to learn, reasoning, and the ability to change behavior.
A network of a subset of autonomous agents that can communicate with each other is called a population. This communication is influenced by the density and distribution of the agents, as well as their grouping and the temporal variance of these parameters.
Agents are given wide range of applications in e-commerce, information research, simulation, routine tasks, and autonomous systems. However, even complex tasks, such as automated negotiations, can be taken over by software agents. In the field of simulation, there is the special field of multi-agent simulation or group simulation with its own software products. The latter is often used in the gaming sector, but also as an application of “artificial intelligence” in the world of work.