Agent Archetypes: Five Tiers on One Diagram

The foundational 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

A 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

Short 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/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

Episodic 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

The 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

This 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.

Where this connects

  • Sense, Model, Think, Predict, Imagine, Act — the full model this page builds tier by tier, with the reasoning behind every node and edge.
  • 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


  1. Russell, S. J., & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th ed.). Pearson.

  2. See this site's Trustworthy Software Initiative page for the full account of determinism, verifiability, and auditability as engineering virtues.

  3. 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