O novo artigo da equipe Oppo AI Agent, "O-Mem", concentra-se na memória de agentes de IA em interações de longo prazo. O-Mem é uma estrutura de memória inovadora projetada para tornar os agentes de IA mais parecidos com "assistentes adaptativos", simulando os mecanismos da memória humana: ela pode construir perfis de usuário dinamicamente, suportar interações de longo prazo e recuperar informações relevantes de forma eficiente, em vez de simplesmente acumular registros históricos. O argumento central deste artigo é que os sistemas de memória de agentes de IA existentes apresentam limitações: tendem a ignorar informações do usuário semanticamente irrelevantes, porém cruciais, e introduzem ruído na recuperação de dados. O-Mem aborda essas questões por meio da "criação proativa de perfis de usuário", tratando cada interação como uma oportunidade para atualizar o modelo do usuário, alcançando assim um gerenciamento de memória mais preciso e econômico. Metodologia Central: Estrutura O-Mem O-Mem inspira-se na estrutura da memória humana, consistindo em três módulos complementares que formam um sistema de memória omnidirecional: • Memória de Persona: Armazena atributos e fatos de longo prazo sobre os usuários, como preferências, hábitos ou histórico (por exemplo, "O usuário gosta de café, mas é sensível à cafeína"). Utiliza o LLM para extrair atributos das interações e os mantém dinamicamente por meio de decisões de "adicionar/ignorar/atualizar". Os atributos são tratados com agrupamento por vizinho mais próximo aprimorado pelo LLM para garantir simplicidade. • Memória de Trabalho: Mapeia registros interativos por tópico para ajudar a manter a continuidade da conversa. Por exemplo, recupera trechos históricos relacionados a um tópico específico da consulta atual. • Memória episódica: Auxilia a recordação associativa, ligando eventos passados a palavras-chave ou pistas (como "aniversário"). Utiliza a pontuação de frequência inversa de documentos para selecionar as pistas mais exclusivas, evitando a interferência de palavras comuns. O processo de construção e recuperação da memória é altamente eficiente: para novas interações, o LLM extrai tópicos, atributos e eventos, e atualiza o mapeamento do dicionário. Durante a recuperação, três módulos trabalham em paralelo: a memória de trabalho busca conteúdo relacionado ao tópico, a memória de localização seleciona pistas para a recuperação e a memória de caracteres compara os atributos. Os resultados finais da recuperação são então combinados e inseridos no LLM para gerar uma resposta. Esse projeto evita a varredura completa do histórico, reduzindo o ruído e a sobrecarga computacional. Resultados experimentais e avaliação: A equipe testou o O-Mem em três benchmarks, demonstrando suas vantagens em desempenho e eficiência: • Teste de benchmark LoCoMo (consistência de diálogos longos): O-Mem alcançou uma pontuação F1 de 51,67%, uma melhoria de 3% em relação ao LangMem (48,72%), destacando-se particularmente em tarefas de raciocínio temporal e de múltiplos saltos. • Benchmark PERSONAMEM (diálogo personalizado usuário-LLM): 62,99% de precisão, 3,5% de melhoria em relação ao A-Mem (59,42%), liderando em rastreamento de preferências e capacidades de generalização. • Benchmark de pesquisa personalizada e aprofundada (consulta de usuário real): Alinhamento do usuário 44,49%, 8% superior ao Mem0 (36,43%). Em termos de eficiência, o O-Mem supera significativamente a linha de base: o consumo de tokens é reduzido em 94% (1,5 mil vs. 80 mil no LangMem), a latência é reduzida em 80% (2,4 s vs. 10,8 s) e o uso de memória é de apenas 3 MB/usuário (vs. 30 MB). Experimentos de ablação mostram que cada módulo contribui com valor de forma independente — por exemplo, o módulo de memória de pessoas pode reduzir o comprimento da recuperação em 77%, ao mesmo tempo que melhora o desempenho. A otimização de desempenho-eficiência de Pareto é comparável à compensação de recuperar diretamente o histórico original (RAG), mas a um custo menor. Discussão online do artigo:
Carregando detalhes do thread
Buscando os tweets originais no X para montar uma leitura limpa.
Isso normalmente leva apenas alguns segundos.
