Er zijn twee manieren waarop een chatbot je lijkt te onthouden. De ene is een lang contextvenster, dat vergeet zodra het venster verschuift. De andere is dingen opschrijven.
Deze schrijft dingen op, en — dat is het ongewone deel — laat je lezen wat hij opschreef.
Waarom personages afdrijven
Een model heeft geen geheugen tussen berichten. Alles wat het zich lijkt te herinneren, is opnieuw meegestuurd in de prompt. Wanneer een gesprek groeit voorbij wat erin past, moet er iets worden weggelaten of samengeperst, en daar begint het afdrijven: het personage weet de naam van je zus niet meer, spreekt daarna tegen wat het vorige week zei, en wordt dan geruisloos iemand anders met dezelfde woorden.
De meeste producten lossen dit op door op de achtergrond samen te vatten. Dat werkt totdat de samenvatting fout is, en dan blijft hij voor altijd fout, omdat je hem nooit ziet en niet kunt corrigeren.
Wat er werkelijk wordt opgeslagen
Korte feiten, gaandeweg uit het gesprek gehaald. Geen transcript, geen vectorblob — regels die je kunt lezen.
Ze zijn op drie manieren tegelijk afgebakend, en die afbakening houdt verhalen uit elkaar:
- Per personage — wat het ene personage weet, weet het andere niet.
- Per topic — aparte draden met hetzelfde personage houden aparte herinneringen.
- Per persoon — niets van wat je een personage vertelt, is ooit zichtbaar voor iemand anders die met datzelfde personage praat.
Lezen, herstellen, wissen
De geheugenlijst is een scherm in de chatinstellingen. Open het en je ziet de feiten, op volgorde. Klopt er een niet, dan corrigeer je hem. Had er een nooit mogen staan, dan wis je hem. Wil je er helemaal geen, dan zet je het geheugen voor dat gesprek uit en wordt er niets meer opgeslagen.
Het klinkt klein en het verandert de faalwijze volledig. Een fout feit in een verborgen samenvatting vergiftigt elk later antwoord en je kunt alleen raden waarom het personage vreemd is geworden. Een fout feit in een lijst is een regel die je in vijf seconden herstelt.
De eerste keer dat een personage iets opschrijft, krijg je dat één keer te horen. Niet bij elk bericht — één keer, zodat je weet dat het mechanisme bestaat en waar je het vindt.
Wat er nooit wordt opgeschreven
Over elk geëxtraheerd feit loopt een filter dat weghaalt wat in een geheugenopslag helemaal niet thuishoort: e-mailadressen, telefoonnummers, kaartnummers, nummers van identiteitsbewijzen.
Dit is een filter, geen belofte over wat je typt. Het verwijdert patronen die het herkent. Het veiligste dat je met een echt kaartnummer kunt doen, is het nog steeds niet naar een chatbot sturen.
Geheugen wanneer de scène zich vertakt
Je kunt elk antwoord vertakken en beide draden houden. Als je dat doet, erft de nieuwe draad het geheugen dat de ouderdraad op dat moment had — een vertakking begint dus vanuit hetzelfde gedeelde verleden in plaats van vanuit niets, en wijkt daarna zelfstandig af.
Dat is het punt van vertakken: twee versies van dezelfde relatie, geen twee vreemden.
Waar het geheugen mee naartoe reist
Wordt een personage zijn eigen Telegram-bot, dan werkt het geheugen daar precies zoals in de hoofdchat — nog steeds per personage, per topic, per persoon. Wie met jouw bot praat, bouwt een eigen geheugen op met dat personage, en dat is alleen van hen.