Il y a deux façons pour un chatbot de sembler se souvenir de vous. La première est une longue fenêtre de contexte, qui oublie dès que la fenêtre glisse. La seconde est d'écrire les choses.
Celui-ci écrit les choses et — c'est la partie inhabituelle — vous laisse lire ce qu'il a écrit.
Pourquoi les personnages dérivent
Un modèle n'a pas de mémoire entre deux messages. Tout ce qu'il semble se rappeler lui a été renvoyé dans le prompt. Quand une conversation dépasse ce qui tient, il faut abandonner ou compresser quelque chose, et c'est là que la dérive commence : le personnage ne connaît plus le prénom de votre sœur, puis contredit ce qu'il disait la semaine dernière, puis devient tout doucement quelqu'un d'autre qui emploie les mêmes mots.
La plupart des produits gèrent cela en résumant en arrière-plan. Ça marche jusqu'à ce que le résumé soit faux, et il l'est alors pour toujours, puisque vous ne le voyez jamais et ne pouvez pas le corriger.
Ce qui est réellement stocké
Des faits courts, extraits de la conversation au fil de l'eau. Pas une transcription, pas un bloc vectoriel : des lignes que vous pouvez lire.
Ils sont cloisonnés de trois manières à la fois, et ce cloisonnement est ce qui empêche les histoires de déborder les unes sur les autres :
- Par personnage — ce que sait un personnage, un autre l'ignore.
- Par sujet — des fils séparés avec le même personnage gardent des mémoires séparées.
- Par personne — rien de ce que vous confiez à un personnage n'est visible par quelqu'un d'autre qui parle à ce même personnage.
La lire, la corriger, l'effacer
La liste de mémoire est un écran dans les réglages de la conversation. Vous l'ouvrez et vous voyez les faits, dans l'ordre. Si l'un est faux, corrigez-le. Si l'un n'aurait jamais dû être écrit, effacez-le. Si vous n'en voulez pas du tout, coupez la mémoire pour cette conversation et plus rien n'est enregistré.
Cela paraît mineur et cela change entièrement le mode de défaillance. Un fait faux dans un résumé caché empoisonne toutes les réponses suivantes et vous ne pouvez que deviner pourquoi le personnage est devenu étrange. Un fait faux dans une liste, c'est une ligne que vous corrigez en cinq secondes.
La première fois qu'un personnage écrit quelque chose, on vous le dit une fois. Pas à chaque message — une fois, pour que vous sachiez que le mécanisme existe et où le trouver.
Ce qui n'est jamais écrit
Un filtre passe sur chaque fait extrait et retire ce qui n'a rien à faire dans une mémoire : adresses e-mail, numéros de téléphone, numéros de carte bancaire, numéros de pièce d'identité.
C'est un filtre, pas une promesse sur ce que vous tapez. Il retire les motifs qu'il reconnaît. La chose la plus sûre à faire d'un vrai numéro de carte reste de ne pas l'envoyer à un chatbot.
La mémoire quand la scène bifurque
Vous pouvez faire bifurquer n'importe quelle réponse et garder les deux fils. Le nouveau fil hérite alors de la mémoire que le fil d'origine avait à cet instant — la branche part donc du même passé commun plutôt que de rien, puis diverge de son côté.
C'est tout l'intérêt de la bifurcation : deux versions de la même relation, pas deux inconnus.
Jusqu'où la mémoire voyage
Si un personnage devient son propre bot Telegram, la mémoire y fonctionne exactement comme dans la conversation principale : toujours par personnage, par sujet, par personne. Quelqu'un qui parle à votre bot construit sa propre mémoire avec ce personnage, et elle n'appartient qu'à lui.