We gave personality control of memory. It cost 31 points.
The most seductive idea we shipped this year was wrong. The numbers are below.
Mnemosyne OS has a cognitive lens: sixteen MBTI-style archetypes you switch from the chat rail. The assistant then thinks as an INTJ or an ENFP for this one question. The obvious implementation lives in the prompt, as a persona line in the system prompt. We went further, because the further version sounded so right:
An archetype that keeps its options open (ENFP) should read a wider, more diverse slice of your memory than one that converges (ISTJ).
So the lens also steered the retrieval layer. Each archetype mapped onto a memory-selection profile, with a diversity weight (MMR λ) and a selection strategy. The strategies ran from plain top-k, to MMR, to a low-discrepancy sampler we nickname phyllotaxis. Personality would change more than the assistant’s voice. It would change which memories the assistant reads.
If you build memory systems, you have felt the pull of this idea. Here is what we measured.
The measurement
We took a 61-question in-vault slice of LongMemEval. The task is factual recall over long-term conversational memory. The embeddings were identical in every condition. The lens only re-ranked and selected among candidates already retrieved. We ran one control and several lens profiles, and every run was executed for real.
| Condition | Accuracy |
|---|---|
| No lens (control) | 75.4% |
| Converging profiles (ISTJ-like) | 75.4%, identical verdicts |
| Maximally divergent (λ=0.40 + low-discrepancy) | 44.3% |
Minus 31.1 points. The paired analysis lost 21 control hits and gained 2. A one-sided sign test gives p < 10⁻⁴. The result also refuted the direction of the design, not only its size. The divergent profile was supposed to shine on multi-session questions. It dropped them from 3/10 to 1/10. It dropped temporal reasoning from 9/10 to 2/10.
The ablation, two mild levers, one catastrophe
| Configuration | Cost vs control |
|---|---|
| Diversity weight alone (λ=0.40, MMR kept) | −11.5 pts |
| Low-discrepancy sampling alone (λ kept) | −6.5 pts |
| Both together | −31.1 pts |
Each lever alone costs a few points. Together they cost 31. The effect is super-additive. Each lever waters down the relevance ranking a little. The two together lose the right memory.
Two more facts. A full control replicate reproduced all 61 per-question verdicts exactly. Run-to-run noise on this rig is zero, so the gap is real. And one design fact: our archetype→retrieval map derived from two binary axes. So the sixteen personalities collapsed into four retrieval behaviours.
The bug we didn’t see coming
The style side had its own lesson. Tone lines do not touch accuracy. But our persona vocabulary was written in French. A French tone line inside an otherwise-English prompt became a language instruction. The lens conditions answered an English benchmark in French in 8 to 54% of cases, whatever the rules below said. A persona block is never just flavour text. The model reads all of it.
What shipped instead
In v1.3.6 the lens is a costume. It changes one thing, the voice: tone, angle, manner. Retrieval stays exact, whoever is speaking. The measured map stays in the codebase as the record of why. Coupling personality to retrieval again now requires a measured task-type guard first.
The general lesson: a personality in the prompt costs almost nothing. A personality in retrieval costs factual accuracy, and we can measure it. If your product promises memory, the memory must not depend on the mood you dressed the assistant in.
Why publish a negative result
The claim “our memory is exact” is only worth what you can check. The headline on our benchmark page ships with an audit kit. This experiment ships with its numbers, its refuted hypothesis and its bug. Mnemosyne OS is a local-first memory OS. You have to be able to trust its answers about your documents. That trust is built with measurements, including the ones that told us no.
The cognitive lens, costume edition, is live in Mnemosyne OS v1.3.6. The architecture behind the memory engine is described in the Resonance Engine whitepaper.