{ "lesson": "09-hybrid-memory-mem0", "title": "Hybrid Memory: Vector + Graph + KV", "questions": [ { "stage": "pre", "question": "Which query class does a KV store handle best?", "options": [ "Reachability across customers sharing a billing entity", "Direct fact lookup keyed by (user, type, entity)", "Temporal queries valid-at-time", "Semantic similarity over long conversations" ], "correct": 1, "explanation": "KV is O(1) on exact keys; vector is for similarity, graph is for relationships." }, { "stage": "pre", "question": "What are the three stores Mem0 writes in parallel on each add()?", "options": [ "Postgres, Redis, ClickHouse", "Cache, queue, log", "Embedding, attention, FFN", "Vector, KV, graph" ], "correct": 3, "explanation": "Mem0 fans every write out to vector, KV, and graph stores." }, { "stage": "check", "question": "What three dimensions feed Mem0's fusion score?", "options": [ "Confidence, perplexity, BLEU", "Precision, recall, F1", "Relevance, importance, recency", "Latency, throughput, cost" ], "correct": 2, "explanation": "Score is a weighted sum of relevance, importance, and recency; weights tune per product." }, { "stage": "check", "question": "What does Mem0g do when an incoming fact contradicts an existing edge?", "options": [ "Raises an exception", "Rewrites the user_id", "Marks the existing edge invalid but does not delete it, so temporal queries can still traverse", "Deletes the edge" ], "correct": 2, "explanation": "Soft invalidation preserves history for temporal (valid-at-time) queries." }, { "stage": "check", "question": "Why does the lesson recommend tuning fusion weights per product?", "options": [ "It is required by Apache 2.0", "Vector libraries reject equal weights", "Recency dominates for chat agents while importance dominates for compliance agents and relevance dominates for retrieval agents", "Providers require it" ], "correct": 2, "explanation": "Different products want different bias on relevance/importance/recency; one set of weights does not fit all." }, { "stage": "post", "question": "What is the scope taxonomy Mem0 uses?", "options": [ "User, session, agent", "Local, regional, global", "Public, private, secret", "Read, write, admin" ], "correct": 0, "explanation": "Scopes are user (cross-session), session (one thread), agent (per-instance state)." }, { "stage": "post", "question": "What is embedding drift in this pattern, and how does the lesson recommend mitigating it?", "options": [ "Vectors get encrypted; rotate keys", "The embedding API changes URL; pin a domain", "Embeddings overflow integers; switch to float64", "Vector retrieval quality degrades as the corpus grows; periodically re-embed the top-N most used records" ], "correct": 3, "explanation": "Periodic re-embedding of hot records keeps retrieval quality steady as the corpus grows." } ] }