Skip to main content
Remem organises everything your agent stores into one of three memory types: episodic, semantic, or summary. Choosing the right type isn’t just good housekeeping — it directly affects what gets retrieved at query time. Episodic memories decay with time (by design), semantic facts stay relevant for much longer, and summaries are automatically generated to compress history without losing meaning.

Overview


Episodic

Episodic memories capture things that happened — events, conversations, user actions, and support interactions. Because recency is weighted in Remem’s hybrid scoring formula, episodic memories naturally fade as time passes, which is exactly what you want: a complaint from three weeks ago matters less than one from today.
Use episodic for conversation events, support tickets, user actions, or anything else that is meaningful because of when it happened.

Semantic

Semantic memories store facts about the user — their location, plan type, preferences, job role, or any other stable attribute. Unlike episodic memories, these facts don’t lose value with age. Setting a high importance score ensures they get surfaced even when a query only loosely matches.
Set importance=0.9 or higher for facts you always want retrieved — name, location, plan type, communication preferences. See Hybrid Scoring for how importance affects ranking.

Summary

Summary memories are compressed snapshots of older episodic history. Remem generates them automatically in the background when your episodic count for a given user grows large. You never create them manually — they are a managed optimisation that keeps retrieval fast and token costs low.
You do not create summary memories yourself. Remem generates them automatically as your episodic history grows. You can read and filter them like any other memory type, but you should not store to memory_type="summary" directly.

Choosing the Right Type

Use episodic. These are time-stamped events — complaints, purchases, questions asked, features used. Their recency is part of their value.
Use semantic. Profile details, preferences, and background knowledge stay useful regardless of when they were stored.
Use semantic. Preferences are facts, not events. They inform every future interaction and should be treated as stable profile data.
Use nothing — Remem handles this automatically as summary memories. You will see them when listing or recalling memories, but you don’t need to write them.

Filtering by Type

You can scope both recall() and list() to a specific memory type to avoid noise from unrelated memory categories.

Filtering search results

Filtering a full memory list

When building a user profile panel or a “what do you know about me?” feature, filter to memory_type="semantic" to return clean, fact-based memories without event noise from episodic history.