TheThefoundational cognitive cycle page set out a full model: ten components, densely cross-connected, more than most real systems ever need. This page asks a more practical question — starting from almost nothing and adding one capability at a time, how much of that full model does a system actually have to build before it can be called intelligent? The answer, worked through five stages below, tracks closely (though not perfectly — more on that at the end) onto the classic taxonomy of agent types most AI courses teach1.
Every diagram on this page is the same diagram. Only the colouring changes: blue and gold mean a component and its connections are live for this tier; grey means they exist in the full model but aren't being used here. Nothing is added or removed between tiers except colour — which is the point. A goal-based agent isn't a different kind of thing from a reflex agent. It's the same architecture, with more of it switched on.
Tier 1: The Reflex Agent
graph LR
ENV["Environment"]
PER["Perception"]
ST["Short Term"]
AB["Abstraction"]
EM["Episodic Memory"]
PROC["Procedural Memory"]
REP["Representation"]
IMG["Imagination"]
RP["Reason / Plan"]
ACT["Action"]
ENV --> PER
PER --> PROC
PROC -->|fast pattern-matched response| ACT
ST -.->|compiled through repeated practice| PROC
PER --> ST
AB -.->|schema-driven expectation| PER
ST -->|classification, via repeated consolidation| AB
ST --> EM
ST --> REP
AB --> REP
EM --> IMG
EM --> RP
REP <--> IMG
REP <--> RP
IMG --> RP
IMG <--> PER
RP <--> ACT
ACT --> ENV
style ENV fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style PER fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ACT fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ST fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style PROC fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style AB fill:#f4f4f4,stroke:#ccc,color:#bbb
style EM fill:#f4f4f4,stroke:#ccc,color:#bbb
style REP fill:#f4f4f4,stroke:#ccc,color:#bbb
style IMG fill:#f4f4f4,stroke:#ccc,color:#bbb
style RP fill:#f4f4f4,stroke:#ccc,color:#bbb
linkStyle 0 stroke:#2b6cb0,stroke-width:2px
linkStyle 1 stroke:#2b6cb0,stroke-width:2px
linkStyle 2 stroke:#2b6cb0,stroke-width:2px
linkStyle 3 stroke:#2b6cb0,stroke-width:2px
linkStyle 4 stroke:#e0e0e0,stroke-width:1px
linkStyle 5 stroke:#e0e0e0,stroke-width:1px
linkStyle 6 stroke:#e0e0e0,stroke-width:1px
linkStyle 7 stroke:#e0e0e0,stroke-width:1px
linkStyle 8 stroke:#e0e0e0,stroke-width:1px
linkStyle 9 stroke:#e0e0e0,stroke-width:1px
linkStyle 10 stroke:#e0e0e0,stroke-width:1px
linkStyle 11 stroke:#e0e0e0,stroke-width:1px
linkStyle 12 stroke:#e0e0e0,stroke-width:1px
linkStyle 13 stroke:#e0e0e0,stroke-width:1px
linkStyle 14 stroke:#e0e0e0,stroke-width:1px
linkStyle 15 stroke:#e0e0e0,stroke-width:1px
linkStyle 16 stroke:#e0e0e0,stroke-width:1px
linkStyle 17 stroke:#2b6cb0,stroke-width:2px
AA reflex agent senses, matches the current situation against a compiled rule base, and acts. No persistent model of the world, no deliberation, no memory of any specific past episode. This is the direct equivalent of Boyd's Orient-to-Act shortcut — the trained expert who responds before consciously deciding anything — implemented as a real architectural component rather than left as an unexplained bypass. The Short Term → Procedural Memory edge is included and coloured even here, faded elsewhere: the rule base being used right now had to be built by repetition at some point, even though that construction isn't happening live in this diagram.
Why you'd deliberately choose this tier: determinism, testability, and speed. A rule base is something you can enumerate, test exhaustively, and reason about with confidence — properties this site's material on the Trustworthy Software Initiative treats as valuable in their own right, not as consolation prizes for a simpler system2. A thermostat, a circuit breaker, and a large share of a game's low-level NPC behaviour all live, correctly, at this tier.
Tier 2: The Model-Based Agent
graph LR
ENV["Environment"]
PER["Perception"]
ST["Short Term"]
AB["Abstraction"]
EM["Episodic Memory"]
PROC["Procedural Memory"]
REP["Representation"]
IMG["Imagination"]
RP["Reason / Plan"]
ACT["Action"]
ENV --> PER
PER --> PROC
PROC -->|fast pattern-matched response| ACT
ST -.->|compiled through repeated practice| PROC
PER --> ST
AB -.->|schema-driven expectation| PER
ST -->|classification, via repeated consolidation| AB
ST --> EM
ST --> REP
AB --> REP
EM --> IMG
EM --> RP
REP <--> IMG
REP <--> RP
IMG --> RP
IMG <--> PER
RP <--> ACT
ACT --> ENV
style ENV fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style PER fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ACT fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style REP fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ST fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style PROC fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style AB fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style EM fill:#f4f4f4,stroke:#ccc,color:#bbb
style IMG fill:#f4f4f4,stroke:#ccc,color:#bbb
style RP fill:#f4f4f4,stroke:#ccc,color:#bbb
linkStyle 0 stroke:#2b6cb0,stroke-width:2px
linkStyle 1 stroke:#2b6cb0,stroke-width:2px
linkStyle 2 stroke:#2b6cb0,stroke-width:2px
linkStyle 3 stroke:#2b6cb0,stroke-width:2px
linkStyle 4 stroke:#2b6cb0,stroke-width:2px
linkStyle 5 stroke:#2b6cb0,stroke-width:2px
linkStyle 6 stroke:#2b6cb0,stroke-width:2px
linkStyle 7 stroke:#e0e0e0,stroke-width:1px
linkStyle 8 stroke:#2b6cb0,stroke-width:2px
linkStyle 9 stroke:#2b6cb0,stroke-width:2px
linkStyle 10 stroke:#e0e0e0,stroke-width:1px
linkStyle 11 stroke:#e0e0e0,stroke-width:1px
linkStyle 12 stroke:#e0e0e0,stroke-width:1px
linkStyle 13 stroke:#e0e0e0,stroke-width:1px
linkStyle 14 stroke:#e0e0e0,stroke-width:1px
linkStyle 15 stroke:#e0e0e0,stroke-width:1px
linkStyle 16 stroke:#e0e0e0,stroke-width:1px
linkStyle 17 stroke:#2b6cb0,stroke-width:2px
ShortShort Term and Abstraction now feed a genuine Representation: a persistent picture of the current situation that survives longer than the immediate percept causing it, and that itself feeds back into Perception as a schema-driven expectation. This is the addition Russell and Norvig's model-based reflex agent names directly — the system now tracks aspects of the world it can no longer currently sense1. Action, notice, still routes through Procedural Memory. Having a model of the situation is not the same as reasoning about what to do with it — that's the next tier.
Tier 3: The Goal-Based Agent
graph LR
ENV["Environment"]
PER["Perception"]
ST["Short Term"]
AB["Abstraction"]
EM["Episodic Memory"]
PROC["Procedural Memory"]
REP["Representation"]
IMG["Imagination"]
RP["Reason / Plan"]
ACT["Action"]
ENV --> PER
PER --> PROC
PROC -->|fast pattern-matched response| ACT
ST -.->|compiled through repeated practice| PROC
PER --> ST
AB -.->|schema-driven expectation| PER
ST -->|classification, via repeated consolidation| AB
ST --> EM
ST --> REP
AB --> REP
EM --> IMG
EM --> RP
REP <--> IMG
REP <--> RP
IMG --> RP
IMG <--> PER
RP <--> ACT
ACT --> ENV
style ENV fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style PER fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ACT fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style REP fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style RP fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ST fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style PROC fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style AB fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style EM fill:#f4f4f4,stroke:#ccc,color:#bbb
style IMG fill:#f4f4f4,stroke:#ccc,color:#bbb
linkStyle 0 stroke:#2b6cb0,stroke-width:2px
linkStyle 1 stroke:#2b6cb0,stroke-width:2px
linkStyle 2 stroke:#2b6cb0,stroke-width:2px
linkStyle 3 stroke:#2b6cb0,stroke-width:2px
linkStyle 4 stroke:#2b6cb0,stroke-width:2px
linkStyle 5 stroke:#2b6cb0,stroke-width:2px
linkStyle 6 stroke:#2b6cb0,stroke-width:2px
linkStyle 7 stroke:#e0e0e0,stroke-width:1px
linkStyle 8 stroke:#2b6cb0,stroke-width:2px
linkStyle 9 stroke:#2b6cb0,stroke-width:2px
linkStyle 10 stroke:#e0e0e0,stroke-width:1px
linkStyle 11 stroke:#e0e0e0,stroke-width:1px
linkStyle 12 stroke:#e0e0e0,stroke-width:1px
linkStyle 13 stroke:#2b6cb0,stroke-width:2px
linkStyle 14 stroke:#e0e0e0,stroke-width:1px
linkStyle 15 stroke:#e0e0e0,stroke-width:1px
linkStyle 16 stroke:#2b6cb0,stroke-width:2px
linkStyle 17 stroke:#2b6cb0,stroke-width:2px
Reason/PlanReason/Plan switches on, drawing on Representation and connecting bidirectionally to Action — the system can now search for a sequence of actions that reaches a goal, rather than only reacting to the current state1. Procedural Memory is left live deliberately, not as an oversight: a real goal-based agent still reasonably executes well-practised sub-steps procedurally once it's decided what to do, rather than deliberating over every individual motor command.
Tier 4: The Utility-Based Agent
graph LR
ENV["Environment"]
PER["Perception"]
ST["Short Term"]
AB["Abstraction"]
EM["Episodic Memory"]
PROC["Procedural Memory"]
REP["Representation"]
IMG["Imagination"]
RP["Reason / Plan"]
ACT["Action"]
ENV --> PER
PER --> PROC
PROC -->|fast pattern-matched response| ACT
ST -.->|compiled through repeated practice| PROC
PER --> ST
AB -.->|schema-driven expectation| PER
ST -->|classification, via repeated consolidation| AB
ST --> EM
ST --> REP
AB --> REP
EM --> IMG
EM --> RP
REP <--> IMG
REP <--> RP
IMG --> RP
IMG <--> PER
RP <--> ACT
ACT --> ENV
style ENV fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style PER fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ACT fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style REP fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style RP fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
style ST fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style PROC fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style AB fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style EM fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
style IMG fill:#f4f4f4,stroke:#ccc,color:#bbb
linkStyle 0 stroke:#2b6cb0,stroke-width:2px
linkStyle 1 stroke:#2b6cb0,stroke-width:2px
linkStyle 2 stroke:#2b6cb0,stroke-width:2px
linkStyle 3 stroke:#2b6cb0,stroke-width:2px
linkStyle 4 stroke:#2b6cb0,stroke-width:2px
linkStyle 5 stroke:#2b6cb0,stroke-width:2px
linkStyle 6 stroke:#2b6cb0,stroke-width:2px
linkStyle 7 stroke:#2b6cb0,stroke-width:2px
linkStyle 8 stroke:#2b6cb0,stroke-width:2px
linkStyle 9 stroke:#2b6cb0,stroke-width:2px
linkStyle 10 stroke:#e0e0e0,stroke-width:1px
linkStyle 11 stroke:#2b6cb0,stroke-width:2px
linkStyle 12 stroke:#e0e0e0,stroke-width:1px
linkStyle 13 stroke:#2b6cb0,stroke-width:2px
linkStyle 14 stroke:#e0e0e0,stroke-width:1px
linkStyle 15 stroke:#e0e0e0,stroke-width:1px
linkStyle 16 stroke:#2b6cb0,stroke-width:2px
linkStyle 17 stroke:#2b6cb0,stroke-width:2px
EpisodicEpisodic Memory switches on, feeding Reason/Plan directly. The difference from Tier 3 is not a new capability so much as a better-informed version of the same one: a goal-based agent stops at the first plan it finds that reaches the goal; a utility-based agent needs to compare several candidate plans and rank them, and doing that credibly requires more than an abstract category — it requires some causal precedent for what a given kind of action has actually tended to lead to1. That's exactly the job Episodic Memory does elsewhere in the full model, now put to use in comparing futures rather than just informing the present.
Tier 5: The Imagination-Augmented Agent
graph LR
ENV["Environment"]
PER["Perception"]
ST["Short Term"]
AB["Abstraction"]
EM["Episodic Memory"]
PROC["Procedural Memory"]
REP["Representation"]
IMG["Imagination"]
RP["Reason / Plan"]
ACT["Action"]
ENV --> PER
PER --> PROC
PROC -->|fast pattern-matched response| ACT
ST -.->|compiled through repeated practice| PROC
PER --> ST
AB -.->|schema-driven expectation| PER
ST -->|classification, via repeated consolidation| AB
ST --> EM
ST --> REP
AB --> REP
EM --> IMG
EM --> RP
REP <--> IMG
REP <--> RP
IMG --> RP
IMG <--> PER
RP <--> ACT
ACT --> ENV
classDef memory fill:#e8c477,stroke:#8a6a1f,color:#3a2c0d,stroke-width:2px
classDef live fill:#d6e4f7,stroke:#2b6cb0,color:#1a2c40,stroke-width:2px
class ST,AB,EM,PROC memory
class ENV,PER,ACT,REP,RP,IMG live
linkStyle 0 stroke:#2b6cb0,stroke-width:2px
linkStyle 1 stroke:#2b6cb0,stroke-width:2px
linkStyle 2 stroke:#2b6cb0,stroke-width:2px
linkStyle 3 stroke:#2b6cb0,stroke-width:2px
linkStyle 4 stroke:#2b6cb0,stroke-width:2px
linkStyle 5 stroke:#2b6cb0,stroke-width:2px
linkStyle 6 stroke:#2b6cb0,stroke-width:2px
linkStyle 7 stroke:#2b6cb0,stroke-width:2px
linkStyle 8 stroke:#2b6cb0,stroke-width:2px
linkStyle 9 stroke:#2b6cb0,stroke-width:2px
linkStyle 10 stroke:#2b6cb0,stroke-width:2px
linkStyle 11 stroke:#2b6cb0,stroke-width:2px
linkStyle 12 stroke:#2b6cb0,stroke-width:2px
linkStyle 13 stroke:#2b6cb0,stroke-width:2px
linkStyle 14 stroke:#2b6cb0,stroke-width:2px
linkStyle 15 stroke:#2b6cb0,stroke-width:2px
linkStyle 16 stroke:#2b6cb0,stroke-width:2px
linkStyle 17 stroke:#2b6cb0,stroke-width:2px
TheThe full model. Imagination now recombines Episodic Memory into scenarios that haven't occurred, feeding both Representation and Reason/Plan — the system can evaluate not just remembered or currently-observed situations, but deliberately constructed hypothetical ones3. This is the tier Russell and Norvig's four-part taxonomy doesn't name separately, because it isn't a difference in what kind of agent this is so much as a difference in how rich a resource it has to reason with. It's also, on current evidence, the tier that costs the most in exactly the currencies Tier 1 was cheapest in: determinism, verifiability, and speed.
The honest caveat
ThisThis five-tier progression is a genuinely useful teaching device, and it is not a perfectly faithful rendering of Russell and Norvig's own definitions1. Their taxonomy is about four architectures; this page's five tiers are this module's own cumulative build across a richer model than their textbook diagram uses. Where the two disagree even slightly, treat this page's version as the working one for this diagram specifically, and Russell and Norvig's original as the canonical four-part reference it actually is.
The Trustworthy Software Initiative — the fuller case for determinism, verifiability, and auditability as design virtues in their own right, not just simplicity's consolation prizes.
Game AI — the same reflex-to-utility spectrum, developed independently for games specifically, with a working GOAP implementation.
References
Russell, S. J., & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th ed.). Pearson. ↩↩↩↩↩
See this site's Trustworthy Software Initiative page for the full account of determinism, verifiability, and auditability as engineering virtues. ↩
Weber, T., Racanière, S., Reichert, D. P., Buesing, L., Guez, A., Rezende, D. J., Puigdomènech Badia, A., Vinyals, O., Heess, N., Li, Y., Pascanu, R., Battaglia, P., Hassabis, D., Silver, D., & Wierstra, D. (2017). Imagination-augmented agents for deep reinforcement learning. Advances in Neural Information Processing Systems 30 (NeurIPS 2017). https://arxiv.org/abs/1707.06203↩
📝 Executive Bite-Sized Summary (Max 2 Short Sentences per Section)
Overview
Every diagram on this page is the same diagram.
It's the same architecture, with more of it switched on.
Tier 1: The Reflex Agent
Why you'd deliberately choose this tier : determinism, testability, and speed.
No persistent model of the world, no deliberation, no memory of any specific past episode.
Tier 2: The Model-Based Agent
Action, notice, still routes through Procedural Memory.
Having a model of the situation is not the same as reasoning about what to do with it — that's the next tier.
Tier 3: The Goal-Based Agent
Reason/Plan R eason/Plan switches on, drawing on Representation and connecting bidirectionally to Action — the system can now search for a sequence of actions that reaches ...
Procedural Memory is left live deliberately, not as an oversight: a real goal-based agent still reasonably executes well-practised sub-steps procedurally once it's decided ...
Tier 4: The Utility-Based Agent
Episodic E pisodic Memory switches on, feeding Reason/Plan directly.
That's exactly the job Episodic Memory does elsewhere in the full model, now put to use in comparing futures rather than just informing the present.
Tier 5: The Imagination-Augmented Agent
The T he full model.
It's also, on current evidence, the tier that costs the most in exactly the currencies Tier 1 was cheapest in: determinism, verifiability, and speed.
🗺️ Site-Wide Concept Atlas
Cartographic Topological Map
🗺️ Pathway Interrogation: Hover over any terrain road line or city node
🌉 Bridge Concepts: Interrogating intermediate weight vectors across the atlas
📍 Explore Map: Click any node circle or road line to navigate
🧭 You Are Here
✨ Active Concept Hit
⛰️ Mountain Ridge
📤 Connection Road
🐉 "Here Be Dragons"
Structured taxonomy index of site concepts and articles mapped by SOM topological affinity. Keyboard & screen-reader accessible.