Standard RAG stores text as vectors and returns the closest match by similarity. It works, but it has no concept of time, change, or usage.
I built Three - a retrieval system where stored information behaves more like memory. Recent and frequently referenced information surfaces more easily, while outdated or neglected information gradually recedes.
How it differs from standard RAG
Temporal awareness - If you changed your phone number last week, the system returns the new one, not the old one. Standard RAG scores both equally.
Usage-based decay - A topic discussed daily surfaces more easily on a vague query than something mentioned once in passing.
Context assembly - Instead of returning only the closest text matches, the system considers recency and relevance history when assembling results.
Live playground
I built three controlled experiments where you can run the same queries against both systems on identical data - same embeddings, same queries, only the retrieval logic differs.
Needle in a Haystack - 10 memories hidden among 2,000+. Find the target with exact or fuzzy queries.
Temporal Intelligence - Two conflicting memories (old vs new) on the same topic. Which system picks the current one?
Memory Decay - Two same-age memories, one frequently referenced, one never revisited. Does usage history affect ranking?
No signup, no mocked results. Try it: https://three-production-b254.up.railway.app/
Key takeaway
Standard RAG is hard to beat at pure text matching. This system wins when the question involves time, change, or ambiguity - which, in real conversations, is most of the time.
Top comments (0)