Quarq Agent: 98,2% no LongMemEval com um agente que lembra

Quarq Agent: 98,2% no LongMemEval com um agente que lembra
98,2%de acertos no LongMemEval-S (491 de 500)
3modelos especializados em vez de um
4datas diferentes para cada lembrança
~US$ 2.500custa uma rodada completa do teste
Quarq Agent scores 98.2% on LongMemEval: how to build an agent that actually remembers
Também explico isso neste vídeo de uns treze minutos, em inglês, no meu canal Articulator EN. Este vídeo não tem versão em português, mas você pode ativar as legendas traduzidas automaticamente.

O exame: LongMemEvallink

O LongMemEval mede a memória de longo prazo dos assistentes de chat. A versão S tem 500 perguntas, e antes de cada uma o sistema lê um palheiro de umas cinquenta sessões de conversa; a resposta está escondida em alguma delas. No total, são uns 57 milhões de tokens, cerca de 115 mil por pergunta.

O palheiro de uma pergunta: cinquenta sessões de conversa numa grade: a resposta está em alguma delas.
Cada pergunta esconde a resposta em umas cinquenta sessões.

As perguntas são de seis tipos. Três olham para uma única sessão: algo que o usuário disse, algo que o assistente respondeu e uma preferência mencionada de passagem. As outras três são mais difíceis: juntar dados de várias sessões, saber qual é a versão atual de algo que mudou e raciocinar com datas («quanto tempo faz que aconteceu?»).

E por que não colocar a conversa inteira no contexto e pronto? Porque não funciona. Na tabela do artigo, o GPT-4o com todo o histórico na frente acerta só 60,2%; se você der apenas as sessões que contêm a resposta (o «oráculo»), 82,4%. Lembrar não é ler tudo: é encontrar o que importa.

Barras: contexto completo com GPT-4o, 60,2%; oráculo, só as sessões com a resposta, 82,4%; Quarq Agent, 98,2%.
Dar tudo ao modelo não lhe dá memória.

Os resultadoslink

O Quarq Agent acerta 491 das 500 perguntas: erra só nove. São 98,2%. E consegue isso com a memória no seu próprio computador: um índice de vetores FAISS local e uma arquitetura de memória em camadas.

Por tipo, as três categorias de uma única sessão chegam a 100%. A de conhecimento que muda, a 98,7%, com um único erro. E as duas mais difíceis, várias sessões e raciocínio temporal, ficam em 97%, com quatro erros cada uma.

Acertos por tipo de pergunta: 100% nos três tipos de uma sessão, 98,7% em conhecimento que muda e 97,0% em várias sessões e em raciocínio temporal.
Os acertos por tipo. Atenção: a escala começa em 90%.

Na classificação que eles publicam, o segundo lugar é do Mastra (com GPT-5 mini), com 94,87%, seguido pelo Hindsight (com Gemini 3 Pro), com 91,4%. Vários sistemas com GPT-4o ficam entre 81,6% e 86%. O Quarq abre 3,3 pontos de vantagem.

A classificação do artigo: Quarq Agent 98,20%, Mastra OM 94,87%, Mastra OM com Gemini 93,27%, Hindsight 91,40%, EmergenceMem 86%, Mastra OM com GPT-4o 84,23% e Supermemory 81,60%.
A classificação do artigo, 3,3 pontos à frente do segundo.

O artigo destaca três coisas. Primeiro, o gerador (GPT-4.1) é menos capaz que os modelos mais recentes que muitos concorrentes usam. Além disso, o raciocínio temporal é a categoria mais difícil, e o protocolo deles ataca a falha mais comum: confundir quando um dado foi guardado com quando aconteceu. E por fim, tudo roda localmente, enquanto quase todos os outros dependem de bancos de vetores na nuvem.

Com cautelalink

Vale a pena olhar a comparação com cautela. Cada equipe monta a própria avaliação, com o próprio juiz e os próprios modelos: a Quarq julga as respostas com o GPT-5. E nos gráficos do próprio artigo, os números de alguns concorrentes não batem totalmente com os da tabela: o Mastra aparece com 94,37% num e 94,87% no outro, e o Supermemory com 84,6% contra 81,6%.

Os números do Mastra e do Supermemory não batem entre os gráficos e a tabela do artigo.
Eles mesmos dizem que o resultado é provisório.

Eles mesmos avisam que o resultado é provisório: pode mudar quando as perguntas duvidosas forem repetidas e novas correções forem adicionadas.

A memória em três camadaslink

Por dentro, a memória tem três camadas:

  1. Semântica: fatos e histórico das interações, o que aconteceu, quando e quem estava.
  2. Procedural: regras de comportamento e de funcionamento.
  3. Episódica: experiências das conversas, com seu contexto.
Três faixas: semântica, com fatos datados; procedural, com regras; e episódica, com experiências das conversas.
Três camadas de memória, cada uma com seu tipo de lembrança.

Três modelos em vez de umlink

A maioria dos sistemas de memória usa um único modelo de linguagem para tudo: buscar, responder e gerenciar a memória. É como um homem-banda, que toca todos os instrumentos ao mesmo tempo e nenhum muito bem. A Quarq divide essas tarefas em três papéis, cada um com seu modelo:

Planejador (gpt-4o-mini)

Um modelo pequeno e barato. Antes de cada busca, prepara uma estratégia: reescreve a pergunta de várias formas parecidas, extrai as palavras-chave e escolhe um modo de busca de acordo com a complexidade da pergunta.

Gerador (gpt-4.1)

Recebe as lembranças encontradas, as regras procedurais e o histórico da conversa, e se dedica apenas a escrever a resposta.

Aprendiz (gpt-4.1)

Não despeja texto bruto na memória: faz edições pontuais. Adiciona fatos novos, atualiza os que ficaram velhos e apaga as contradições, olhando o que há nas outras camadas para não duplicar nada.

Três cartões: planejador com gpt-4o-mini, gerador com gpt-4.1 e aprendiz com gpt-4.1.
Três papéis, três modelos.
O aprendiz edita a memória: adiciona «corre aos domingos», troca «mora em Madri» por «mora em Lisboa» e apaga a contradição «odeia correr».
Adicionar, atualizar e apagar: edições pontuais, não texto bruto.

Buscar bem: HyDE e a busca híbridalink

O planejador usa o HyDE (Hypothetical Document Embeddings): em vez de buscar com a pergunta do jeito que ela é, imagina como seria um documento que a respondesse e busca com isso. É como o retrato falado da polícia: você não tem a foto do suspeito, mas um desenho aproximado ajuda a encontrá-lo no meio da multidão.

A pergunta do jeito que é encontra poucas lembranças no espaço de vetores; o documento imaginado encontra mais.
Buscar com a resposta imaginada encontra mais do que buscar com a pergunta.

Cada passada de busca combina quatro peças: similaridade de vetores, palavras-chave, filtros por metadados e uma validação temporal. Parecer no significado não basta: a lembrança também precisa conter o que importa e se encaixar no tempo.

Duas lembranças passam pelas quatro peças: uma parecida, mas sem as palavras-chave e de outra época, fica de fora; a que se encaixa em tudo, entra.
Parecer não basta.

E há dois modos. O preciso usa um limiar de similaridade de 0,38, para dados pontuais. O profundo baixa para 0,28, para lembrar com mais contexto. É a diferença entre pescar com vara e jogar a rede.

Dois espaços de vetores: o modo preciso, limiar 0,38, com um círculo pequeno e poucas lembranças; o profundo, limiar 0,28, com um círculo grande e muitas mais.
Um limiar mais baixo deixa entrar mais lembranças.

Uma busca que se corrige sozinhalink

E se o que ele encontra não for suficiente? Quando a primeira busca não dá provas suficientes para responder com segurança, o gerador pode pedir outra. O sistema então faz novas buscas com o limiar profundo, junta o novo com o que já tinha e reescreve a resposta com regras mais rígidas contra alucinações.

O gerador vê que as provas não bastam, pede outra busca com o limiar profundo, junta as lembranças novas e reescreve a resposta com regras anti-alucinação.
Duas passadas: o modelo pede provas melhores em vez de inventar.

A ideia de fundo é simples: o modelo pode pedir provas melhores em vez de inventar o que falta.

O protocolo da verdade temporallink

Raciocinar com o tempo é um dos problemas mais difíceis da memória de longo prazo. A Quarq separa quatro datas: a de armazenamento (quando a lembrança foi guardada), a do evento (quando aconteceu de verdade), a narrativa (a linha do tempo simulada do teste) e as relativas, como «semana passada», que são resolvidas na hora da busca.

Uma linha do tempo com o evento em 3 de fevereiro, o armazenamento em 24 de abril, a linha narrativa do teste e «semana passada» resolvida a partir de hoje.
Quatro datas diferentes para uma mesma lembrança.

Pense numa foto antiga que você guarda hoje numa caixa nova: a caixa diz 2026, mas a foto é da sua infância. Se perguntarem quanto tempo faz daquele verão, a resposta não pode sair da etiqueta da caixa. Por isso as regras estão gravadas no código: as marcas de tempo entre colchetes não são a data do evento; nunca se deduz uma data das lembranças vizinhas; nunca se supõe que duas lembranças sem relação falam da mesma coisa; e o «quanto tempo faz» é sempre calculado a partir do evento real.

As quatro regras do protocolo temporal num arquivo: três «nunca» e um «sempre».
Regras gravadas no código, sem exceções.

Fidelidade com os númeroslink

Com os números acontece algo parecido: os testes de memória castigam as contas descuidadas. Para totais, durações, preços, quantidades e contagens, a Quarq identifica quatro coisas: quem age, que ação é medida, sobre qual evento ou objeto e quanta exatidão é necessária. E descarta os números que só estão por perto ou falam do mesmo assunto: soma apenas os que cumprem todas as condições.

Um exemplo meu: se você pergunta quanto gastou em livros, não conta o que seu irmão gastou, nem o que você pagou pela estante.

Quanto gastei em livros? Somam-se o romance, o livro de receitas e o guia de viagem; o gibi do seu irmão e a estante ficam de fora.
Só soma o que se encaixa.

Aprender sem fazer você esperarlink

Para que você não perceba atrasos, o agente aprende em segundo plano, depois de cada resposta, com três salvaguardas: no máximo quatro tarefas de aprendizado ao mesmo tempo, novas tentativas persistentes que esperam cada vez mais entre uma e outra, e barreiras de sincronização durante a avaliação.

A conversa segue sem esperas enquanto o aprendizado roda em segundo plano, com suas três salvaguardas: no máximo quatro ao mesmo tempo, novas tentativas de 1, 2, 4 e 8 segundos e barreiras de sincronização.
O aprendizado acontece nos bastidores.

E é assim que se avalia: apaga-se toda a memória; as sessões do palheiro são passadas em blocos de oito mensagens, com o aprendizado ativado; espera-se o que estiver pendente terminar; faz-se a pergunta com o aprendizado desativado, e o GPT-5 decide se a resposta está certa ou errada.

Os cinco passos da avaliação: apagar a memória, o palheiro em blocos de 8, esperar o pendente, a pergunta sem aprender e o juiz.
Cinco passos por pergunta.

Cada peça nasceu de uma falhalink

A primeira versão do Quarq usava arquivos de texto simples, carregados inteiros no contexto a cada requisição. Funcionava mal, mas ensinou uma coisa: um único modelo não consegue otimizar ao mesmo tempo a qualidade da busca, a da resposta e o custo. Daí saíram quatro versões: a 0.1, com arquivos simples e um único modelo; a 0.2, com busca por vetores e uma memória mais bem organizada; a 0.3, com os três modelos, o editor de memória e o protocolo temporal; e a 0.4, com a busca que se corrige sozinha, já em código aberto e pronta para produção.

Quatro versões numa linha do tempo: v0.1.0, v0.2.0, v0.3.0 e v0.4.0, a que saiu em código aberto com licença Apache 2.0.
De arquivos simples à busca que se corrige sozinha.

E cada peça nasceu de uma falha concreta. O HyDE, de ver que buscar com um único vetor deixava lembranças importantes de fora. O protocolo temporal, de alucinações como responder «três semanas atrás» quando a resposta era «ontem». E a segunda passada, de modelos que inventavam respostas com total segurança em vez de admitir que faltava contexto.

Três linhas, falha e peça: um único vetor deixa lembranças de fora, HyDE; três semanas atrás quando era ontem, protocolo temporal; inventar com total segurança, segunda passada.
Cada peça nasceu de uma falha.

Teste você mesmolink

Junto com o agente, eles liberaram o programa com que rodaram o teste, o quarqlabs/benchmarks. Ele fica separado: conversa com o agente por HTTP, como qualquer cliente, em vez de importar o código dele, o que torna a avaliação mais fácil de reproduzir e de revisar por conta própria. Inclui o conjunto de dados limpo, avaliações que retomam de onde pararam, um registro do contexto recuperado, memória isolada para cada pergunta, execução em paralelo e um guia de custos. A meta: resultados reproduzíveis, em vez de números opacos numa classificação.

Para testar, estes são os comandos do artigo:

git clone https://github.com/quarqlabs/agent-oss
cd agent-oss
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# .env: OPENAI_API_KEY=sk-...  USER_ID=local_user  AGENT_ID=my_agent
python agent.py                      # o agente no terminal
uvicorn main:app --reload            # ou como servidor
curl -X POST http://127.0.0.1:8000/api/chat \
  -H "Content-Type: application/json" \
  -d '{"prompt": "What do you remember about me?"}'
python run_dataset_evals.py          # a avaliação completa
EVAL_WORKERS=4 python run_dataset_evals_parallel.py   # em paralelo
Um terminal com os comandos para clonar o repositório, iniciar o agente e o servidor, perguntar o que ele lembra e repetir a avaliação.
Os comandos do artigo.

Um aviso se você for procurar: hoje o repositório se chama quarqlabs/argus («Argus Agent»). A documentação avisa que uma rodada completa do LongMemEval-S custou cerca de US$ 2.500, uns cinco por pergunta, então é melhor começar com poucas. Tudo está publicado com licença Apache 2.0.

Em resumolink

O Quarq Agent chega a 98,2% no LongMemEval com uma arquitetura simples de propósito: três modelos especializados, busca híbrida local, regras rígidas para datas e números e uma segunda busca quando faltam provas.

Numa frase

Lembrar não é ler tudo: é encontrar o que importa, saber quando aconteceu e pedir mais provas antes de inventar.

O que você gostaria que o seu agente lembrasse?

Fonteslink

Continuar lendo

Últimos posts -->

Você viu esses projetos?

Gymnasia

Gymnasia Gymnasia
Expo
React Native
TypeScript
OpenAI
Anthropic

App de fitness com dois agentes que são executados integralmente no dispositivo, sem backend, de forma que os dados do usuário nunca saem do celular. Um coach conversacional BYOK com tools locais e system prompt remoto com fallback offline, e um estimador de refeições que tira os macronutrientes de uma foto do prato, com leitura de códigos de barras contra o OpenFoodFacts.

LangGraph Deep Researcher

LangGraph Deep Researcher LangGraph Deep Researcher
Python
LangGraph
FastAPI
React
TypeScript
Docker

Sistema multiagente de pesquisa construído com LangGraph. Um supervisor decompõe sua pergunta em tópicos e lança subagentes de busca em paralelo; cada um comprime seus achados antes de repassá-los a um agente redator que escreve o relatório final em markdown com suas fontes. Streaming ao vivo por WebSockets, modelo configurável por papel e chaves de API próprias que nunca são armazenadas no servidor.

Tau

Tau Tau
Python
LangChain

Sistema multiagente de tutoria para estudantes do ensino médio, com um agente por disciplina e material de curso elaborado e validado por uma equipe de professores. Chegou a ser usado com alunos reais em um colégio privado na Espanha e em uma escola de ensino médio na Colômbia.

Ver todos os projetos -->
>_ Disponível para projetos

Tem um projeto com IA?

Vamos conversar.

maximofn@gmail.com

Especialista em Machine Learning e Inteligência Artificial. Desenvolvo soluções com IA generativa, agentes inteligentes e modelos personalizados.

Quer assistir alguma palestra?

Últimas palestras -->

Quer melhorar com essas dicas?

Últimos tips -->

Use isso localmente

Os espaços do Hugging Face nos permitem executar modelos com demos muito simples, mas e se a demo quebrar? Ou se o usuário a deletar? Por isso, criei contêineres docker com alguns espaços interessantes, para poder usá-los localmente, aconteça o que acontecer. Na verdade, se você clicar em qualquer botão de visualização de projeto, ele pode levá-lo a um espaço que não funciona.

Flow edit

Flow edit Flow edit

Edite imagens com este modelo de Flow. Baseado em SD3 ou FLUX, você pode editar qualquer imagem e gerar novas

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
Ver todos os contêineres -->
>_ Disponível para projetos

Tem um projeto com IA?

Vamos conversar.

maximofn@gmail.com

Especialista em Machine Learning e Inteligência Artificial. Desenvolvo soluções com IA generativa, agentes inteligentes e modelos personalizados.

Você quer treinar seu modelo com esses datasets?

short-jokes-dataset

HuggingFace

Dataset com piadas em inglês

Uso: Fine-tuning de modelos de geração de texto humorístico

231K linhas 2 colunas 45 MB
Ver no HuggingFace →

opus100

HuggingFace

Dataset com traduções de inglês para espanhol

Uso: Treinamento de modelos de tradução inglês-espanhol

1M linhas 2 colunas 210 MB
Ver no HuggingFace →

netflix_titles

HuggingFace

Dataset com filmes e séries da Netflix

Uso: Análise de catálogo Netflix e sistemas de recomendação

8.8K linhas 12 colunas 3.5 MB
Ver no HuggingFace →
Ver mais datasets -->