Den virale påstand: rå ordret lagring slår alt andet, når det gælder AI-hukommelse. Vi reproducerede benchmarket og fandt et andet svar. Flaskehalsen er trunkering af embeddings, ikke tab ved udtrækning. Her er dataene.
Hvorfor vi kørte dette benchmark
MemPalace (github.com/milla-jovovich/mempalace) blev lanceret den 5. april 2026 og nåede 14.500 GitHub-stjerner på 48 timer. Kernetesen: gem hver samtale ordret i ChromaDB, spring LLM-udtrækning helt over, og du får 96,6 % recall på standardbenchmarket for AI-hukommelse (LongMemEval).
Konsekvensen for feltet: ethvert system, der bruger en LLM til at udtrække eller opsummere minder, overkomplicerer problemet. Rå tekst med gode embeddings vinder.
Vi bygger vidensstyringssystemer baseret på SECI-modellen (Nonaka & Takeuchi, 1995), hvor struktureret udtrækning er en central operation. Hvis rå lagring reelt slår udtrækning, er vores arkitektur forkert. Så vi testede det.
Hvad vi testede
Benchmark: LongMemEval_S (Wu et al., ICLR 2025). 500 spørgsmål, der tester fem evner inden for langtidshukommelse: informationsudtrækning, ræsonnement på tværs af sessioner, opdateringer af viden, tidsmæssigt ræsonnement og afståelse. Hvert spørgsmål omfatter cirka 48 "haystack"-samtalesessioner, hvoraf 1-3 indeholder svaret.
Fire udtrækningstilgange, samme embedding-model (all-MiniLM-L6-v2), samme data:
| # | Tilgang | Beskrivelse |
|---|---|---|
| 1 | Rå alle ture | Gem den fulde sessionstekst (bruger + assistent), embed som den er |
| 2 | Rå kun bruger | MemPalaces metode: gem kun brugerens ture, embed som de er |
| 3 | SECI-udtrækning | Kondensér hver session til cirka 500 tegn med strukturerede fakta |
| 4 | SECI hybrid + nøgleord | Sammensmelt rå + udtrukne scorer via reciprocal rank fusion, tilføj boost for nøgleordsoverlap |
Alle tilgange bruger ChromaDB med søgning baseret på cosinus-lighed. Ingen LLM involveret i udtrækningen. Den eneste forskel er, hvad der bliver indekseret.
Resultater
LongMemEval_S: Udtrækning på sessionsniveau (500 spørgsmål, alle 6 typer)
| Tilgang | R@5 | R@10 | NDCG@5 | NDCG@10 |
|---|---|---|---|---|
| Rå alle ture | 85,9 % | 92,8 % | 80,3 % | 83,0 % |
| Rå kun bruger (MemPalace-metode) | 92,1 % | 96,3 % | 86,8 % | 88,5 % |
| SECI-udtrækning | 93,7 % | 96,7 % | 89,1 % | 90,3 % |
| SECI hybrid + nøgleord | 93,9 % | 96,6 % | 89,7 % | 90,8 % |

SECI hybrid slog MemPalace-stil rå lagring med 1,8 procentpoint på R@5.
Opdeling pr. spørgsmålstype
| Tilgang | Videnopd. (n=72) | Fler-session (n=121) | SS-User (n=64) | Tidsmæssig (n=127) |
|---|---|---|---|---|
| Rå kun bruger (MemPalace) | 98,6 % | 90,6 % | 92,2 % | 86,9 % |
| SECI-udtrækning | 95,8 % | 93,2 % | 96,9 % | 88,8 % |
| SECI hybrid+nø | 96,5 % | 93,7 % | 96,9 % | 88,4 % |
SECI-udtrækning fører på 4 af 6 spørgsmålstyper. MemPalace-metoden vinder på videnopdatering (+2,1pp), hvor den oprindelige formulering af ændrede fakta betyder noget. SECI-fordelen er størst på enkeltsessions-brugerspørgsmål (+4,7pp), hvor svaret ligger begravet dybt i en lang samtale.
Hvorfor udtrækning vinder: Problemet med 256-token-trunkering
Resultatet overraskede os. MemPalaces tese er intuitiv: udtrækning taber information, rå bevarer alt. I teorien burde rå vinde.
Marginen er snævrere, end vores oprindelige stikprøve på 100 spørgsmål antydede (+4,9pp indsnævret til +1,8pp i fuld skala med 500 spørgsmål). Spørgsmål om tidsmæssigt ræsonnement og videnopdatering bragte forskellen tættere sammen. Netop derfor kører man hele benchmarket.
Virkeligheden: embedding-modellen kan ikke læse hele dokumentet.
all-MiniLM-L6-v2 (ChromaDB's standard, brugt af både MemPalace og vores benchmark) har en maksimal sekvenslængde på 256 tokens. Det svarer til cirka 1.000 tegn.
LongMemEval-sessioner er i gennemsnit på 10.000 tegn. Nogle overstiger 30.000.
Når du gemmer en rå session og embedder den, læser modellen de første cirka 1.000 tegn og ignorerer resten. 90 % af indholdet er usynligt for udtrækningen.
Vores SECI-udtrækning kondenserer hele sessionen til cirka 500 tegn med strukturerede nøglefakta. Hvert udtrukket faktum passer inden for vinduet på 256 tokens. Intet bliver trunkeret.
Tesen om, at "rå altid vinder", holder kun, når din embedding-model faktisk kan læse hele dokumentet. Ved 256 tokens kan den ikke.
Raw session (10,000 chars):
[████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░]
↑ embedded (1,000 chars) ↑ truncated (9,000 chars) ← invisible to search
SECI extraction (500 chars):
[████████████████████]
↑ entire content embedded ← nothing lost
Ville en embedding-model med længere kontekst ændre resultatet?
Sandsynligvis ja. Modeller som bge-large-en-v1.5 (512 tokens) eller nomic-embed-text-v1.5 (8192 tokens) ville lade rå lagring embedde mere af hver session. MemPalaces offentliggjorte 96,6 % bruger måske optimeringer ud over standardmodellen. Vi tester embeddings med længere kontekst som det næste.
Pointen står ved magt: din udtrækningskvalitet er begrænset af dit embedding-vindue, og de fleste udviklere tjekker ikke dette.
Hvad MemPalace fik ret
Ære, hvor ære bør ydes:
-
Indeksering kun af brugerture. At fjerne assistentens ture forbedrede rå udtrækning fra 85,9 % til 92,1 %, et spring på 6,2 point. Assistentens svar tilføjer støj (generisk, ordrig), der udvander embeddingen. Et smart designvalg.
-
Ydeevne ved videnopdatering. Rå kun bruger scorer 98,6 % på videnopdateringsspørgsmål mod vores 96,5 %. Når fakta ændrer sig over tid, hjælper det at have den oprindelige formulering. Udtrækning kan udjævne opdateringssignalet.
-
Benchmark-kultur. At offentliggøre reproducerbare LongMemEval-resultater med scripts, være åben om, hvilken tilstand (rå vs. AAAK vs. rooms) der giver hvilken score, og udsende ærlige rettelser inden for 48 timer efter lanceringen. Sådan bør open source fungere.
-
Kerneindsigten er delvist korrekt. I stor skala med den rette embedding-model er rå lagring en stærk baseline. Feltet har overkompliceret udtrækning med dyre LLM-kald, når enklere tilgange virker. Nuancen: "enklere" skal tage højde for embedding-vinduet.
SECI-modellen for AI-hukommelse
Vores udtrækningstilgang er baseret på SECI-vidensstyringsmodellen (Nonaka & Takeuchi, 1995), tilpasset til AI-agenters hukommelse:
| Fase | Vidensflow | Implementering |
|---|---|---|
| Socialisering | Tavs → Tavs | Sessionen finder sted, konteksten opleves |
| Eksternalisering | Tavs → Eksplicit | /distill udtrækker strukturerede fakta til markdown |
| Kombination | Eksplicit → Eksplicit | /consolidate fletter, fjerner dubletter, opdager forældelse |
| Internalisering | Eksplicit → Tavs | /remember indlæser relevant kontekst i næste session |
Systemet gemmer udtrukket viden som flade markdown-filer i 10 namespaces (brain, patterns, solutions, research, content, voice, clients, projects, docs, quick-reference). Hver fil er læsbar for mennesker og versionsstyret.
Til dette benchmark tilføjede vi ChromaDB under markdown-filerne: dobbelt indeksering af både rå tekst og udtrukne opsummeringer, med reciprocal rank fusion på forespørgselstidspunktet.
Metode
Datasæt: LongMemEval_S (Wu et al., "LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory," ICLR 2025). 500 spørgsmål, cirka 48 haystack-sessioner pr. spørgsmål, gennemsnitlig sessionslængde 10.042 tegn.
Embedding-model: all-MiniLM-L6-v2 (384-dim, maksimal sekvenslængde 256 tokens). ChromaDB-standard.
Udtrækning: Granularitet på sessionsniveau. Top-10-udtrækning. Metrikker: Recall@5, Recall@10, NDCG@5, NDCG@10.
Udtrækningsmetode: Regelbaseret kondensering (ingen LLM). Udtrækker emnet fra den første brugerbesked, opfølgning fra den sidste brugerbesked, løsning fra den sidste assistentbesked. Cirka 500 tegn pr. session. Dette simulerer outputstrukturen fra vores /distill-kommando.
Hybrid-fusion: Reciprocal Rank Fusion (k=60) af rå og udtrukne udtrækningsscorer, plus boost for nøgleordsoverlap (op til 30 % for eksakte termmatch).
Stikprøve: 500 spørgsmål (470 evalueret, 30 afståelser sprunget over). Alle 6 spørgsmålstyper: single-session-user, single-session-assistant, single-session-preference, multi-session, temporal-reasoning, knowledge-update.
Kode: seci_vs_mempalace.py
Forbehold
- Top-10-udtrækning. MemPalace benchmarker med top-50-udtrækning (n_results=50) og evaluerer R@5 fra den pulje. Vores top-10 er mere begrænset. En retfærdig sammenligning med matchede parametre følger.
- Regelbaseret udtrækning. Vores udtrækning bruger regex/heuristisk kondensering, ikke LLM-opsummering. LLM-baseret udtrækning ville sandsynligvis forbedre kvaliteten, men tilføje omkostninger og latenstid.
- Én enkelt embedding-model. Resultaterne er specifikke for all-MiniLM-L6-v2 (256 tokens). Modeller med længere kontekst ville indsnævre forskellen mellem rå og udtrukne tilgange.
- Videnopdatering er et svagt punkt. MemPalace-metoden scorer 98,6 % mod vores 96,5 % på spørgsmål, hvor fakta ændrer sig over tid. Udtrækning kan udjævne opdateringssignalet.
Hvad dette betyder for udviklere
Hvis du bygger et AI-hukommelsessystem:
-
Tjek dit embedding-vindue. Hvis din embedding-model trunkerer ved 256 eller 512 tokens, og dine dokumenter er længere, mister du information i embedding-laget uanset din lagringsstrategi.
-
Udtrækning er ikke altid tabsgivende. Når udtrækning kondenserer et langt dokument til en repræsentation, der passer inden for embedding-vinduet, bevarer den mere information, der kan hentes, end rå lagring, der bliver trunkeret.
-
Indeksering kun af brugerture hjælper. At fjerne assistentens ture fra samtalehukommelsen reducerer støj. En forbedring på 6,2 point gratis.
-
Hybrid-udtrækning tilføjer rangeringskvalitet. At fusionere rå og udtrukne scorer via RRF forbedrer ikke recall ud over udtrækning alene, men det forbedrer NDCG (rangeringskvalitet). De rigtige dokumenter rangeres højere, når du kombinerer begge signaler.
-
Benchmark dit system. LongMemEval er gratis, veldesignet og reproducerbart. At køre det tager et par timer. Resultaterne kan overraske dig.
Reproduktion af disse resultater
# Install dependencies
pip install chromadb sentence-transformers
# Download LongMemEval data
mkdir -p data && cd data
curl -L -o longmemeval_s_cleaned.json \
https://huggingface.co/datasets/xiaowu0162/longmemeval-cleaned/resolve/main/longmemeval_s_cleaned.json
cd ..
# Run benchmark
python seci_vs_mempalace.py --dataset s --mode retrieval
Fuld kode: github.com/rankfor/ai-memory-benchmark
Hvad vi tester som det næste
- Embedding-modeller med længere kontekst (bge-large, nomic-embed-text) for at se, om rå lagring indhenter forspringet, når trunkeringen fjernes.
- LLM-baseret udtrækning (Gemini Flash til sessionsopsummering) vs. vores regelbaserede udtrækning.
- Tidsmæssig boosting til datobevidst udtrækning på kategorien af spørgsmål om tidsmæssigt ræsonnement.
- Top-50-udtrækning for at matche MemPalaces præcise opsætning til en retfærdig sammenligning.
Koden er åben. Vi byder reproduktioner velkommen.
Dmitrij Żatuchin, Rankfor.AI. April 2026.
Denne forskning er uafhængig. Vi har ingen tilknytning til MemPalace, LongMemEval eller ChromaDB. Benchmarkkoden og resultaterne er åbne for reproduktion.
