Den står alene
Et gemt faktum bærer sit eget emne og sin egen betydning. Det har ikke brug for de tyve beskeder omkring sig for at give mening, og netop derfor kan det gives til en assistent, der aldrig har set den samtale, det kom fra.
Produkt
MemoryAgent læser det, din assistent fik at vide, beholder det, der stadig betyder noget om en måned, og leverer det tilbage, når der bliver spurgt. Alt det, vi holder for dig, ligger i dit eget rum — et rum, ingen anden kundes forespørgsel kan nå ind i.
Hvad en hukommelse er
En udskrift gengiver en samtale: alt hvad der blev sagt, i den rækkefølge det blev sagt — også den halvdel, der holdt op med at passe en time senere. En hukommelse er det mindre, der ligger nedenunder: en oplysning, der stadig gælder, skrevet sådan at den kan læses alene.
Et gemt faktum bærer sit eget emne og sin egen betydning. Det har ikke brug for de tyve beskeder omkring sig for at give mening, og netop derfor kan det gives til en assistent, der aldrig har set den samtale, det kom fra.
Det samme sagt i fire sessioner er én hukommelse, ikke fire. En formulering, der stemmer med det, du allerede har, præciserer den; en, der modsiger den, erstatter den — og det erstattede bliver liggende i råmaterialet i stedet for at forsvinde.
Hilsener, kvitteringer, tænkning på skrift og den del af en samtale, der kun betød noget, mens den stod på, bliver aldrig til hukommelse. Ingen har gavn af, at vi husker, at nogen syntes, det lød fint.
Sådan virker det
Intet bliver smidt væk på vejen ind. Hvert lag udledes af laget under, så en senere forbedring af, hvordan fakta læses, kan køres på alt det, du allerede har sendt.
Det, du sendte, gemt som det kom ind. Det bliver aldrig redigeret, og rutinemæssig oprydning ødelægger det ikke, for det er det eneste, der gør alle lagene ovenover mulige at genskabe. Bedre udtrækning senere er ingenting værd uden det.
Varige oplysninger, læst ud af råmaterialet og holdt op mod det, du allerede har, så det samme ikke bliver gemt to gange. Hver enkelt arkiveres efter, hvem eller hvad den handler om, og det er dét, der gør det muligt at besvare et senere spørgsmål uden at læse alt det andet.
Fakta om ét emne samlet til noget, der kan læses i ét stræk: hvad der konsekvent gælder om en person, et projekt eller en kunde. Det er det lag, en assistent griber til, når den skal orientere sig frem for at få ét bestemt svar.
Genfinding er et spørgsmål, ikke en download. Din assistent spørger, hvad der er relevant for opgaven foran den, og får et kort, aktuelt sæt tilbage — fundet på betydning og på de præcise ord samtidig og derefter rangeret samlet, så en hukommelse, der er formuleret anderledes end spørgsmålet, stadig kommer med.
pfmem search --memory-type user --user-id u_42 --query "deploy process"Når du sender en samtale, får du med det samme et task-id tilbage; fakta dukker op, når jobbet er kørt. Intet af det, din bruger sidder og laver, venter på os, og du kan spørge til et job undervejs.
Adskillelse
De fleste tjenester lægger alle kunders oplysninger i én stor liste og kender den ene kunde fra den anden på et mærkat. Det virker, indtil én enkelt forespørgsel glemmer at tjekke mærkatet — og den forespørgsel ser fuldstændig almindelig ud for den, der læser den igennem.
Alles oplysninger samme sted, holdt fra hinanden af et mærkat, som hver eneste forespørgsel skal huske at tjekke. Fejlen er tavs: forespørgslen kommer tilbage med et svar, det er bare ikke kun dit.
Det, vi holder for dig, ligger i et rum, hvor der ikke ligger andet. En forbindelse, der åbnes på dine vegne, peger ind i det rum og ingen andre steder, før den første forespørgsel overhovedet bliver sat sammen. Der er intet mærkat at glemme, for der er ikke andet derinde at forveksle dit med.
Din API-nøgle er det, der fortæller os, hvis rum vi skal åbne. En klient nævner aldrig et arbejdsområde og aldrig et filter — der findes ikke noget felt at skrive det i. Og dermed er der heller ingen måde at nævne en andens på.
Indholdet holder op med at findes. Ikke et flag sat på en post, ikke en visning med noget filtreret fra, og ikke noget, en senere forespørgsel stille og roligt kunne tage med igen.
Mod den samme delte forbindelseshåndtering, som vi kører i produktion, for det er den eneste sammenhæng, hvor den slags fejl overhovedet viser sig. En test på en enklere opsætning ville bestå og bevise ingenting, og det er værre end ingen test.
Dine data
De påstande, der er værd at komme med om andres data, er dem, de selv kan handle på uden først at spørge os.
Hver hukommelse, vi holder, kan nås via API'et og CLI'en: søg i dem, hent én på id, ret den, slet den. Det, en af dine nøgler kan nå, er alt det, der ligger i dit arbejdsområde — og intet uden for det.
search · get · edit · deleteAt slette et arbejdsområde fjerner alt i det, helt og for altid. Det kan ikke fortrydes, vi kalder det uigenkaldeligt alle de steder, det optræder, og det kræver, at du skriver arbejdsområdets navn. Rutineoprydning markerer kun; sletningen er det eneste, der ødelægger noget.
uigenkaldeligt, og vi siger detAt oprette et arbejdsområde, udstede en nøgle, suspendere det, slette det — hver af delene bliver registreret. Sletningen fjerner de identificerende oplysninger fra optegnelserne, men beholder selve hændelserne, for et revisionsspor, der kan slette beviset på sin egen sletning, er ikke et revisionsspor.
hændelser bevares, navne fjernesÉt samlet eksportkald findes ikke endnu
Opret et arbejdsområde, send én udskrift, og læs tilbage, hvad der blev beholdt. Var det ikke noget for dig, så slet arbejdsområdet — og der er ikke mere tilbage at spørge os om.