Dual-Path Architecture
Fast real-time inference with deep offline analysis
System 1 + System 2 Personality Inference
System 1: Fast Path
~50ms latency
Embedding-based trait matching using a curated corpus of personality examples.
KNN similarity search
Confidence scoring (similarity, margin, agreement)
High-confidence signals stored immediately
Low-confidence escalates to System 2
System 2: Deep Analysis
Async / Offline
LLM-powered analysis for complex cases and periodic personality refresh.
Multi-message batch analysis
Nuanced trait extraction
Queued via SQS for async processing
Results feed back to improve System 1
Key Principle
Personality inference never blocks user requests. System 1 provides instant results when confident, while System 2 runs in the background for complex analysis. Both systems contribute signals that are aggregated with stability mechanisms to prevent trait flip-flopping.
Continuous Learning Loop
System 2 insights improve System 1 over time
Distillation Pipeline
User Message
Natural conversation
System 1
Fast classification
Low Confidence?
Escalation check
System 2
Deep analysis
Corpus
Knowledge grows
🛠
Distillation Worker
Runs every 5 minutes
Processes escalation records where System 2 achieved high confidence (≥0.78).
Checks for duplicates (similarity <0.97) before adding to corpus.
2,847
Corpus entries
89%
Fast-path rate
Escalation Metrics
Escalations are recorded with TTL (90 days) and include: original text, embedding, System 1 result, and System 2 result. This enables debugging, quality monitoring, and corpus enrichment.
Your Communication Style
Inferred from your conversations with stability
🔥 Tone Warmth
🙂 Warm
📊 87% confidence
📋 23 signals
📅 Stable for 14 days
📝 Formality
😎 Casual
📊 92% confidence
📋 31 signals
📅 Stable for 21 days
📏 Brevity
⚖ Balanced
📊 78% confidence
📋 18 signals
📅 Stable for 7 days
💜 Empathy
🤗 Supportive
📊 81% confidence
📋 15 signals
📅 Stable for 10 days
🎯 Proactiveness
⚖ Balanced
📊 74% confidence
📋 12 signals
📅 Stable for 5 days
Recent Personality Signals
Evidence extracted from your conversations
Tone Warmth
warm
91%
Formality
casual
88%
Empathy
supportive
79%
Signal Sources
Signals are extracted from: messages (chat conversations), emails (sent email analysis), directives (explicit preferences), and feedback (thumbs up/down corrections).
Real-Time Extraction
How personality signals are detected in conversations
✨
Signal detected during chat
Your message
"Hey! Thanks so much for helping with that - you're a lifesaver! Could you also check my calendar for tomorrow?"
↓
Extracted signals (System 1: 47ms)
🔥 Tone Warmth
warm (94%)
📝 Formality
casual (89%)
❓
Escalation to System 2
Your message
"I need a detailed breakdown of the quarterly report, but keep the executive summary brief."
↓
Queued for System 2 analysis
Reason: Low confidence (0.62) - conflicting brevity signals
Status: Processing batch of 5 messages
Status: Processing batch of 5 messages
Non-Blocking Design
Extraction runs as a fire-and-forget operation after each chat response. Your conversation is never delayed by personality inference. System 1 handles ~89% of cases instantly; complex cases queue for background analysis.
Anti-Jitter Mechanisms
Preventing personality trait flip-flopping
Current Stability Configuration
5
Min Evidence
15%
Hysteresis
30d
Decay Window
📊
How Stability Works
🎯 Minimum Evidence Threshold
Requires at least 5 signals before establishing a trait value. Prevents premature conclusions from limited data.
⚖ Hysteresis Buffer
New value must exceed current by 15% confidence gap to trigger a change. Prevents oscillation on borderline cases.
🕑 Recency Weighting
Recent signals (within 30 days) weighted 70% higher than older signals. Allows gradual personality evolution while maintaining stability.
Configurable via Environment
PERSONALITY_MIN_EVIDENCE_COUNT, PERSONALITY_HYSTERESIS_THRESHOLD, PERSONALITY_DECAY_WINDOW_DAYS, PERSONALITY_RECENCY_WEIGHT
Privacy Controls
GDPR-compliant personality inference settings
Personality Inference
Control how Umber learns your communication style
Enable personality inference
Allow Umber to learn from your conversations
Delete signals on opt-out
Remove all stored personality data when disabled
What happens when you opt out
- New messages won't be analyzed for personality signals
- Existing traits revert to default values
- If "delete signals" is enabled, all stored signals are permanently removed
- You can re-enable at any time to start fresh
GDPR Article 21 Compliance
You have the right to object to automated profiling. This setting allows you to opt out of personality inference while still using Umber's other features. Your preference is stored securely and checked before any inference processing.