Overview
Profile
The “Who”
Long-term identity and stable preferences.
Episodic
The “Story”
Narrative summaries of past sessions and context.
EventLog
The “Facts”
Atomic facts and actions extracted from conversations.
Foresight
The “Future”
Future needs, plans, and time-based intent.
Profile Memory (The “Who”)
Profile memory stores stable attributes that define a user’s identity.- Definition: Name, role, background, and long-term preferences.
- Best for: Personalizing tone, style, and responses based on who the user is.
- Example: “The user is a Senior Python Developer who prefers concise code snippets.”
Episodic Memory (The “Story”)
Episodic memory captures the narrative flow of a session rather than raw logs.- Definition: Narrative summaries of past sessions.
- Best for: High-level context, rationale, and project progression.
- Example: “What did we discuss about the marketing plan yesterday?”
EventLog Memory (The “Facts”)
EventLog memory stores discrete facts without narrative context.- Definition: Atomic facts (actions taken, files uploaded, numbers agreed).
- Best for: Precise factual queries where details matter.
- Example: “What was the exact budget figure mentioned for Q3?”
Foresight Memory (The “Future”)
Memory is not only about the past. Foresight stores future-oriented signals.- Definition: Predictions about future events, needs, or tasks.
- Best for: Planning, proactive assistance, and time-sensitive queries.
- Example: “Do I have any upcoming deadlines?”
How the system chooses a type
In most cases, Episodic is the default for broad context, and the system selects other types based on query intent. Use this mental model:- “Who am I?” → Profile
- “What happened last week?” → Episodic
- “What was the file name?” → EventLog
- “What’s next?” → Foresight