Memory Configuration
4 memory types, namespaces, TTL, and privacy controls
Memory Configuration
The platform provides four memory types that allow agents to retain and recall information across conversations. Memory is scoped by namespace (user, team, agent, global) and subject to privacy controls and TTL policies.
Memory Types
Short-Term Memory (Redis)
Purpose: Context within a single conversation or session.
- Backend: Redis with configurable TTL
- Default TTL: 1-7 days
- Use case: Multi-turn conversations where the agent needs to remember what was said earlier in the session
- Scope: Per-conversation
When to enable: Almost always. Most agents benefit from short-term context.
Long-Term Memory (Qdrant)
Purpose: Facts, preferences, and knowledge that persist across conversations.
- Backend: Qdrant vector database
- Default TTL: 90-365 days
- Use case: Remember user preferences, past interactions, learned facts
- Scope: Per-user or per-agent (configurable via namespace)
When to enable: When agents should "know" returning users and their history.
Graph Memory (Neo4j)
Purpose: Entity relationships and structured knowledge.
- Backend: Neo4j graph database
- Default TTL: 90 days
- Use case: Track entities (people, accounts, projects) and their relationships
- Scope: Per-tenant or per-team
When to enable: When agents need to understand "who relates to what" — customer accounts, org charts, project dependencies.
Procedural Memory
Purpose: Learned task patterns and workflows.
- Backend: PostgreSQL + Vector embeddings
- Default TTL: 60-120 days
- Use case: Agents that improve over time by learning from repeated interactions
- Scope: Per-agent
When to enable: For agents that handle repetitive tasks and should optimize their approach over time.
Namespace Scoping
Memory is organized into four namespaces that control visibility:
| Namespace | Visible To | Use Case |
|---|---|---|
| user | Only the specific user | Personal preferences, conversation history |
| team | All members of the user's team/group | Shared knowledge within a department |
| agent | All users interacting with this agent | Agent-learned patterns, shared context |
| global | All agents and users in the tenant | Organization-wide facts and policies |
Example
User "alice" asks: "Remember that I prefer summaries in bullet points"
→ Stored in namespace: user (only alice sees this)
Team "engineering" discusses: "Our sprint planning is every Tuesday"
→ Stored in namespace: team (all engineers see this)
Agent learns: "Users often ask about vacation policy — search KB first"
→ Stored in namespace: agent (applies to all users of this agent)
Configuring Memory in Agent Studio
Step 1: Enable Memory Types
In Studio > Agents > [Agent] > Memory tab:
Toggle each memory type on/off:
- Short-Term: Enable for conversational context
- Long-Term: Enable for cross-conversation memory
- Graph: Enable for entity tracking
- Procedural: Enable for task learning
Step 2: Configure Extraction
Memory extraction controls what the agent automatically remembers:
| Setting | Description | Default |
|---|---|---|
| Extract Preferences | Remember user preferences (format, language, style) | On |
| Extract Facts | Remember factual information shared by users | On |
| Extract Procedures | Remember step-by-step processes | Off |
| Extract Entities | Extract named entities for graph memory | On |
| Confidence Threshold | Minimum confidence to store a memory (0.0-1.0) | 0.7 |
Step 3: Configure Consolidation
Memory consolidation merges related entries to prevent bloat:
| Setting | Description | Default |
|---|---|---|
| Schedule | When consolidation runs | Daily |
| Min Entries | Minimum entries before consolidation triggers | 10 |
| Similarity Threshold | How similar entries must be to merge (0.0-1.0) | 0.85 |
| Merge Strategy | summarize (LLM summary), deduplicate-only, hierarchical | hierarchical |
| Model | LLM used for consolidation summaries | llama-3.3-70b |
Step 4: Configure Retrieval
Memory retrieval controls how stored memories are surfaced:
| Setting | Description | Default |
|---|---|---|
| Strategy | vector (semantic), keyword, hybrid (both) | hybrid |
| Top-K | Number of memories to retrieve per query | 5 |
| Relevance Threshold | Minimum score to include a memory (0.0-1.0) | 0.7 |
| Max Context Tokens | Token budget for memory context in the prompt | 2000 |
TTL Configuration
Each memory type has a configurable time-to-live per agent:
Navigate to Studio > Memory > TTL Configuration:
| Memory Type | Typical Range | Guidance |
|---|---|---|
| Short-Term | 1-7 days | Short for high-volume agents, longer for infrequent |
| Long-Term | 90-365 days | Longer for relationship-building agents |
| Graph | 30-90 days | Depends on entity volatility |
| Procedural | 30-120 days | Longer for slowly-evolving workflows |
Privacy Controls
Memory Consent
Users can control their memory through the Portal > My Data page:
- Opt-out of memory — disable memory collection for their interactions
- View stored memories — see what the agent remembers about them
- Delete memories — remove specific entries or all entries
- Export data — GDPR data export
Memory Purge
Admins can purge memory in Studio > Memory > Purge:
- Filter by agent, memory type, date range
- Requires confirmation before executing
- Creates an audit log entry
Audit Trail
All memory operations are logged:
- Who created/accessed/deleted the memory
- When and from which agent
- The operation type (create, read, update, delete, consolidate, purge)
View the audit log in Studio > Memory > Audit Log.
Monitoring Memory
Dashboard Metrics
In Studio > Memory > Dashboard:
- Total entries by memory type
- Storage usage (MB) per type
- Hit rate — % of retrievals that found relevant memories
- Average TTL — how long entries live before expiring
- Namespace distribution — user vs team vs agent vs global
Graph Visualization
In Studio > Memory > Graph tab:
- Visualize entity relationships stored in graph memory
- Click nodes to see properties and connected edges
- Filter by entity type (person, organization, project, etc.)
Best Practices
- Start minimal — enable short-term first, add others as needed
- Set appropriate TTLs — don't keep memories forever
- Use namespaces wisely — user data stays in
user, shared knowledge inteamoragent - Monitor consolidation — check that merges are accurate
- Respect privacy — enable consent controls for user-facing agents
- Test retrieval — verify that stored memories are actually surfaced when relevant
- Purge regularly — remove stale data to improve retrieval quality
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Agent doesn't remember | Memory types not enabled | Enable in Memory tab |
| Wrong memories surfaced | Retrieval threshold too low | Increase relevanceThreshold |
| Memory bloat | No consolidation configured | Enable consolidation with appropriate schedule |
| Privacy concern | User data in wrong namespace | Check namespace scoping; purge and re-configure |
| Slow retrieval | Too many entries, no TTL | Set TTLs, run consolidation |
Next Steps
- Knowledge Bases Guide — combine memory with knowledge retrieval
- Platform-Managed Agents — configure memory for your agent
- Security & Compliance — memory privacy and GDPR controls