Agent (Information Technology)

In information technology, an agent is a computer program or system that acts autonomously on behalf of a user or another program to perform tasks, gather information, or achieve goals. Agents typically exhibit characteristics such as autonomy, reactivity, proactiveness, and social ability, and are widely used in areas like web search, virtual assistants, automated trading, and multi‑agent systems.

1 Definition and scope

An agent is defined as an entity that senses its environment, processes information, and acts upon that environment to pursue its designated objectives. The scope of agency in computing ranges from simple scripts that execute predefined rules to complex systems capable of learning and adapting.

1.1 Software agent

A software agent is a program that operates on behalf of a user or another program. It is distinguished from ordinary software by its ability to perform tasks without direct human intervention, often across networked environments. Software agents may be stationary (resident on one machine) or mobile (able to migrate across nodes).

1.1.1 Intelligent agent

An intelligent agent is a software agent that employs artificial intelligence techniques—such as reasoning, planning, learning, or natural language processing—to make decisions and adapt its behavior. Intelligent agents are the foundation of many modern applications, including game AI, recommendation systems, and autonomous robots.

1.1.2 User agent

A user agent acts specifically on behalf of a human user to manage routine or complex tasks. Common examples include email filters, calendar schedulers, and browser helper objects. In web contexts, the term “user agent” also refers to the client software (e.g., a browser) that identifies itself to servers via HTTP headers.

1.2 Agent vs. object vs. component

Agents differ from objects and components in several key ways. An object in object‑oriented programming encapsulates state and behavior but lacks autonomy; it is invoked by other objects. A component is a replaceable software module with defined interfaces. An agent, by contrast, possesses its own thread of control, can decide whether to respond to requests, and is proactive rather than merely reactive. Agents thus represent a higher level of abstraction suitable for open, dynamic environments.

2 Core characteristics

Agenthood is commonly defined by a set of characteristics that distinguish agents from conventional programs.

2.1 Autonomy

Autonomy means that an agent operates without direct human or other external intervention. It has control over its own internal state and actions. An autonomous agent can decide when to act, based on its own goals and perceptions, rather than being passively driven by external calls.

2.2 Reactivity

Reactivity is the ability to perceive changes in the environment and respond in a timely fashion. Reactive agents continuously monitor their surroundings and generate appropriate actions. This is essential for agents operating in dynamic or unpredictable domains.

2.2.1 Event‑driven behavior

Event‑driven behavior is a common implementation of reactivity. The agent’s internal architecture includes event handlers or triggers that activate specific responses when certain conditions are met. For example, a network monitoring agent may immediately send an alert when a packet loss threshold is exceeded.

2.3 Proactiveness and goal‑orientation

Proactiveness goes beyond mere reaction; an agent takes the initiative to achieve its own goals. A proactive agent may plan sequences of actions, anticipate future states, and persist in pursuing objectives even when the environment is uncooperative. Goal‑oriented behavior is a hallmark of intelligent agents, enabling them to solve problems without step‑by‑step human guidance.

2.4 Social ability (communication and coordination)

Social ability is the capacity to interact with other agents (or humans) through some form of communication, such as message passing, shared ontologies, or standard protocols (e.g., FIPA‑ACL). Social agents can coordinate, negotiate, and cooperate to achieve collective goals. This characteristic is fundamental to multi‑agent systems.

3 Agent architectures

Agent architectures are frameworks for designing the internal structure of an agent, defining how perception, reasoning, and action are organized.

3.1 Reactive architectures

Reactive architectures avoid complex internal representations. Instead, they map sensory inputs directly to actions using simple rules. They are fast, robust, and suited for real‑time environments, but may lack flexibility in novel situations.

3.1.1 Subsumption architecture

The subsumption architecture, proposed by Rodney Brooks in the 1980s, layers simple behavior modules. Lower layers handle basic survival tasks (e.g., avoid obstacles), while higher layers can suppress or inhibit lower layers to achieve more complex goals. This one is widely used in robotics.

3.2 Deliberative architectures

Deliberative architectures incorporate symbolic reasoning, planning, and world models. They maintain an internal representation of the environment and use logical inference to decide actions. These agents are more flexible but computationally heavier and slower to react.

3.2.1 Belief‑Desire‑Intention (BDI) model

The BDI model, inspired by folk psychology, structures an agent around three mental attitudes: beliefs (information about the world), desires (objectives or goals), and intentions (committed plans). The agent repeatedly updates its beliefs, selects a desire to pursue, and executes a corresponding intention. BDI agents are popular in multi‑agent and simulation contexts.

3.3 Hybrid architectures

Hybrid architectures combine reactive and deliberative elements to balance speed and reasoning.

3.3.1 Layered frameworks

Layered frameworks divide the agent into tiers, such as a reactive layer for fast responses, a deliberative layer for planning, and a coordination layer for communication. The layers operate concurrently, with the higher layer providing guidance to lower ones. Examples include the TouringMachines architecture and the InterRAP model.

4 Applications

Agents are deployed across many domains, from everyday consumer software to specialized industrial systems.

4.1 Web and information agents

These agents automate the discovery, retrieval, and processing of online data.

4.1.1 Crawlers and scrapers

Web crawlers (or spiders) are agents that systematically browse the World Wide Web to index content for search engines. Web scrapers extract structured data from web pages for analysis or aggregation. Both operate autonomously and persist over long periods.

4.1.2 Personal assistants (e.g., Siri, Alexa)

Personal assistants are intelligent agents that use natural language understanding, context awareness, and cloud services to perform tasks such as setting reminders, answering questions, and controlling smart home devices. They combine reactive (voice activation) and proactive (suggestions based on user habits) behaviors.

4.2 Multi‑agent systems

Multi‑agent systems (MAS) consist of multiple interacting agents that share an environment.

4.2.1 Cooperative agents

Cooperative agents work together towards a common goal, sharing information and dividing work. Examples include swarm robotics, distributed sensor networks, and team‑based game AI. They rely on communication protocols and joint intention models.

4.2.2 Competitive agents and bidding

In competitive environments, agents may negotiate or bid against each other, as in automated auction systems (e.g., eBay) or trading agents on financial markets. Strategies range from simple price matching to sophisticated learning algorithms.

4.3 Automation and robotics

Agents play a central role in automating physical and cyber‑physical systems.

4.3.1 Autonomous vehicles

Self‑driving cars are agents that perceive the road, plan routes, and execute driving actions. They integrate reactive components (obstacle avoidance) with deliberative planning (navigation) and social ability (communicating with traffic infrastructure or other vehicles).

4.3.2 Industrial control agents

In manufacturing, agents monitor production lines, adjust machine settings, and coordinate with supply chain systems. These agents often operate in real time, handling thousands of sensors and actuators while ensuring safety and efficiency.

5 Historical development

The concept of agency in computing has evolved significantly over decades.

5.1 Early AI and the concept of agency (1960s–1980s)

Early AI research explored autonomous problem‑solvers and planners, such as the STRIPS planner in the 1970s. Meanwhile, work in distributed AI and blackboard systems laid the groundwork for multi‑agent ideas. The term “agent” gained prominence in the mid‑1980s, especially through the study of reactive architectures and the subsumption approach.

5.2 Rise of Internet agents (1990s)

The expansion of the Internet created demand for software that could browse, filter, and collect information automatically. “Search agents,” “shopping agents,” and “mobile agents” became popular, leading to platforms like IBM’s Aglets and standardization efforts by the Foundation for Intelligent Physical Agents (FIPA). This period also saw the emergence of auction agents and early recommender systems.

5.3 Modern deep‑learning‑powered agents (2010s–present)

Advances in machine learning, particularly deep learning, have transformed agent capabilities.

5.3.1 Reinforcement learning agents

Reinforcement learning (RL) agents learn optimal behavior through trial‑and‑error interaction with an environment. Notable successes include DeepMind’s DQN (playing Atari games), AlphaGo, and continuous control agents for robotics. RL agents are now a major paradigm in autonomous decision‑making.

5.3.2 Large language model based agents

Large language models (LLMs) such as GPT‑4 and Gemini have enabled a new class of conversational and task‑oriented agents. These agents can understand and generate natural language, plan with external tools (e.g., web search, calculators), and exhibit emergent social behaviors. They are widely deployed as chatbots, coding assistants, and personal AI helpers.

Several fields share conceptual or methodological ties with agent research.

6.1 Agent‑oriented programming

Agent‑oriented programming (AOP) is a programming paradigm that centers on agents as the fundamental units of software. It extends object‑oriented programming with constructs for beliefs, goals, commitments, and communication. Languages like JACK, Jadex, and Jason support AOP.

6.2 Agent‑based modeling and simulation

Agent‑based modeling (ABM) uses agents to simulate complex systems, such as ecosystems, economies, or social networks. Each agent represents an individual entity (e.g., a person, company, animal) with its own rules. ABM helps researchers understand emergent phenomena from bottom‑up interactions.

6.3 Intelligent virtual agents and avatars

Intelligent virtual agents (IVAs) are animated, embodied agents that interact with humans in virtual or augmented reality. They combine conversational AI with graphics and facial expression control.

6.3.1 Chatbots and conversational agents

Chatbots are text‑ or voice‑based conversational agents that simulate human dialogue. Early chatbots relied on pattern matching (e.g., ELIZA), whereas modern ones use machine learning and LLMs. They are used for customer service, entertainment, and therapeutic support.