Problemet
Et arkiv af noter betaler sig først, når man kan finde det, man skrev for otte måneder siden. Det kræver, at man husker ordene, man brugte dengang, og det gør man ikke.
Fremgangsmåde
Hukommelsesbudgettet først. Ingen GPU, ingen stor vektordatabase, ingen tjeneste der skal betales per forespørgsel. Alt skulle kunne køre ved siden af de øvrige tjenester på én server, og designet blev valgt derefter.
Hvad den gør
Indekserer arkivet med fastembed, gemmer vektorerne i sqlite-vec og stiller søgningen til rådighed over MCP, så en assistent kan slå op i mine egne noter i stedet for at gætte.
Hvor det står
Søgningen er ikke længere en prototype. Den kører som en fast tjeneste på min egen server, indekserer godt 1.600 dokumenter i mere end 20.000 tekststykker, og bliver brugt hver dag af AI-værktøjer, der slår op over MCP i stedet for at gætte. Koden bor i sit eget repository med versionerede udgivelser.
Kvaliteten svinger stadig med, hvor godt et dokument er skrevet. Det er ikke løst; det er bare i drift, og forskellen på de to er grunden til at køre det hver dag.
Hvad jeg lærte
At kvaliteten af søgningen er et opdelingsproblem længe før, det er et modelproblem. Hvordan et dokument klippes i stykker betyder mere end hvilken model, der læser stykkerne.