Documentation Agent Memory

Memory

1 min read·Updated 30 Jul 2026

Memory is what makes an agent useful on the second run. It is per-project, persistent, and retrieved semantically rather than by keyword.

Two kinds of memory

Short-term is session context: the messages and tool results of the current conversation. Bounded by the model's context window, discarded when the session is deleted.

Long-term is durable facts, deliberately written and semantically retrieved. It outlives the session that produced it.

What belongs in memory

Facts that stay true: a constraint, a decision and its reason, a gotcha that cost someone an hour. Not a log of what happened — use a session export for that.

SHELL
arble memory add "Staging shares the production Redis. Never flush from staging."
arble memory search "why the postgres driver is pinned"
arble memory rm mem_2fQx8Lp

Summarizing

Memory is read at the start of every run, so its size is a recurring cost rather than a one-time one. Summarizing collapses related entries into fewer, denser ones.

SHELL
arble memory summarize --older-than 90d

Embeddings and reindexing

Entries are embedded by the configured embedding model. Vectors from different models are not comparable, so changing the model requires a full reindex.

SHELL
arble memory reindex --model local-embed-v2

Encryption

Memory contents are encrypted with a project-scoped key before being written, so a database dump does not yield readable memory without the key. Back that key up separately from the database — encrypted memory with no key is not a backup.