Quando uma frase contém três memórias
Até 18 de maio, uma frase como «já agora, a minha mulher chama-se Claire, a minha filha tem onze anos e o meu filho dezoito» podia não deixar rasto nenhum: o modelo respondia com simpatia e não guardava nada. Esse dia mudou a forma como a memória ouve. Cada informação recebe uma categoria, o que se sabe, o que se viveu, o que se tem para fazer, e essa categoria decide se é mostrada ou retida em silêncio. Uma segunda passagem, depois da resposta, conta os factos de uma frase e recupera os que faltam. Na hora de recordar, a memória procura por vários ângulos ao mesmo tempo, e o que encontra aquece a sua vizinhança. E a constelação dá uma forma a cada natureza de memória.
Uma frase banal, e nada por trás
A memória neural foi feita para um uso preciso: fala-se, e a aplicação retém o que merece ser retido, sem que seja preciso ditar-lho. Uma semana antes, a pesquisa tinha aprendido a seguir as ligações entre as memórias. Faltava o início da cadeia: o que entra.
O defeito foi constatado na base de dados, não adivinhado. Alguém tinha aberto a conversa com «olá, ouve, a minha mulher chama-se Claire, a minha filha tem onze anos e o meu filho dezoito». O modelo tinha respondido com gentileza, feito uma pergunta sobre os filhos, e não tinha criado memória nenhuma. Não uma em três: nenhuma. A frase abria com uma saudação, não continha nenhuma ordem, e trazia três informações de uma vez. Cada um destes traços faz um modelo de linguagem hesitar em chamar as suas ferramentas; juntos, bastavam para que não chamasse nenhuma.
Este defeito não se vê. Um lembrete que não fica marcado nota-se logo: nada aparece no ecrã. Um facto que não fica retido descobre-se três semanas depois, quando se pergunta «como é que se chama a minha mulher, para a reserva?» e a resposta é uma pergunta. E a aplicação tinha escolhido desde o início não dizer «anotado» a cada informação deixada cair na conversa. O silêncio era intencional; tornava o defeito invisível.
Fim de tarde: lembra-me, lembra-te
A primeira mudança é uma questão de gramática. «Lembra-me na quinta de pagar a renda» e «lembra-te de que o código do portão é 4820» diferem numa palavra, e essa palavra muda tudo. A primeira pede uma ação a uma hora futura: um lembrete, marcado na agenda, com uma notificação e uma breve confirmação em voz alta. A segunda não pede nada a uma hora futura. Pede para saber. É memorização pura, e produz um facto, não um lembrete.
Até então, as instruções tratavam as duas da mesma forma, e o desfecho dependia do humor do modelo: ora um lembrete sem data, que não serve para nada, ora um «anotado» sem nada por trás. Uma pergunta decide agora: a pessoa espera alguma coisa num dado momento? Sim, é um lembrete. Não, é um facto.
E um facto retém-se em silêncio. O modelo não diz «anotado», reage ao que acabaram de lhe dizer, como alguém que ouve. A mesma regra vale para as informações sensíveis, um código, um identificador: retidas sem pedir confirmação e sem comentários. É decisão da pessoa confiá-las, não cabe à aplicação comentá-las.
Dezoito horas: contar os factos de uma frase
O coração do dia é a frase com três informações. Foram dadas duas respostas, uma nas instruções, outra no código, porque a primeira não bastava.
Do lado das instruções, a regra tornou-se explícita: um de cada vez. Quando uma frase contém vários factos ou várias pessoas, o modelo cria tantas memórias quantos os elementos distintos. Nunca os funde, nunca esquece nenhum. Uma saudação não o dispensa de nada: pode responder com simpatia, tem de reter na mesma. E antes de responder, uma pergunta: quantos factos distintos há no que acabei de ouvir?
Esta instrução ajuda. Não garante nada. Um modelo de linguagem segue uma instrução com uma probabilidade, não com uma certeza, e para uma informação que nunca se ouvirá duas vezes, uma probabilidade não chega. Era precisa uma salvaguarda no código.
Essa salvaguarda é uma segunda passagem. Assim que o modelo principal respondeu e as suas ferramentas correram, um verificador recebe duas coisas: a frase do utilizador, tal e qual, e a lista do que já foi retido durante esse turno. Tem uma única tarefa: detetar os factos e as pessoas que a frase continha e que a lista não cobre, e acrescentá-los. Dispõe de uma única ferramenta, a que cria uma memória, restrita a dois tipos: um facto ou uma pessoa. Nunca cria um lembrete, um evento, um memo nem uma tarefa. Essas coisas são visíveis e continuam a ser assunto da primeira passagem. O verificador só corrige a memória silenciosa.
Tem outras proibições. Não fala: se não tem nada a acrescentar, não devolve nada. Nunca faz aparecer uma ficha. Não duplica: a lista do que já existe está lá para isso. E só cria quando tem a certeza: um nome que podia ser uma alcunha, e abstém-se. Não inventa nada que não esteja na frase.
O que recupera segue o mesmo caminho que o resto e junta-se à lista das criações do turno. Se falha, o turno não falha: o erro vai para os registos, a pessoa nunca ouve falar dele. O preço é uma chamada a mais por turno de fala, e um pouco de espera. É o preço de uma memória que não deixa passar uma frase.
Dezanove horas: três formas de reter
O passo seguinte pôs palavras numa distinção que a aplicação praticava sem a nomear. Os trabalhos sobre a memória humana descrevem há muito sistemas distintos para o que se sabe, o que se viveu e o que se tem para fazer. As instruções do modelo começam agora por aí.
Há o que se sabe: os factos duradouros sobre a pessoa e o seu mundo, um nome, uma profissão, uma alergia, um código. É o conhecimento de que o modelo se servirá nas próximas trocas, e retém-se sempre em silêncio. Nunca uma ficha, nunca um «anotado».
Há o que se viveu: os eventos e as memórias situados no tempo. A sua visibilidade depende do caso. Um evento com data é mostrado, porque a pessoa planeia e precisa de ver. Uma memória deixada cair de passagem, «ontem fizemos isto», não é mostrada, a não ser que a pessoa queira claramente consultá-la mais tarde.
E há o que se tem para fazer: as tarefas e os lembretes, sempre visíveis. A pessoa espera ver e ser avisada.
A pergunta a fazer antes de cada memória decorre daí: esta informação, retenho-a, ou mostro-a? Por defeito, retém-se. A mesma distinção vale para o resumo que aparece quando várias coisas são criadas de uma vez: só contam as criações visíveis. Dois factos retidos em silêncio durante uma conversa banal já não fazem surgir uma ficha que ninguém pediu.
Procurar amplamente, e manter a vizinhança quente
A segunda metade desse passo diz respeito ao momento inverso: quando a pessoa pede algo que depende da memória. «Como é que se chama a minha filha?», «onde é que guardei o passaporte?».
Uma memória viva não responde a estas perguntas procurando uma única linha. Um pedaço de memória acende ali o todo: dizer «a minha mulher» traz de volta o nome, mas também o aniversário, a viagem de março, a alergia. As instruções pedem agora ao modelo que faça o mesmo. Em vez de uma única pesquisa, lança duas ou três em paralelo, por ângulos diferentes: pela pessoa mencionada, pelo tema, pela semelhança de sentido. Depois cruza os resultados. «Disseste-me que estiveste em Roma com a Claire em março» junta um evento, uma pessoa e a ligação entre os dois; a resposta é a síntese, não uma memória isolada.
E o que a pesquisa encontra deixa um rasto. Depois de cada pesquisa que encontra pelo menos uma memória, uma tarefa de fundo atualiza a data da última menção dos três melhores resultados e dos seus vizinhos diretos no grafo das ligações, no máximo dois vizinhos por resultado. Nove memórias no máximo, deliberadamente poucas, para não falsear a ordenação da tarefa que arruma a memória. O efeito: o tema de que se acabou de falar, e o que o rodeia, fica na memória de trabalho para os turnos seguintes. Esta propagação corre em segundo plano; a resposta não fica mais lenta por causa disso.
Uma forma para cada natureza de memória
A constelação, esse mapa em que cada memória é um ponto e cada ligação um fio, recebeu na mesma noite uma distinção visual que faltava. Até então, todos os pontos eram círculos.
Cada ponto mantém o seu halo e o seu brilho, idênticos para todos. Mas o centro do ponto tem agora uma forma que diz a sua categoria. Um círculo cheio para um facto. Um círculo orlado de branco para uma pessoa. Um losango para um evento. Um hexágono para um memo, a forma de uma nota que se consulta. Um triângulo apontado para cima para uma tarefa. Um pequeno losango vazio para um lembrete, um sinal pontual. E uma estrela para os temas, essas memórias de um género à parte nascidas uma semana antes, que não contam nada por si mesmas e apontam para as outras. Uma legenda por baixo do mapa recorda o código, e as três categorias tornam-se legíveis num relance: os círculos são o conhecimento, os losangos e os hexágonos o vivido, os triângulos e os losangos vazios o que falta fazer.
Passa das dezanove: a vinheta que traía o silêncio
A última mudança do dia veio de um teste de voz, e é pequena. Por baixo de cada resposta do assistente, quando algo foi criado durante o turno, uma vinheta propõe abrir a ficha. Mas a vinheta aparecia também quando o modelo tinha retido em silêncio um facto ou uma pessoa ao longo de uma conversa banal. A conversa era banal, a resposta era banal, e uma vinheta «Abrir a ficha» dizia o contrário: algo foi guardado, vem ver. Era exatamente o «anotado» que nos tínhamos proibido de pronunciar, escrito no ecrã.
O servidor relê por isso, no fim do turno, a natureza do que foi criado, e só transmite ao telemóvel as memórias visíveis. Um facto retido em silêncio continua silencioso até ao fim.
O mesmo teste tinha revelado outro vício. Quando os três membros da família são conhecidos e a pessoa conta «fomos em família à praia na semana passada», o modelo tendia a copiar para a memória do fim de semana tudo o que as fichas das pessoas já diziam: o nome da mulher, a idade da filha, a idade do filho. As instruções estabelecem agora uma regra: o texto de um evento descreve o evento, onde, quando, o que aconteceu; as pessoas são referenciadas à parte, pelo nome, e é esse campo que trará de volta as suas fichas na hora de recordar. O teste a fazer: se esta memória desaparecesse e eu voltasse a perguntar à pessoa, o que é que ela me diria de novo? Só isso vai para o texto. O resto sai do cruzamento.
O que o dia terá ensinado
O 18 de maio não tornou a memória maior. Tornou-a mais fiel à forma como ouvimos. Não se retém um nome como se retém um compromisso. Uma frase pode conter três coisas a guardar, e é preciso contá-las. Uma pista parcial deve acender uma vizinhança, não uma linha. E o que se retém em silêncio deve continuar assim, até nos pequenos sinais da interface.
O verificador é talvez a peça mais reveladora desse dia. Transforma uma instrução, que o modelo segue na maior parte das vezes, numa garantia, que o sistema cumpre sempre. Para uma informação que só se ouvirá uma vez, a diferença entre a maior parte das vezes e sempre é toda a diferença.
No dia seguinte, outro dia iria ocupar-se do fio da conversa em curso, essa memória curta que se perdia a cada ecrã apagado. Mas desde 18 de maio, «olá, a minha mulher chama-se Claire, a minha filha tem onze anos e o meu filho dezoito» deixa três memórias, em silêncio, e «como é que se chama a minha mulher?» recebe uma resposta, com o que a rodeia.
