Problem 7 of 15 in the Harnessing Agentic AI Systems series — read the index for the framing. Previous: Semantic Memory Router Pattern · Next: Schema Enforcement & Self-Correction Pattern.
The Problem — Making state survive and giving it homes
State must survive crashes and error loops, and different state types need different lifetimes. The system must remember across turns, crashes, and sessions — the survival half (P7) and the organization half (P8) are two patterns for one problem.
| Field | P7 — State Snapshot & Rollback (pattern) | P8 — Tiered Hierarchical Memory (pattern) | A5 — Goldfish Amnesia (anti-pattern) |
|---|---|---|---|
| Forces / Smell | Durability vs latency; exactly-once vs replay; the conversation vs the world. | Speed vs capacity; hot path vs archive; per-tier governance vs one store. | A multi-turn loop with no persisted state; identical tool calls repeated; the goal forgotten mid-task. |
| Solution / Anti-solution | Save complete state snapshots at checkpoint N; recover if the agent hits an error loop at step N+3; completed steps never re-execute. | Divide storage into immediate short-term context, scratchpad workspace, and long-term historical database storage. | "The prompt has the goal" — statelessness as simplicity. |
| Consequences / Failure | Crash-proof execution, audit by construction, the agentic equivalent of a database transaction — condition 4 of the durable-daemons pattern. | State has homes with different lifetimes — ledgers, permissions, commitments, provenance — and recall at the right latency. | A stateless loop is a request-response function with a longer prompt; nothing records what was tried, so everything is tried again. |
| Tradeoffs / Refactoring | A snapshot of the conversation does not capture the world; recovery is as wide as the reification; external effects need idempotency keys; removal still has to be invoked. | More tiers mean more consistency work; forgetting from all tiers — including cached contexts and weights — is the hard part; a tier that rewrites itself is negotiable past. | P8 with the state lifecycle — write, validate, retrieve, update, forget; the durable-daemons conditions 2 and 3 are the spec. |
| Evidence | Temporal (docs); DBOS — a Postgres write as a 1-2 ms checkpoint (durable daemons execution); DeepSeek replay (DeepSeek teardown). | Lilian Weng's canonical essay (post); the always-on survey's six axes (always-on agents). | LangGraph's persistent-state architecture (docs); the always-on survey (always-on agents). |
| Related | Refactoring for A12; composes with P14; its boundary is the spatiotemporal system boundary. | Refactoring for A5; supplies the stores for P6. | Is the absence of P8; the delegation risk of P13. |
Discussion
Remembering has two halves: surviving (P7) and organizing (P8). Recovery is promised exactly as wide as the system reifies — a snapshot of the conversation does not capture the world, which is why external effects need idempotency keys and why removal still has to be invoked (spatiotemporal composability). Tiers give state homes, and forgetting across all tiers is the least-solved stage of the state lifecycle (always-on agents).
Key Insight
Recovery is promised exactly as wide as the system reifies. The snapshot covers the conversation; the world needs idempotency keys; and remembering without forgetting is not governance. A stateless loop is a request-response function with a longer prompt.
References
Temporal (docs); Lilian Weng, LLM Powered Autonomous Agents (post); LangGraph memory (docs); archive: durable daemons series, always-on agents, spatiotemporal composability.