Introduction to software agents - AWS Prescriptive Guidance

Introduction to software agents

The concept of software agents has evolved significantly from its foundations in autonomous entities in the 1960s to its formal exploration in the early 1990s. As digital systems grow increasingly complex—from deterministic scripts to adaptive, intelligent applications—software agents have become essential building blocks for enabling autonomous, context-aware, and goal-driven behavior in computing systems. In the context of cloud-native and AI-enhanced architectures, particularly with the advent of generative AI, large language models (LLMs), and platforms such as Amazon Bedrock, software agents are being redefined through new lenses of capability and scale.

This introduction draws from the seminal work Software Agents: An Overview by Hyacinth S. Nwana (Nwana 1996). It defines software agents, discusses their conceptual roots, and extends the discussion into a contemporary framework to define three overarching principles of modern software agents: autonomy, asynchronicity, and agency. These principles distinguish software agents from other types of services or applications, and enable these agents to operate with purpose, resilience, and intelligence in distributed, real-time environments.