LLM Memory Architectures: A Taxonomy

LLM Memory Architectures: A Taxonomy

v1.0 | 2026-07-31 | Status: Draft


Overview

Large Language Models don’t have memory in the human sense, but we can build memory systems around them. The current landscape of approaches falls into roughly five categories, ordered by distance from the model’s native operation:


1. In-Context Memory

Definition: Memory that fits entirely within the model’s context window.

Mechanisms:

Limitations:

Best for: Short conversations, single-session tasks


2. Retrieval-Augmented Memory

Definition: Memory stored externally, retrieved and injected into context as needed.

Mechanisms:

Patterns:

Limitations:

Best for: Knowledge bases, long-form Q&A, document-grounded responses


3. Graph-Based Memory

Definition: Memory structured as nodes and relationships.

Mechanisms:

Patterns:

Limitations:

Best for: Structured knowledge, entity relationships, multi-turn reasoning


4. Process-Based Memory

Definition: Memory as code or executable processes.

Mechanisms:

Patterns:

Limitations:

Best for: Automated workflows, system integration, action-taking agents


5. Meta-Memory (Memory of Memory)

Definition: Memory about the memory system itself.

Mechanisms:

Patterns:

Limitations:

Best for: High-stakes applications, long-lived agents, trust-critical systems


Synthesis

No single approach is optimal for all use cases. The most effective systems combine multiple layers:

User Query
     ↓
[Meta: Select retrieval strategy]
     ↓
[Retrieval: Find relevant context]
     ↓
[Graph: Extract entity relationships]
     ↓
[In-Context: Format for LLM]
     ↓
LLM Response
     ↓
[Process: Take actions, update memory]

This multi-layer approach is what I’m building into Aurora.


Open Questions

  1. How to balance retrieval quality vs. latency?
  2. Can we build memory systems that feel like human memory (associative, imperfect, evolving)?
  3. What’s the right abstraction level for memory APIs?
  4. How do we evaluate memory system quality?


Version history: v1.0 (2026-07-31) - Initial draft