An autonomous agent performs functions within an environment to achieve specific goals, without being directed to do so. Some computer programs act as autonomous agents, as do advanced robotics, examples of artificial life, and computer viruses. Numerous researchers perform work in this field to develop a deeper understanding of agents and their potential capabilities as well as applications. Trade journals and annual conferences provide a medium of exchange to allow people to share information and research outcomes.
Differentiating between an autonomous agent and computer programs can be challenging. In some cases, there is overlap and the lines of the definition may blur. Generally, it is necessary for an agent to be able to use reasoning to interact with a system. This includes the ability to sense information, process it, and in some cases manipulate it. An autonomous agent also needs to behave purposefully to accomplish a particular goal.
An example of an autonomous agent in software could be something like a supply chain management program. The program looks at aspects of the supply chain and can engage in activities like ordering and moving supplies, scheduling personnel, and requesting trucks. These activities all facilitate a larger goal of keeping the supply chain moving in an organized fashion. This differs from an automated system that can react simplistically; perhaps it orders new supplies when a factory starts to run low, for example, in response to a trigger in the programming.
Multiple agents can act within a single system and may be cooperative or independent of each other. In robotics, interactions of autonomous agents can be important. They can use sensors to pick up visual input, sounds, and other input from the environment. This information can be coordinated across the system to complete tasks like grasping and manipulating items. Systems can also learn from their experiences to develop more refined functions and work with each other to accomplish goals.
Applications for this research are particularly important in fields like artificial life, the development of complex robotics, and advanced computer programs. A truly autonomous agent doesn’t require direction from an external source like a programmer or another utility, and can undertake complex tasks. Automation of this nature can save worker hours, as the program may be able to complete activities effectively without involving workers. Automated medical billing, for instance, generates bills and documentation without the need for an experienced staff member to handle this task.