Nwana's typology and the rise of software agents - AWS Prescriptive Guidance

Nwana's typology and the rise of software agents

The formalization of the software agent concept in the mid-1990s marked a turning point in the evolution of intelligent systems. Among the most influential contributions to this formalization is Hyacinth S. Nwana's seminal paper, Software Agents: An Overview (Nwana 1996), which provided one of the first comprehensive frameworks for categorizing and understanding software agents across various dimensions.

In this paper, Nwana surveys the state of software agent research and identifies a growing divergence in how agents were being defined and implemented. The paper highlights the need for a common conceptual framework and proposes a typology that classifies agents according to their key capabilities. It reviews representative agent systems from academia and industry, distinguishes agents from traditional programs and objects, and outlines the challenges and opportunities in agent-based computing.

Nwana emphasizes that software agents are not a monolithic concept but exist along a spectrum of sophistication and capability. The typology serves to clarify this landscape and guide future design and research.

Nwana defines a software agent as a software entity that functions continuously and autonomously in a particular environment, which is often inhabited by other agents and processes. This definition emphasizes two key characteristics:

  • Continuity: The agent operates persistently over time, without requiring constant human intervention.

  • Autonomy: The agent has the capability to make decisions and act on them independently, based on its perception of the environment.

This definition, combined with Nwana's agent typology, emphasizes delegated authority (through autonomy) and proactivity as foundational characteristics of agents. It differentiates between agents and subroutines or services by highlighting the agent's ability to act independently on behalf of another entity and to initiate behavior in pursuit of goals, instead of only responding to direct commands.

Nwana's agent typology

To further differentiate among various types of agents, Nwana introduces a classification system based on six key attributes:

  • Autonomy: The agent operates without direct intervention from humans or others.

  • Social ability: The agent interacts with other agents or humans by using communication mechanisms.

  • Reactivity: The agent perceives its environment and responds in a timely manner.

  • Proactivity: The agent exhibits goal-directed behavior by taking the initiative.

  • Adaptability and learning: The agent improves its performance over time through experience.

  • Mobility: The agent can move across different system environments or networks.

From typology to modern agentic principles

Nwana's work served as both a taxonomy and a foundational lens through which the computing community could evaluate the evolving forms of agency in software. His emphasis on autonomy, proactivity, and the concept of acting on behalf of a user or system laid the groundwork for what we now consider agentic behavior.

Although the technologies and environments have changed, especially with the rise of generative AI, serverless infrastructure, and multi-agent orchestration frameworks, the foundational insights from Nwana's work remain relevant. They provide a critical bridge between early agent theory and the three modern pillars of software agents.