Long-term memory for AI agents, explained
Most agents forget the moment a session ends. Real memory consolidates contradictions, blends relevance with recency, and can even tell you what it believed at a past point in time.
An agent without memory starts from zero every session, re-asking what it already learned and re-paying for context it already had. But a pile of embeddings isn't memory either. Real memory knows that a new fact can retire an old one, that recent beliefs usually outrank stale ones, and that 'where do they live?' should return the current answer, not all three.
Crowkis memory is scoped per agent and user, recalls the top facts by relevance blended with recency (a configurable half-life, 30 days by default), and consolidates: a fact that contradicts a same-subject fact, 'lives in Berlin' versus 'lives in Paris', retires the old one, which is kept for history and never deleted.
- 1conversation
- 2extract durable facts
- 3store, scoped to (agent, user)
- 4recall, recency-blended
- 5the current answer
Consolidation keeps the picture current; nothing true is lost.
CMEMSET support u_42 "moved to Berlin in March" CMEMSET support u_42 "no longer in Munich" CMEMGET support u_42 "where do they live?" K 1 # -> "moved to Berlin in March"
It also supports graph memory (subject-relation-object edges you can traverse multi-hop) and bi-temporal recall, asking what the agent believed at a specific past instant. All of it runs on the bundled local models, so memory is something you can give an agent without shipping your users' conversations to anyone.
Storage is not memory. Memory is knowing which of the things you stored is still true.