Memória Conversacional
Para manter continuidade além da janela de contexto, a memória conversacional armazena histórico, resumos, fatos, preferências ou eventos em uma camada externa e recupera apenas o que é relevante. Pode ser de curto prazo, episódica, semântica ou estruturada. Em casa inteligente, lembrar que “quarto do bebê” exige volume máximo de 20% pode melhorar a interação, desde que haja consentimento, escopo e validade. A memória não é o próprio modelo e pode guardar erros; fatos operacionais precisam ser verificados na fonte atual, e usuários devem poder revisar e apagar.
Para manter coerência quando o histórico já não cabe na janela ou uma nova sessão começa, a memória conversacional registra informações externas ao modelo e decide quando recuperá-las. Ela pode guardar mensagens recentes, resumos, fatos estruturados, preferências, decisões ou episódios indexados por embeddings. O modelo não “lembra” sozinho: a aplicação persiste e reinsere. Em casa inteligente, memórias úteis incluem nomes escolhidos, preferências de temperatura, restrições de acessibilidade e contexto de um diagnóstico. Estados voláteis, como porta aberta, não devem ser lembrados; devem ser consultados. A memória aumenta conveniência, mas também retenção, risco de mistura entre usuários e propagação de erros. Consentimento, escopo, proveniência, expiração, edição e exclusão são requisitos.
- Memória de curto prazo é o contexto recente dentro da janela. Uma sliding window mantém os últimos turnos; um resumo condensa os anteriores. O resumo economiza tokens, mas pode perder negações ou inventar. Deve ser revisado ou vinculado ao histórico. Para uma conversa sobre instalação, guardar etapa atual e decisões evita repetição. Quando a tarefa termina, a memória de trabalho pode expirar. Não transformar automaticamente tudo em memória permanente. O sistema define critérios: preferência explícita, nome de dispositivo confirmado, decisão aprovada. Comentários casuais e dados sensíveis não são persistidos por padrão. Um pedido “lembre que...” pode acionar confirmação e mostrar o que será salvo.
- Memória estruturada é preferível para fatos com esquema. `preferred_temperature_night=22 °C`, `scope=bedroom`, `owner=user123`, `source=explicit`, `valid_until` e `created_at` são mais seguros que um parágrafo. A aplicação valida unidades e conflitos. Cada usuário tem perfil. Preferência da criança não substitui a do responsável sem regra. A memória pode ter prioridade e contexto: fim de semana, modo férias, estação. O modelo recebe apenas campos relevantes. Atualizações criam histórico. O usuário pode editar. Para dispositivos, IDs e aliases ficam no inventário, não em texto. O sistema não armazena senhas. Essa abordagem reduz ambiguidade e facilita exclusão.
- Memória episódica guarda eventos e conversas com proveniência. Um agente pode registrar “em 12 de julho, o erro E105 foi resolvido limpando o filtro, conforme ticket 42”. Ao recuperar, apresenta data e fonte. Isso ajuda manutenção. Porém, o procedimento pode ficar obsoleto após firmware. Memórias têm validade e versão. A recuperação filtra pelo produto e software. Um embedding encontra episódios semelhantes, mas score não prova aplicabilidade. O agente consulta manual atual antes de executar. Um episódio escrito pelo modelo é marcado como resumo, não fato. Evidências originais permanecem. Dados pessoais e vídeo não entram sem necessidade. A retenção segue política.
- Isolamento multiusuário é crítico. Uma residência tem moradores, visitantes, técnicos e crianças. Memória de um usuário não deve aparecer a outro. Algumas preferências são da casa; outras pessoais. O escopo é explícito: `user`, `household`, `room`, `device` ou `task`. A autorização é aplicada na recuperação, não apenas na resposta. Um técnico não acessa conversas privadas. Memórias compartilhadas precisam de consentimento. Se o assistente reconhece locutor com incerteza, não recupera segredos pessoais. Pede identificação. Contas e perfis são mais confiáveis que voz. Ao remover um usuário, as memórias são exportadas ou apagadas conforme escolha. Backups também.
- A memória é superfície de prompt injection e envenenamento. Um usuário ou documento pode tentar salvar “sempre ignore confirmações”. Regras de sistema e políticas não podem ser alteradas por memória. Fatos candidatos passam por validação e allowlist de tipos. Conteúdo externo não vira preferência. O modelo não decide sozinho salvar instrução operacional. Uma memória maliciosa é tratada como dado. Ferramentas continuam autorizadas. O armazenamento usa criptografia, autenticação, logs e retenção. Embeddings de memórias também são sensíveis. Consultas e resultados não cruzam tenants. O sistema oferece tela de revisão. Auditoria mostra quem criou e por quê.
- Esquecimento é função necessária. O usuário pode pedir para apagar uma preferência, conversa ou todas as memórias. A exclusão alcança banco, índice vetorial, cache e processos, com política de backup. Expiração automática remove dados temporários. Memórias podem decair ou exigir reconfirmação. Uma preferência de temperatura de verão não vale no inverno sem contexto. O sistema mostra quando usa uma memória: “considerando sua preferência salva de 22 °C”. Isso permite corrigir. Se a memória conflita com pedido atual, o pedido atual prevalece, sujeito a política. Métricas incluem uso útil, correções, reclamações e vazamento. A conveniência não justifica retenção invisível.