Really interesting! Curious how you're handling memory growth over time. Do you prune or summarize older vector memories, or does the context naturally stay manageable?
Thanks! You made me realize I completely forgot to mention memory in my post .
For running memory, hex maintains a 10 message full-length context window, with the rest being summarized when the threshold is being crossed (15 messages) by a separate LLM call and stored in vector storage (Qdrant).
Aside from that, observational memories get constantly stored in Qdrant as well for convenient retrieval and embeddings are calculated locally via Qdrant's FastEmbed.
Preferences, facts and things like that are store in SQLite.
Haha "go build something that yells at you" gave me a laugh. I also like that you resisted making this a general-purpose assistant. Giving it access to your actual calendar, notes and tasks makes it feel much more practical than yet another generic assistant.
7 comments
[ 3.6 ms ] story [ 27.6 ms ] threadFor running memory, hex maintains a 10 message full-length context window, with the rest being summarized when the threshold is being crossed (15 messages) by a separate LLM call and stored in vector storage (Qdrant). Aside from that, observational memories get constantly stored in Qdrant as well for convenient retrieval and embeddings are calculated locally via Qdrant's FastEmbed.
Preferences, facts and things like that are store in SQLite.