Apresento DREAM: Uma nova arquitetura para memória em sistemas de Inteligência Artifical
Recentemente publiquei um paper propondo uma arquitetura de memória para IAs que resolve um problema real: LLMs não tem memória de longo prazo que seja útil, barata e escalável.
Essa arquitetura se chama DREAM (Dynamic Retention Episodic Architecture for Memory).
Mas o que de fato é o DREAM?
É um design pattern para construir memória em sistemas de IA combinando:
- memória episódica (capítulo de interação)
- memória semântica (resumos + banco vetorial)
- retenção dinâmica (TTL aumenta quando o usuário revisita o tema)
- orquestrador para decidir o que buscar, guardar ou descartar
A ideia é simples: lembrar o que importe, quando importa.
E por que isso importa?
Bom no cenário atual as LLMs sofrem com:
- contexto limitado
- histórico caro
- memória que não escala
- dificuldade em manter personalização
E é ai que entra o DREAM, ele resolve esses problemas usando tecnologias que já existem, sem depender de criar uma nova tecnologia ou de AGI por exemplo.
Vale lembrar que o paper passou por algumas revisões e foram levantados alguns pontos que são interessantes, vou aqui listar os pontos que foram levantados para que vocês também tenham essa visão:
- Um dos grandes limitadores é a qualidade do sumario, se a qualidade for boa, a memoria retorna dados mais condizentes: o que casa perfeitamente com um dos fatores mais sensíveis em qualquer arquitetura de memória baseada em compressão. O DREAM tenta mitigar isso ao tratar cada Episodic Unit como um artefato explícito, com opt-in e possíveis metadados. Porém eu concordo com o ponto levantado nessa questão (modelos de sumarização mais robustos e pipelines de validação podem elevar bastante a qualidade final).
- O TTL neste primeiro paper é ajustado apenas quando o usuário acessa aquela memória, ou seja, quando se visita a memória o tempo de vida dela aumenta. Sim devo concordar que existe um espaço para um mecanismo complementar no nível do tópico, onde vários EUs relacionados compartilhem um contador de relevância mais global.
- No paper eu cito o Cassandra, porém é apenas para exemplificar, o DREAM é agnóstico de tecnologia, em uma próxima versão abordarei melhor esse assunto, porém vale ressaltar que no repositório do GitHub tem alguns exemplos utilizando outros bancos.
- No paper a busca é feita apenas pelos embedding (semântica), porém o DREAM não restringe o método de busca. A implementação base usa embeddings apenas como baseline, mas o padrão é totalmente compatível com outros meios de busca (GraphRAG, AgentivRAG, etc.).
- Outro ponto é que o DREAM pode "rodar por cima" de outros modelos de tratamento de memória (como uma infraestrutura de memória compartilhada, por exemplo). O DREAM trata de como um sistema de memória deveria pensar memória (episódica, semântica, retenção dinâmica), porém existem outras soluções que descrevem onde essas memórias vivem e como modelos diferentes podem consumi-las com baixo custo. Abrindo margem para discussões nesses tópicos, inclusive integrando o DREAM com essas tratativas de memória.
Gostaria de salientar que o DREAM é agnóstico de tecnologia, ele é um design pattern que pode ser aplicado em diferentes tecnologias.
Por fim gostaria de deixar aqui dois links:
Página do paper com DOI: https://zenodo.org/records/17619917
Repositório no GitHub: https://github.com/MatheusPereiraSilva/dream-architecture
Gostaria muito de ver a opinião de vocês, sugestões, críticas, tudo é bem vindo.



