AI · In development
The decision
Memory is a separate service, not a longer prompt
A memory is embedded then stored in Qdrant, and retrieval works by semantic similarity. The assistant only receives the few memories relevant to the question asked, not its entire past. The cost of a call stops growing with the age of the relationship, which is the only way this holds up over time. The corollary is a standalone service with two operations: write a memory, find one. It knows nothing about the conversation model calling it, deliberately: when the model changes, the memory stays.
The problem
A conversational assistant forgets everything between sessions. The usual answer, replay the history into the prompt, hits a wall: the context window is finite, it costs money on every call, and it mixes what matters with what no longer does. A preference expressed three months ago should not have to be re-read on every sentence to be found again.
My role
Solo. An exploratory prototype, written to answer one precise question before building anything around it.
What was hard
The hard part is not technical, it is definitional: what deserves to be remembered? Storing everything recreates the problem in another shape: a noisy store where retrieval returns plausible off-topic matches. The prototype settles it with a category set at write time, which defers the decision to the caller rather than solving it. That is acknowledged debt, not a solution.
Where it stands
Prototype, in progress. The memory service runs and answers; it is not wired to a full assistant, and nothing is deployed. It is a building block, not a product.