Existem duas formas de um chatbot parecer lembrar de você. Uma é uma janela de contexto longa, que esquece assim que a janela anda. A outra é anotar as coisas.
Este aqui anota — e, a parte incomum, deixa você ler o que foi anotado.
Por que os personagens desandam
Um modelo não tem memória entre mensagens. Tudo o que ele parece lembrar foi reenviado no prompt. Quando a conversa cresce além do que cabe, algo precisa ser descartado ou comprimido, e é aí que começa a deriva: o personagem deixa de saber o nome da sua irmã, depois contradiz o que disse semana passada e, sem alarde, vira outra pessoa usando as mesmas palavras.
A maioria dos produtos resolve isso resumindo em segundo plano. Funciona até o resumo estar errado — e aí fica errado para sempre, porque você nunca o vê e não pode corrigir.
O que fica guardado, de fato
Fatos curtos, extraídos da conversa conforme ela anda. Não é transcrição nem um bloco de vetores: são linhas que você consegue ler.
Eles são delimitados de três formas ao mesmo tempo, e é essa delimitação que impede uma história de vazar para dentro da outra:
- Por personagem: o que um personagem sabe, o outro não sabe.
- Por tópico: conversas separadas com o mesmo personagem mantêm memórias separadas.
- Por pessoa: nada do que você conta a um personagem fica visível para outra pessoa que fale com esse mesmo personagem.
Ler, corrigir, apagar
A lista de memória é uma tela dentro das configurações da conversa. Você abre e vê os fatos, em ordem. Se um está errado, corrija. Se um nunca deveria ter sido escrito, apague. Se você não quer nada disso, desligue a memória naquela conversa e nada mais é guardado.
Parece pouco e muda completamente o modo de falha. Um fato errado dentro de um resumo escondido envenena todas as respostas seguintes e você só pode adivinhar por que o personagem ficou estranho. Um fato errado numa lista é uma linha que você conserta em cinco segundos.
Na primeira vez que um personagem anota algo, você é avisado uma vez. Não a cada mensagem — uma vez, para você saber que o mecanismo existe e onde encontrá-lo.
O que nunca é escrito
Um filtro passa por cada fato extraído e retira o que não deveria estar num repositório de memória: endereços de e-mail, números de telefone, números de cartão, números de documento.
Isso é um filtro, não uma promessa sobre o que você digita. Ele remove os padrões que reconhece. A coisa mais segura a fazer com o número real de um cartão continua sendo não mandá-lo para um chatbot.
A memória quando a cena se ramifica
Você pode ramificar qualquer resposta e ficar com as duas linhas. Quando faz isso, a nova conversa herda a memória que a original tinha naquele instante — então o galho começa do mesmo passado compartilhado, em vez de começar do zero, e a partir dali segue sozinho.
É esse o sentido de ramificar: duas versões da mesma relação, não dois estranhos.
Até onde a memória viaja
Se um personagem virar um bot do Telegram próprio, a memória funciona lá exatamente como na conversa principal: ainda por personagem, por tópico e por pessoa. Quem conversa com o seu bot constrói a própria memória com aquele personagem, e ela é só dessa pessoa.