The Rise of Intelligent Agents: Concepts, History, and Significance
The Definitional Puzzle: What Exactly Is an AI Agent?
The term "AI agent" has, in the span of barely two years, migrated from the specialized vocabulary of academic laboratories into the everyday discourse of product managers, venture capitalists, and newspaper headlines. Yet for all its currency, the phrase is used in strikingly different ways, and that ambiguity is not harmless. A loose definition produces loose systems; a loose system produces disappointed users, wasted investment, and a category of technology that struggles to be evaluated against consistent criteria. The first task of any serious treatment of agent architecture is therefore to draw a sharp line around the concept, and to explain why that line matters.
Consider two pieces of software that, on the surface, appear to do the same job. The first is a flight-search website: you type "London to Tokyo, June 12," it returns a list of itineraries with prices, and then it waits for your next click. The second is a conversational assistant to which you say, "I need to be in Tokyo for a conference on the morning of June 13, but I'd like to spend a couple of days sightseeing first. Find me something reasonable, check whether my hotel loyalty program covers it, and put the itinerary in my calendar." The first system is an information retrieval tool. The second is, in the sense this book will defend, an intelligent agent. The differences between them are not cosmetic; they are architectural. Understanding those differences is the precondition for everything that follows.
The Four Defining Properties
The field has, since the 1990s, converged on a working definition of an intelligent agent. The most widely cited formulation, due in large part to Michael Wooldridge and Nicholas Jennings, characterizes an agent as a computer system situated in an environment, capable of flexible autonomous action in pursuit of its delegated goals. The phrase "flexible autonomous action" hides four distinct properties, and it is the joint presence of all four that distinguishes an agent from a tool.
Autonomy is the property that an agent operates without requiring a human to specify every step of its behavior. The flight-search site, by contrast, is not autonomous in this sense: it has no notion of a goal; it executes the literal query it has been handed and nothing more. An autonomous system, given a high-level objective such as "plan my Tokyo trip," must itself decide which sub-tasks to perform, in what order, and when to stop. Autonomy does not imply that the system is unconstrained — most useful agents operate within strict policy and safety guardrails — but it does imply that the locus of tactical decision-making has moved from the user to the machine.
Reactivity is the property that the agent perceives its environment and responds to changes in it in a timely way. A purely deliberative system that, once given a goal, computes a complete plan and then executes it blindly, is not reactive in this sense; it is brittle. A genuine agent must notice when a flight is full, when a calendar slot has been taken, when a tool has returned an error, and must adjust its behavior accordingly. Reactivity, in modern agent systems, is often mediated by an event loop that monitors the outputs of external services, the contents of a working memory, and the stream of user input.
Proactivity complements reactivity. Where reactivity is about responding to the world as it changes, proactivity is about taking the initiative: identifying that a goal requires actions the user did not explicitly mention, recognizing opportunities that the user may not have noticed, and offering to pursue them. A proactive travel agent, having learned that you have a conference in Tokyo, might notice that your passport expires within six months of your return date and warn you. This is not reactivity in the narrow sense of responding to a stimulus; it is goal-directed initiative in the absence of an explicit instruction.
Social ability is the property that an agent can interact with other agents — and, for present purposes, with humans — through some shared communicative language. The flight-search site cannot negotiate; the agentic travel assistant can ask clarifying questions, request permission to spend money, delegate sub-tasks to specialized booking services, and report progress back to the user. Social ability is what turns an agent from an isolated solver into a participant in a wider ecosystem.
The four properties are not independent. A system that is autonomous but not reactive will be confident and wrong; a system that is reactive but not proactive will be attentive but useless; a system that has all three but no social ability will be a powerful engine that no one can talk to. It is the conjunction that defines the category.
A Concrete Comparison
To make these abstract properties tangible, consider the travel-planning case in detail. A typical chatbot built on a large language model, asked "find me a flight to Tokyo," will often produce a confident, well-written answer — and that answer may be partly or wholly fabricated, because the model has no live access to airline data and is not, in the strict sense, perceiving an environment at all. It is an autocomplete system that has been prompted. The output looks like the work of an agent, but the architecture underneath does not satisfy the four-property test.
A genuine travel-planning agent, by contrast, will typically exhibit the following sequence. First, it interprets the user's high-level goal and decomposes it into a plan: identify candidate travel dates, search for flights, filter by price and schedule, check visa and passport requirements, search for hotels, cross-reference hotel proximity to the conference venue, build an itinerary, and present it for approval. Each of these steps may itself be a sub-plan. Second, it invokes external tools — a flight-search API, a hotel database, a calendar service, possibly a passport-validation service — and integrates their outputs. Third, it maintains a working memory across these steps so that a constraint discovered in step four (for example, that the conference hotel is fully booked) can inform decisions in step two. Fourth, it pauses to ask the user when a choice is genuinely underdetermined: "You mentioned sightseeing — would you prefer the older districts of Kyoto or the modern neighborhoods of Shibuya?" Fifth, it executes the approved plan by calling booking services and, where policy permits, committing transactions.
The chatbot in the first scenario can mimic steps one, four, and the surface of five, but cannot perform steps two, three, or the part of five that requires real transactions. The architectural gap is the difference between a language model and an agent. The rest of this book is, in effect, a sustained argument about how to close that gap reliably.
Why Definitions Matter for Design
It is tempting to dismiss definitional questions as philosophical, and to move directly to engineering. But the four properties have direct architectural consequences. Autonomy demands a planning and reasoning module. Reactivity demands an event-handling loop and a state representation that can be updated in light of new information. Proactivity demands some mechanism for generating options the user did not request, which in turn raises questions about when the agent should ask for permission and when it should act. Social ability demands a communication protocol, a shared vocabulary, and a way of representing the user's intentions and beliefs.
A system built without these properties in mind will, in practice, drift toward the chatbot end of the spectrum: it will produce plausible language, occasionally correct, occasionally invented, and its designers will struggle to explain when it will do which. A system built with them in mind can be tested, debugged, and gradually made more capable without losing its