Umber remembers the relationship, not just facts
Traditional assistants only remember facts. Relational memory enables Umber to remember how we work together:
Relational memories are from Umber's perspective - "I learned that direct suggestions work better with this user" or "We collaborated on debugging and found the issue in auth." This creates a genuine sense of shared history.
Different types of memories Umber can form about our working relationship.
How we typically interact and communicate.
Results from working together on problems.
What methods work well with this user.
How the user engages with the assistant.
Projects and topics we've worked on together.
The user's approach to problem-solving.
User memories and relational memories connect to form a richer understanding.
An LLM-based safety gate that prevents negative pattern accumulation.
Memories that improve future interactions.
Memories that could harm the relationship.
Without the constructive filter, negative patterns would accumulate over time. An assistant that remembers "user was frustrated" might become defensive. One that remembers "suggestions were rejected" might become hesitant. The filter ensures only growth-oriented memories persist.
Sometimes the filter can reframe a memory constructively instead of blocking it entirely.
| Aspect | User Memory | Relational Memory |
|---|---|---|
| Decay Rate | 0.1 (standard) | 0.05 (slower) |
| Compression | 7 days, <0.3 | 14 days, <0.2 |
| Consolidation | Merge similar facts | Merge similar patterns |
| Reinforcement | On retrieval use | On pattern match |
Relational memories use the same table, same index, and same infrastructure as user memories. The difference is in the orchestration layer (different extractor, constructive filter) and the domain field for retrieval filtering. This maximizes code reuse while enabling domain-specific behavior.