In
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
, a software agent or software AI is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin ''agere'' (to do): an agreement to act on one's behalf. Such "action on behalf of" implies the
authority
In the fields of sociology and political science, authority is the legitimate power of a person or group over other people. In a civil state, ''authority'' is practiced in ways such a judicial branch or an executive branch of government.''The N ...
to decide which, if any, action is appropriate. Agents are colloquially known as ''
bots
The British Overseas Territories (BOTs), also known as the United Kingdom Overseas Territories (UKOTs), are fourteen territories with a constitutional and historical link with the United Kingdom. They are the last remnants of the former Bri ...
'', from ''
robot
A robot is a machine—especially one programmable by a computer—capable of carrying out a complex series of actions automatically. A robot can be guided by an external control device, or the control may be embedded within. Robots may be c ...
''. They may be embodied, as when execution is paired with a robot body, or as software such as a chatbot executing on a phone (e.g.
Siri
Siri ( ) is a virtual assistant that is part of Apple Inc.'s iOS, iPadOS, watchOS, macOS, tvOS, and audioOS operating systems. It uses voice queries, gesture based control, focus-tracking and a natural-language user interface to answer qu ...
) or other computing device. Software agents may be autonomous or work together with other agents or people. Software agents interacting with people (e.g.
chatbots
A chatbot or chatterbot is a software application used to conduct an on-line chat conversation via text or text-to-speech, in lieu of providing direct contact with a live human agent. Designed to convincingly simulate the way a human would behav ...
,
human-robot interaction environments) may possess human-like qualities such as
natural language understanding
Natural-language understanding (NLU) or natural-language interpretation (NLI) is a subtopic of natural-language processing in artificial intelligence that deals with machine reading comprehension. Natural-language understanding is considered an ...
and speech, personality or embody humanoid form (see
Asimo).
Related and derived concepts include ''
intelligent agent
In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s'' (in particular exhibiting some aspects of
artificial intelligence
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
, such as
reasoning
Reason is the capacity of consciously applying logic by drawing conclusions from new or existing information, with the aim of seeking the truth. It is closely associated with such characteristically human activities as philosophy, science, lang ...
), ''
autonomous agent
An autonomous agent is an intelligent agent operating on a user's behalf but without any interference of that user. An intelligent agent, however appears according to an IBM white paper as:
Intelligent agents are software entities that carry out ...
s'' (capable of modifying the methods of achieving their objectives), ''distributed'' agents (being executed on physically distinct computers), ''multi-agent systems'' (distributed agents that work together to achieve an objective that could not be accomplished by a single agent acting alone), and ''
mobile agent In computer science, a mobile agent is a composition of computer software and data that is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer. In reality, the mobile agent is the c ...
s'' (agents that can relocate their execution onto different processors).
Concepts
The basic attributes of an autonomous software agent are that agents
* are not strictly invoked for a task, but activate themselves,
* may reside in wait status on a host, perceiving context,
* may get to run status on a host upon starting conditions,
* do not require interaction of user,
* may invoke other tasks including communication.
The term "agent" describes a software
abstraction
Abstraction in its main sense is a conceptual process wherein general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or "concrete") signifiers, first principles, or other methods.
"An abstr ...
, an idea, or a concept, similar to
OOP terms such as methods,
function
Function or functionality may refer to:
Computing
* Function key, a type of key on computer keyboards
* Function model, a structured representation of processes in a system
* Function object or functor or functionoid, a concept of object-oriente ...
s, and objects. The concept of an agent provides a convenient and powerful way to describe a complex software entity that is capable of acting with a certain degree of
autonomy
In developmental psychology and moral, political, and bioethical philosophy, autonomy, from , ''autonomos'', from αὐτο- ''auto-'' "self" and νόμος ''nomos'', "law", hence when combined understood to mean "one who gives oneself one's ...
in order to accomplish tasks on behalf of its host. But unlike objects, which are defined in terms of ''methods'' and ''attributes'', an agent is defined in terms of its behavior.
Various authors have proposed different definitions of agents, these commonly include concepts such as
* ''persistence'' (code is not executed on demand but runs continuously and decides for itself when it should perform some activity)
* ''autonomy'' (agents have capabilities of task selection, prioritization, goal-directed behavior, decision-making without human intervention)
* ''social ability'' (agents are able to engage other components through some sort of communication and coordination, they may collaborate on a task)
* ''reactivity'' (agents perceive the context in which they operate and react to it appropriately).
Distinguishing agents from programs
All agents are programs, but not all programs are agents. Contrasting the term with related concepts may help clarify its meaning. Franklin & Graesser (1997) discuss four key notions that distinguish agents from arbitrary programs: reaction to the environment, autonomy, goal-orientation and persistence.
Intuitive distinguishing agents from objects
* Agents are more autonomous than
objects
Object may refer to:
General meanings
* Object (philosophy), a thing, being, or concept
** Object (abstract), an object which does not exist at any particular time or place
** Physical object, an identifiable collection of matter
* Goal, an ...
.
* Agents have flexible behavior:
reactive
Reactive may refer to:
*Generally, capable of having a reaction (disambiguation)
*An adjective abbreviation denoting a bowling ball coverstock made of reactive resin
*Reactivity (chemistry)
*Reactive mind
*Reactive programming
See also
*Reactanc ...
,
proactive
Proactivity or proactive behavior refers to self-initiated behavior that endeavours to solve a problem before it has occurred. Proactive behavior involves acting in advance of a future situation, rather than reacting. It refers to taking control o ...
, social.
* Agents have at least one
thread of control but may have more.
Distinguishing agents from expert systems
*
Expert system
In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert.
Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if ...
s are not coupled to their environment.
* Expert systems are not designed for reactive, proactive behavior.
* Expert systems do not consider social ability.
[
]
Distinguishing intelligent software agents from intelligent agents in AI
* Intelligent agent
In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s (also known as rational agent
A rational agent or rational being is a person or entity that always aims to perform optimal actions based on given premises and information. A rational agent can be anything that makes decisions, typically a person, firm, machine, or software.
Th ...
s) are not just computer programs: they may also be machines, human beings, communities of human beings (such as firm
A company, abbreviated as co., is a Legal personality, legal entity representing an association of people, whether Natural person, natural, Legal person, legal or a mixture of both, with a specific objective. Company members share a common p ...
s) or anything that is capable of goal-directed behavior.
:
Impact of software agents
Software agents may offer various benefits to their end users by automating complex or repetitive tasks. However, there are organizational and cultural impacts of this technology that need to be considered prior to implementing software agents.
Organizational impact
Work contentment and job satisfaction impact
People like to perform easy tasks providing the sensation of success unless the repetition of the simple tasking is affecting the overall output. In general implementing software agents to perform administrative requirements provides a substantial increase in work contentment, as administering their own work does never please the worker. The effort freed up serves for a higher degree of engagement in the substantial tasks of individual work. Hence, software agents may provide the basics to implement self-controlled work, relieved from hierarchical controls and interference. Such conditions may be secured by application of software agents for required formal support.
Cultural impact
The cultural effects of the implementation of software agents include trust affliction, skills erosion, privacy attrition and social detachment. Some users may not feel entirely comfortable fully delegating important tasks to software applications. Those who start relying solely on intelligent agents may lose important skills, for example, relating to information literacy. In order to act on a user's behalf, a software agent needs to have a complete understanding of a user's profile, including his/her personal preferences. This, in turn, may lead to unpredictable privacy issues. When users start relying on their software agents more, especially for communication activities, they may lose contact with other human users and look at the world with the eyes of their agents. These consequences are what agent researchers and users must consider when dealing with intelligent agent technologies.
History
The concept of an agent can be traced back to Hewitt's Actor Model (Hewitt, 1977) - "A self-contained, interactive and concurrently-executing object, possessing internal state and communication capability."
To be more academic, software agent systems are a direct evolution of Multi-Agent Systems (MAS). MAS evolved from Distributed Artificial Intelligence
Distributed Artificial Intelligence (DAI) also called Decentralized Artificial Intelligence is a subfield of artificial intelligence research dedicated to the development of distributed solutions for problems. DAI is closely related to and a pred ...
(DAI), Distributed Problem Solving (DPS) and Parallel AI (PAI), thus inheriting all characteristics (good and bad) from DAI and AI.
John Sculley
John Sculley III (born April 6, 1939) is an American businessman, entrepreneur and investor in high-tech startups. Sculley was vice-president (1970–1977) and president of PepsiCo (1977–1983), until he became chief executive officer (CEO) ...
’s 1987 “Knowledge Navigator
The Knowledge Navigator is a concept described by former Apple Computer CEO John Sculley in his 1987 book, ''Odyssey: Pepsi to Apple''. It describes a device that can access a large networked database of hypertext information, and use software ...
” video portrayed an image of a relationship between end-users and agents. Being an ideal first, this field experienced a series of unsuccessful top-down implementations, instead of a piece-by-piece, bottom-up approach. The range of agent types is now (from 1990) broad: WWW, search engines, etc.
Examples of intelligent software agents
Buyer agents (shopping bots)
Buyer agents travel around a network (e.g. the internet) retrieving information about goods and services. These agents, also known as 'shopping bots', work very efficiently for commodity products such as CDs, books, electronic components, and other one-size-fits-all products. Buyer agents are typically optimized to allow for digital payment services used in e-commerce and traditional businesses.
User agents (personal agents)
User agents, or personal agents, are intelligent agents that take action on your behalf. In this category belong those intelligent agents that already perform, or will shortly perform, the following tasks:
* Check your e-mail, sort it according to the user's order of preference, and alert you when important emails arrive.
* Play computer games as your opponent or patrol game areas for you.
* Assemble customized news reports for you. There are several versions of these, including CNN.
* Find information for you on the subject of your choice.
* Fill out forms on the Web automatically for you, storing your information for future reference
* Scan Web pages looking for and highlighting text that constitutes the "important" part of the information there
* Discuss topics with you ranging from your deepest fears to sports
* Facilitate with online job search duties by scanning known job boards and sending the resume to opportunities who meet the desired criteria
* Profile synchronization across heterogeneous social networks
Monitoring-and-surveillance (predictive) agents
Monitoring and Surveillance Agents are used to observe and report on equipment, usually computer systems. The agents may keep track of company inventory levels, observe competitors' prices and relay them back to the company, watch stock manipulation
In economics and finance, market manipulation is a type of market abuse where there is a deliberate attempt to interfere with the free and fair operation of the market; the most blatant of cases involve creating false or misleading appearances ...
by insider trading
Insider trading is the trading of a public company's stock or other securities (such as bonds or stock options) based on material, nonpublic information about the company. In various countries, some kinds of trading based on insider information ...
and rumors, etc.
For example, NASA's Jet Propulsion Laboratory has an agent that monitors inventory, planning, schedules equipment orders to keep costs down, and manages food storage facilities. These agents usually monitor complex computer networks that can keep track of the configuration of each computer connected to the network.
A special case of Monitoring-and-Surveillance agents are organizations of agents used to emulate the Human Decision-Making process during tactical operations. The agents monitor the status of assets (ammunition, weapons available, platforms for transport, etc.) and receive Goals (Missions) from higher level agents. The Agents then pursue the Goals with the Assets at hand, minimizing expenditure of the Assets while maximizing Goal Attainment. (See Popplewell, "Agents and Applicability")
Data-mining agents
This agent uses information technology to find trends and patterns in an abundance of information from many different sources. The user can sort through this information in order to find whatever information they are seeking.
A data mining agent operates in a data warehouse discovering information. A 'data warehouse' brings together information from many different sources. "Data mining" is the process of looking through the data warehouse to find information that you can use to take action, such as ways to increase sales or keep customers who are considering defecting.
'Classification' is one of the most common types of data mining, which finds patterns in information and categorizes them into different classes. Data mining agents can also detect major shifts in trends or a key indicator and can detect the presence of new information and alert you to it. For example, the agent may detect a decline in the construction industry for an economy; based on this relayed information construction companies will be able to make intelligent decisions regarding the hiring/firing of employees or the purchase/lease of equipment in order to best suit their firm.
Networking and communicating agents
Some other examples of current intelligent agent
In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or ...
s include some spam
Spam may refer to:
* Spam (food), a canned pork meat product
* Spamming, unsolicited or undesired electronic messages
** Email spam, unsolicited, undesired, or illegal email messages
** Messaging spam, spam targeting users of instant messaging ( ...
filters, game bots
The British Overseas Territories (BOTs), also known as the United Kingdom Overseas Territories (UKOTs), are fourteen territories with a constitutional and historical link with the United Kingdom. They are the last remnants of the former Bri ...
, and server monitoring tools. Search engine indexing Search engine indexing is the collecting, parsing, and storing of data to facilitate fast and accurate information retrieval. Index design incorporates interdisciplinary concepts from linguistics, cognitive psychology, mathematics, informatics, and ...
bots also qualify as intelligent agents.
* User agent
In computing, a user agent is any software, acting on behalf of a user, which "retrieves, renders and facilitates end-user interaction with Web content". A user agent is therefore a special kind of software agent.
Some prominent examples of us ...
- for browsing the World Wide Web
* Mail transfer agent
The mail or post is a system for physically transporting postcards, letters, and parcels. A postal service can be private or public, though many governments place restrictions on private systems. Since the mid-19th century, national postal syst ...
- For serving E-mail, such as ''Microsoft Outlook''. Why? It communicates with the POP3 mail server, without users having to understand POP3
In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. POP version 3 (POP3) is the version in common use, and along with IMAP the most common p ...
command protocols. It even has rule sets that filter mail for the user, thus sparing them the trouble of having to do it themselves.
* SNMP
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically ...
agent
* In Unix-style networking servers, ''httpd
HTTPd is a software program that usually runs in the background, as a process, and plays the role of a server in a client–server model using the HTTP and/or HTTPS network protocol(s).
The process waits for the incoming client requests and for ...
'' is an HTTP daemon that implements the Hypertext Transfer Protocol
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
at the root of the World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
* Management agent
A Management agent is a software agent that runs on a managed node (example: a router (computing), router) and provides an User interface, interface to manage it. It can perform operations on managed objects in the node and can also forward notific ...
s used to manage telecom devices
* Crowd simulation
Crowd simulation is the process of simulating the movement (or ) of a large number of entities or characters. It is commonly used to create virtual scenes for visual media like films and video games, and is also used in crisis training, architect ...
for safety planning or 3D computer graphics
3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
,
* Wireless ''beaconing agent'' is a simple process hosted single tasking entity for implementing wireless lock or electronic leash in conjunction with more complex software agents hosted e.g. on wireless receivers.
* Use of autonomous agents (deliberately equipped with noise) to optimize coordination in groups online.
Software development agents (aka software bots)
Software bots are becoming important in software engineering. An example of a software bot is a bot that automatically repairs continuous integration build failures.
Security agents
Agents are also used in software security application to intercept, examine and act on various types of content. Example include:
* Data Loss Prevention (DLP) Agents - examine user operations on a computer or network, compare with policies specifying allowed actions, and take appropriate action (e.g. allow, alert, block). The more comprehensive DLP agents can also be used to perform EDR functions.
* Endpoint Detection and Response (EDR) Agents - monitor all activity on an endpoint computer in order to detect and respond to malicious activities
*Cloud Access Security Broker (CASB) Agents - similar to DLP Agents, however examining traffic going to cloud applications
Design issues
Issues to consider in the development of agent-based systems include
* how tasks are scheduled and how synchronization of tasks is achieved
* how tasks are prioritized by agents
* how agents can collaborate, or recruit resources,
* how agents can be re-instantiated in different environments, and how their internal state can be stored,
* how the environment will be probed and how a change of environment leads to behavioral changes of the agents
* how messaging and communication can be achieved,
* what hierarchies of agents are useful (e.g. task execution agents, scheduling agents, resource providers ...).
For software agents to work together efficiently they must share semantics
Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy
Philosophy (f ...
of their data elements. This can be done by having computer systems publish their metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
.
The definition of ''agent processing'' can be approached from two interrelated directions:
* internal state processing and ontologies for representing knowledge
* interaction protocols – standards for specifying communication of tasks
Agent systems are used to model real-world systems with concurrency or parallel processing.
* Agent Machinery – Engines of various kinds, which support the varying degrees of intelligence
* Agent Content – Data employed by the machinery in Reasoning and Learning
* Agent Access – Methods to enable the machinery to perceive content and perform actions as outcomes of Reasoning
* Agent Security – Concerns related to distributed computing, augmented by a few special concerns related to agents
The agent uses its access methods to go out into local and remote databases to forage for content. These access methods may include setting up news stream delivery to the agent, or retrieval from bulletin boards, or using a spider to walk the Web. The content that is retrieved in this way is probably already partially filtered – by the selection of the newsfeed or the databases that are searched. The agent next may use its detailed searching or language-processing machinery to extract keywords or signatures from the body of the content that has been received or retrieved. This abstracted content (or event) is then passed to the agent's Reasoning or inferencing machinery in order to decide what to do with the new content. This process combines the event content with the rule-based or knowledge content provided by the user. If this process finds a good hit or match in the new content, the agent may use another piece of its machinery to do a more detailed search on the content. Finally, the agent may decide to take an action based on the new content; for example, to notify the user that an important event has occurred. This action is verified by a security function and then given the authority of the user. The agent makes use of a user-access method to deliver that message to the user. If the user confirms that the event is important by acting quickly on the notification, the agent may also employ its learning machinery to increase its weighting for this kind of event.
Bots can act on behalf of their creators to do good as well as bad. There are a few ways which bots can be created to demonstrate that they are designed with the best intention and are not built to do harm. This is first done by having a bot identify itself in the user-agent HTTP header when communicating with a site. The source IP address must also be validated to establish itself as legitimate. Next, the bot must also always respect a site's robots.txt file since it has become the standard across most of the web. And like respecting the robots.txt file, bots should shy away from being too aggressive and respect any crawl delay instructions.
Notions and frameworks for agents
* DAML (DARPA Agent Markup Language)
* 3APL An Abstract Agent Programming Language or Artificial Autonomous Agents Programming Language or 3APL (pronounced triple-A-P-L) is an experimental tool and programming language for the development, implementation and testing of multiple cognitive age ...
(Artificial Autonomous Agents Programming Language)
* GOAL agent programming language
GOAL is an agent programming language for programming cognitive agents. GOAL agents derive their choice of action from their beliefs and goals. The language provides the basic building blocks to design and implement cognitive agents by programmin ...
* Open Agent Architecture
Open Agent Architecture, or OAA for short, is a framework for integrating a community of heterogeneous software agents in a distributed environment. It is also a research project of the SRI International Artificial Intelligence Center. (OAA)
* Web Ontology Language
The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for vario ...
(OWL)
* ''daemon
Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and Greek mythology, mythology and of later Hellenistic religion and Hell ...
s'' in Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems.
* Java Agent Template
Java Agent Template (JAT), is a fully functional Java (programming language), Java template, for building software agents that can communicate in a Peer-to-peer, P2P distributed network over the Internet.
See also
References
External links ...
(JAT)
* Java Agent Development Framework
Java Agent Development Framework, or JADE, is a software framework for the development of intelligent agents, implemented in Java. JADE system supports coordination between several agents FIPA and provides a standard implementation of the comm ...
(JADE)
* SARL agent programming language (arguably an Actor and not Agent oriented paradigm)
See also
* Agent architecture
Agent architecture in computer science is a blueprint for software agents and intelligent control systems, depicting the arrangement of components. The architectures implemented by intelligent agents are referred to as cognitive architectures.
* Chatbot
A chatbot or chatterbot is a Software agent, software application used to conduct an on-line chat conversation via text or Speech synthesis, text-to-speech, in lieu of providing direct contact with a live human agent. Designed to convincingly si ...
* Data loss prevention
Data loss prevention (DLP) software detects potential data breaches/data ex-filtration transmissions and prevents them by monitoring, detecting and blocking sensitive data while ''in use'' (endpoint actions), ''in motion'' (network traffic), and ' ...
* Endpoint detection and response
Endpoint detection and response (EDR), also known as endpoint threat detection and response (ETDR), is a cybersecurity technology that continually monitors an "endpoint" (e.g. mobile phone, laptop, Internet-of-Things device) to mitigate malicious ...
* Software bot
References
External links
Software Agents: An Overview
Hyacinth S. Nwana. '' Knowledge Engineering Review'', 11(3):1–40, September 1996. Cambridge University Press
Cambridge University Press is the university press of the University of Cambridge. Granted letters patent by Henry VIII of England, King Henry VIII in 1534, it is the oldest university press
A university press is an academic publishing hou ...
.
FIPA
The Foundation for Intelligent Physical Agents
JADE
Java Agent Developing Framework, an Open Source framework developed by Telecom Italia Labs
European Software-Agent Research Center
SemanticAgent
An Open Source framework to develop SWRL based Agents on top of JADE
Mobile-C
A Multi-Agent Platform for Mobile C/C++ Agents.
HLL
High-Level Logic (HLL) Open Source Project.
* Open source projec
for PHP and Java developers to write software agents
{{DEFAULTSORT:Software Agent
Artificial intelligence