The Agent Problem Was Solved in 2000 – We Just Stopped Listening
Over the last two years, the technology industry has invested billions of dollars in efforts to address what is often called the Agent Problem: how to make AI systems reliably interact with real software systems. The responses have been ambitious, large language models with hundreds of billions of parameters, vector databases for semantic recall, tool-calling frameworks, and protocols such as the Model Context Protocol (MCP). All attempts to answer a deceptively simple question:
How does an autonomous system know what it can do next?
What is increasingly clear is that this question is not new. It was formally addressed more than two decades ago but has largely been ignored.
A Forgotten Architectural Answer
In 2000, Roy Thomas Fielding published his doctoral dissertation Architectural Styles and the Design of Network-based Software Architectures [1]. This work introduced REST, not as an API style, but as a constraint-based architectural model for distributed systems. One of REST’s core constraints, Hypermedia as the Engine of Application State (HATEOAS), was intended to allow clients to navigate a system dynamically, without prior knowledge of workflows. At the time, this idea seemed excessive. Today, it looks prescient.
The Richardson Maturity Model and the Human Assumption
Leonard Richardson later popularised a practical method for evaluating REST adoption, which became known as the Richardson Maturity Model (RMM) [2].
-
Level 2 (Industry Standard) => Resources + HTTP verbs + documented workflows
-
Level 3 (Hypermedia / HATEOAS) => Responses include links and actions that define valid next steps
For over two decades, most APIs stopped at Level 2. This was not an accident.
Level 2 APIs assume a human developer, external documentation, implicit workflows, and compile-time knowledge of valid actions. These assumptions held because the client was a human translating documentation into code. AI agents break that assumption entirely.
Reasons AI Agents Cannot Rely on Level 2 APIs
In fact, we have come to the realisation that these AI agents do not read documentation, do not possess intuition, do not reliably infer business rules and they do not “know” which actions are permissible.
When presented with a Level 2 API, an agent must infer workflow structure from naming conventions and examples — a fundamentally unsafe process. What we describe as “hallucination” is often simply undocumented behaviour.
Fielding explicitly warned against this kind of coupling:
“A REST API should not require prior knowledge beyond a generic understanding of hypermedia.” [1]
Hypermedia was not designed for developer convenience — it was intended for machine autonomy.
Hypermedia as an Affordance Layer for Agents
In human–computer interaction, an affordance is a visible action possibility [3]. Hypermedia provides exactly this, but for machines.
A hypermedia-driven API constrains the agent’s action space, advertises valid state transitions, encodes business rules server-side and allows clients to adapt at runtime. This aligns closely with modern research on autonomous agents, which repeatedly identifies action-space restriction as critical to safety and reliability [4][5]. In effect, hypermedia turns an API into a navigable state machine, something machines are historically very good at.