Hay dos maneras de que un chatbot parezca acordarse de ti. Una es una ventana de contexto larga, que olvida en cuanto la ventana avanza. La otra es apuntar las cosas.
Este las apunta y — esta es la parte poco habitual — te deja leer lo que ha apuntado.
Por qué los personajes derivan
Un modelo no tiene memoria entre mensajes. Todo lo que parece recordar se le ha vuelto a enviar en el prompt. Cuando una conversación crece más de lo que cabe, algo hay que descartar o comprimir, y ahí empieza la deriva: el personaje deja de saber el nombre de tu hermana, luego se contradice con lo que dijo la semana pasada y al final se convierte, sin ruido, en otra persona que usa las mismas palabras.
La mayoría de los productos lo resuelven resumiendo en segundo plano. Funciona hasta que el resumen es incorrecto, y entonces lo es para siempre, porque nunca lo ves y no lo puedes corregir.
Qué se guarda en realidad
Hechos cortos, extraídos de la conversación sobre la marcha. No una transcripción, ni un bloque de vectores: líneas que puedes leer.
Están acotados de tres formas a la vez, y ese acotado es lo que evita que unas historias se mezclen con otras:
- Por personaje: lo que sabe un personaje, otro no lo sabe.
- Por tema: hilos distintos con el mismo personaje mantienen memorias distintas.
- Por persona: nada de lo que le cuentes a un personaje es visible para otra persona que hable con ese mismo personaje.
Leerla, arreglarla, borrarla
La lista de memoria es una pantalla dentro de los ajustes del chat. La abres y ves los hechos, en orden. Si uno está mal, lo corriges. Si uno no debería haberse escrito nunca, lo borras. Si no quieres nada de esto, apagas la memoria para esa conversación y deja de guardarse nada más.
Suena a poco y cambia por completo el modo de fallo. Un hecho equivocado dentro de un resumen oculto envenena todas las respuestas siguientes y solo puedes adivinar por qué el personaje se ha vuelto raro. Un hecho equivocado en una lista es una línea que arreglas en cinco segundos.
La primera vez que un personaje apunta algo, se te avisa una vez. No en cada mensaje: una vez, para que sepas que el mecanismo existe y dónde encontrarlo.
Qué no se escribe nunca
Un filtro pasa por cada hecho extraído y quita lo que no debería estar en un almacén de memoria: direcciones de correo, números de teléfono, números de tarjeta, números de documento de identidad.
Esto es un filtro, no una promesa sobre lo que tú escribes. Elimina los patrones que reconoce. Lo más seguro que puedes hacer con el número real de una tarjeta sigue siendo no mandárselo a un chatbot.
La memoria cuando la escena se bifurca
Puedes bifurcar cualquier respuesta y quedarte con los dos hilos. Al hacerlo, el hilo nuevo hereda la memoria que tenía el hilo padre en ese momento — así que la rama arranca desde el mismo pasado compartido en lugar de desde cero, y a partir de ahí diverge por su cuenta.
De eso trata la bifurcación: dos versiones de la misma relación, no dos desconocidos.
Hasta dónde viaja la memoria
Si un personaje se convierte en su propio bot de Telegram, la memoria funciona allí igual que en el chat principal: por personaje, por tema y por persona. Quien hable con tu bot construye su propia memoria con ese personaje, y es solo suya.