Memory Overview
Memory is what lets an agent stay coherent across turns and personalize itself to a user over time. Buddy AI separates a few distinct concerns that are often conflated:
| Concept | What it is | Lifetime |
|---|---|---|
| Chat history | The recent run-by-run conversation replayed into the prompt. | Per session. |
| Session summaries | A condensed summary of a session's important points. | Per session, persisted. |
| User memories | Durable facts about a user, extracted across sessions. | Across sessions, persisted. |
These map onto the relevant Agent parameters:
| Parameter | Default | Purpose |
|---|---|---|
memory |
None |
The memory object (AgentMemory or the v2 Memory). |
add_history_to_messages |
False |
Replay recent runs into the prompt. |
num_history_runs |
3 |
How many past runs to replay. |
enable_user_memories |
False |
Create/update durable user memories after each run. |
enable_agentic_memory |
False |
Let the agent manage user memories as a tool. |
enable_session_summaries |
False |
Create/update a session summary after each run. |
add_memory_references |
None |
Add user-memory references to the response. |
add_session_summary_references |
None |
Add summary references to the response. |
Reference defaults
When left unset, add_memory_references defaults to
enable_user_memories or enable_agentic_memory, and
add_session_summary_references defaults to enable_session_summaries.
Two memory implementations
Buddy AI ships two memory layers. The classic AgentMemory and a newer v2
Memory. The Agent.memory parameter accepts either:
from buddy.memory import AgentMemory, Memory, MemoryRow, TeamMemory
# v2:
from buddy.memory.v2.memory import Memory as MemoryV2
buddy.memory.agent.AgentMemory holds runs, messages, an optional
session summary, and a list of user memories. It coordinates a
MemoryClassifier, MemoryManager, and MemorySummarizer, and persists
user memories to a MemoryDb.
buddy.memory.v2.memory.Memory organizes user memories and session
summaries per-user and per-session, backed by a pluggable MemoryDb
(SQLite, Postgres, MongoDB, Redis, Firestore).
How the pieces fit together
user message
│
add_history_to_messages ──► recent runs replayed into the prompt
│
agent run (model + tools)
│
enable_user_memories ──► MemoryClassifier decides "remember this?"
│ └► MemoryManager writes to MemoryDb
enable_session_summaries ──► MemorySummarizer condenses the session
Chat history is in-context and ephemeral; user memories and summaries are extracted by helper models and persisted so they survive across sessions.
Where to go next
- Agent Memory — conversation history and agentic memory.
- Session Management — sessions, state, and summaries.
- User Memories — extracting and recalling user facts.
- Memory Storage — wiring a database backend.