MemAware – benchmark para medir se agentes de IA sabem "o que eu sei"
(github.com/kevin-hs-sohn)Ao criar um sistema de memória para agentes de IA, encontrei uma limitação em comum nos benchmarks existentes.
LoCoMo, LongMemEval, MemoryAgentBench e outros benchmarks de memória existentes testam todos a mesma coisa: "é possível encontrar a resposta em conversas passadas?" Isso é um teste de desempenho de busca, não um teste de sistema de memória.
O difícil em agentes reais com múltiplas sessões é lembrar por conta própria de contextos passados que o usuário não mencionou.
Exemplo
Fácil — caso em que a sobreposição de palavras-chave permite encontrar por busca:
"Minha gata Luna continua arranhando o sofá novo. Pode recomendar um método de treinamento?"
→ É preciso lembrar que Luna é a gata do usuário
Médio — mesmo domínio, mas com palavras-chave diferentes:
"Para chegar à reunião das 8h30, que horas devo colocar o alarme?"
→ É preciso lembrar do trajeto de ida de 45 minutos mencionado 6 semanas antes. Se buscar por "alarme reunião", a conversa sobre deslocamento não aparece
Difícil — conexão entre domínios totalmente diferentes:
"Pedi meu histórico escolar da faculdade de 2010, mas disseram que não há registro com meu nome atual."
→ É preciso lembrar que o usuário mudou o sobrenome de Johnson. "Histórico escolar" e "mudança de nome" não compartilham nenhuma palavra-chave
Resultados
Baseline para 900 perguntas (300 de cada nível de dificuldade):
| Método | Fácil | Médio | Difícil | Geral |
|---|---|---|---|---|
| Sem memória | 1.0% | 0.7% | 0.7% | 0.8% |
| Busca BM25 | 4.7% | 1.7% | 2.0% | 2.8% |
| BM25 + busca vetorial | 6.0% | 3.7% | 0.7% | 3.4% |
Principais descobertas:
- A busca BM25 quase não ajuda. Melhora mínima de 0.8% → 2.8%, consumindo 5x mais tokens
- A busca vetorial também fica em 0.7% no nível Difícil — igual a não ter memória. Similaridade semântica não consegue ligar "pedido de histórico escolar" → "mudança de nome"
- A estratégia de "buscar sempre" só desperdiça custo. Consome ~4.7K tokens por pergunta, mas na maior parte traz ruído irrelevante
Hoje, memórias baseadas em RAG (ChatGPT Memory, Mem0, MemGPT etc.) seguem todas o padrão de "buscar toda vez", e os dados mostram que isso tem um limite estrutural quando se trata de contexto implícito.
É baseado nos dados de sessão do LongMemEval (ICLR 2025, licença MIT) e tem uma estrutura de plugin para testar seu próprio sistema de memória.
Quero ouvir opiniões sobre abordagens que consigam resolver o nível Difícil.
Ainda não há comentários.