90,8%
454 de 500 perguntas respondidas corretamente
90,0%
nas 440 perguntas nunca usadas para ajustar o chatcli
469 / 470
perguntas em que a busca do chatcli trouxe a evidência
22 s · US$ 0,08
tempo mediano e custo médio por pergunta
A história por trás dos números
O artigo no LinkedIn mostra as 500 perguntas, as falhas reais, os bugs que a rodada encontrou e o que mudou depois.
O que é o LongMemEval
O LongMemEval é um benchmark do artigo LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory (Di Wu, Hongwei Wang, Wenhao Yu, Yuwei Zhang, Kai-Wei Chang e Dong Yu, ICLR 2025). São 500 perguntas curadas à mão. Cada pergunta vem com o próprio histórico de sessões de chat, com data e hora. Na variante S, esse histórico tem cerca de 115 mil tokens, umas 40 a 50 sessões de conversa do dia a dia, e a evidência da resposta está escondida em algum lugar ali dentro. As perguntas testam cinco habilidades:Por que importa
- É difícil de propósito. O artigo relata que assistentes comerciais e LLMs de contexto longo perdem 30% de acurácia ao memorizar informação ao longo de interações contínuas. Uma janela de contexto maior, sozinha, não resolve.
- Testa a falha que o usuário de fato vê. Um assistente que esquece uma correção, mistura duas viagens ou inventa uma resposta que nunca recebeu perde a confiança rápido. O LongMemEval mede cada um desses casos separadamente.
- É reproduzível. O dataset, as perguntas, as respostas de referência e os prompts do juiz são públicos (MIT), então qualquer pessoa pode rodar de novo e comparar.
Como o chatcli foi testado
O objetivo era testar o chatcli do jeito que você o usa, não testar o modelo. Nada foi colado no prompt. O histórico de cada pergunta virou sessões salvas do próprio chatcli, e ele teve que achar a evidência com as ferramentas de memória dele.1
Uma instalação isolada por pergunta
Um
CHATCLI_STATE_DIR novo guarda o histórico da pergunta como sessões salvas; a data de modificação de cada arquivo é a data da sessão. Sua memória real nunca se mistura, e seu login é reaproveitado no lugar via CHATCLI_AUTH_DIR.2
O relógio no dia da pergunta
O
CHATCLI_NOW é a data da pergunta, então “há duas semanas” significa duas semanas antes da pergunta, não antes da execução.3
O chatcli responde sozinho
chatcli -p "/coder …" com Claude Sonnet 5.5 e uma única instrução neutra: responda pelas nossas conversas anteriores e diga se elas não têm a resposta. O chatcli decide quais tools chamar.4
O juiz oficial
Cada resposta é avaliada com os prompts oficiais de verificação do LongMemEval, sem alteração, rodando com Claude Sonnet 5.5.
Resultados
454 de 500 corretas: 90,8% (intervalo de confiança de 95%: 87,9% a 93,0%). Pela média dos seis tipos de pergunta, em que cada tipo pesa igual: 92,2%.Nota fora da amostra de ajuste
Antes da rodada completa, uma amostra de 60 perguntas (10 por tipo, semente fixa) foi usada para achar e corrigir fraquezas do chatcli. Essas 60 deram 96,7% na rodada final, então não são um teste neutro. Nas outras 440 perguntas o chatcli acertou 396/440 = 90,0% (IC 95% de 86,8% a 92,5%), com a mesma média por tipo de 92,2%. É o número conservador.Onde falha
A rodada registra, para cada pergunta, quais sessões salvas contêm a resposta segundo o gabarito do dataset e se essas sessões chegaram ao modelo. Isso separa achar de raciocinar.- Contar entre sessões (várias sessões, 22 falhas): “Quantos projetos concluí desde que comecei as aulas de pintura?” — o chatcli achou 4 dos 5.
- Aritmética e ordem de datas (temporal, 16 falhas): “Qual livro terminei primeiro?” quando uma sessão diz “no fim de semana passado” e outra “acabei de terminar”.
- Cautela demais: em 9 perguntas a evidência estava diante do modelo e ele respondeu “isso não está nas nossas conversas”.
- Ousadia demais: em 3 das 30 perguntas sem resposta ele chutou em vez de recusar.
Duas das 46 falhas tiveram outra causa, achada lendo os transcripts: uma busca por “St. Mary’s Church” levou um apóstrofo sem escape que cortou a tool call. Esse bug do parser está corrigido no #1842, e as duas perguntas passam quando rodadas de novo. Os 90,8% acima são a nota medida, sem essa correção.
Custo e velocidade
O chatcli usou
@session search 1.068 vezes, @session get 967 vezes e @memory recall 344 vezes. Em 66 perguntas ele limitou as buscas por data por conta própria, com os flags from, to e as_of da busca de sessões (137 chamadas). Ele nunca foi à web.
O que o benchmark mudou no chatcli
Rodar o LongMemEval achou bugs reais, e cada um foi corrigido no próprio chatcli, não no teste:
Na amostra de 60 perguntas, essas mudanças levaram raciocínio temporal de 8/10 para 10/10, fatos atualizados de 8/10 para 9/10 e várias sessões de 9/10 para 10/10, sem nenhuma pergunta piorando.
Lendo os números com honestidade
Não comparável diretamente com notas julgadas pelo GPT-4o
Não comparável diretamente com notas julgadas pelo GPT-4o
O juiz de referência do artigo é o GPT-4o. Esta rodada usou os mesmos prompts oficiais com o Claude Sonnet 5.5 como juiz, então a nota não é diretamente comparável com números de leaderboard julgados pelo GPT-4o.
As 60 perguntas de ajuste
As 60 perguntas de ajuste
A amostra de 60 perguntas orientou as correções acima. Os 90,0% nas outras 440 são o número que nunca foi visto durante o ajuste.
Uma execução por pergunta
Uma execução por pergunta
Modelos variam entre execuções. Uma pergunta no limite pode virar para um lado ou para o outro numa nova rodada.
O que significa 'evidência trazida'
O que significa 'evidência trazida'
O nome de uma sessão de evidência apareceu no que o modelo viu: resultados de busca, o bloco de auto-recall ou uma página que ele leu. Mostra que a busca chegou à conversa certa, não que o modelo leu a frase exata.
Os nomes das sessões têm data
Os nomes das sessões têm data
As sessões salvas se chamaram
chat-<data>-<índice>; os ids do próprio dataset revelariam quais sessões têm a resposta. A data no nome é a mesma informação que todo resultado de busca mostra.Os dados
Tudo da rodada é público no repositório do chatcli, emevals/longmemeval: