Pular para o conteúdo

Medido, não prometido.

A Niadra e a Mem0 rodam lado a lado, na mesma região, com o mesmo modelo de extração, o mesmo embedder e o mesmo agente respondendo. O script é aberto e cada número desta página vem de um arquivo de resultado publicado.

Execução de 25/09/2026 em us-east-2, máquina m7i-flex.large, 3 repetições. Niadra 2026.09.25-1400-5d4d64b, SDK 0.1.5, Mem0 v2.2.0 (mem0ai 2.2.0). Arquivos desta execução

Os números da última execução

Latência do contexto, p95 a 10 leituras por segundo
Niadra
78 ms
Mem0 código aberto
178 ms
Tokens no prompt por turno, mediana
Niadra
236
Mem0 código aberto
165
Mem0 código aberto com rerank
24
Acerto com o mesmo ID em todos os canais
Niadra
45,4%
Mem0 código aberto
67,8%
Mem0 código aberto com rerank
40,4%
Dado sensível entregue sem verificação
Niadra
0 de 32
Mem0 código aberto
27 de 32
Mem0 código aberto com rerank
21 de 32
  • Niadra
  • Mem0 código aberto
  • Mem0 código aberto com rerank
  • Mem0 Platform
  • Histórico inteiro no prompt (referência)
  • Sem memória (referência)

Latência do contexto antes da chamada ao modelo

Tempo até o agente ter a memória em mãos, p95 de cada taxa, medido pelo cliente. A barra é a mediana das repetições; o traço, a menor e a maior. Menor é melhor.

10 leituras por segundo, durante 30 s

  • Niadra
    pelo endereço público, com TLS
    294 ms
  • Niadra
    de dentro do cluster
    78 ms
  • Mem0 código aberto
    de dentro do cluster
    178 ms

25 leituras por segundo, durante 30 s

  • Niadra
    pelo endereço público, com TLS
    495 ms
  • Niadra
    de dentro do cluster
    533 ms
  • Mem0 código aberto
    de dentro do cluster
    17.248 ms
A mediana do p95 da Niadra de dentro do cluster fica em 78 ms a 10 leituras por segundo, mas chegou a 2.623 ms numa das três repetições. Causa mais provável: a mesma máquina m7i-flex.large atende a produção, o harness e a Mem0, e durante a execução o serviço de leitura da Niadra não conseguiu ganhar réplicas porque a memória do nó estava toda reservada.
Ver os números em tabela
Latência do contexto antes da chamada ao modelo
SistemaCaminhoLeituras por segundop50p95p99Erros / enviadas
Niadrapelo endereço público, com TLS1054 ms294 ms726 ms19 / 900
Niadrapelo endereço público, com TLS2591 ms495 ms1.493 ms0 / 2.250
Niadrade dentro do cluster1037 ms78 ms423 ms0 / 900
Niadrade dentro do cluster2524 ms533 ms814 ms0 / 2.250
Mem0 código abertode dentro do cluster1090 ms178 ms276 ms0 / 900
Mem0 código abertode dentro do cluster259.902 ms17.248 ms18.278 ms448 / 2.250

Acerto na continuidade entre canais

Parte dos cenários válidos em que o agente respondeu certo, pela nota do juiz. As duas referências marcam o chão e o teto. Maior é melhor.

Mesmo ID em todos os canais

  • Niadra
    45,4%
  • Mem0 código aberto
    67,8%
  • Mem0 código aberto com rerank
    40,4%
  • Histórico inteiro no prompt (referência)
    100%
  • Sem memória (referência)
    10,1%

ID de cada canal

  • Niadra
    45,4%
  • Mem0 código aberto
    31,6%
  • Mem0 código aberto com rerank
    20,7%
  • Histórico inteiro no prompt (referência)
    100%
  • Sem memória (referência)
    10,1%

Acerto por categoria, mesmo ID em todos os canais

Acerto por categoria, mesmo ID em todos os canais
CategoriaNiadraMem0 código abertoMem0 código aberto com rerankHistórico inteiro no prompt (referência)
Continuidade97,5%97,5%62,5%100%
Identidade2,5%92,5%40%100%
Recorrência21,7%69,6%21,7%100%
Ordem e tempo0%62,5%18,8%100%
Promessa e ação79,3%82,8%41,4%100%
Privacidade84,4%3,1%21,9%100%
Fato que mudou25%50%53,1%100%
A Niadra perde para a Mem0 com o mesmo ID em todos os canais (45,4% contra 67,8%) e ganha quando cada canal manda o próprio ID (45,4% contra 31,6%). Causa mais provável: o modelo que decide se uma sessão merece extração pulou sessões curtas que traziam o fato perguntado, e o contexto da Niadra só trazia a resposta em 46,4% dos casos; em identidade (2,5%) e em ordem e tempo (0%) o fato quase nunca chegou ao contexto. A faixa da Mem0 desce a 19,4% na terceira repetição, em que a busca dela voltou vazia na maior parte das perguntas: o índice HNSW do pgvector filtra por usuário depois da busca aproximada, e a tabela já guardava os clientes das repetições anteriores.
Ver os números em tabela
Acerto na continuidade entre canais
SistemaCenárioJuizVerificação exataCenários válidos
Niadra45,4%46,7%227
Mem0 código abertoMesmo ID em todos os canais67,8%70%227
Mem0 código abertoID de cada canal31,6%36,6%227
Mem0 código aberto com rerankMesmo ID em todos os canais40,4%41,7%227
Mem0 código aberto com rerankID de cada canal20,7%24,2%227
Histórico inteiro no prompt (referência)100%100%227
Sem memória (referência)10,1%14,1%227

Custo e acerto

Custo por mil conversas contra o acerto no cenário com o mesmo ID. A Niadra aparece como a faixa do seu preço. Mais para cima e para a esquerda é melhor.

Acerto ↑
Custo por mil conversas →
menor custo, maior acerto
  • Niadra US$ 5,00 / US$ 15,00 · 45,4%
  • Mem0 código aberto US$ 8,51 · 67,8%
  • Mem0 código aberto com rerank US$ 9,05 · 40,4%
Ver os números em tabela
Custo e acerto
SistemaCusto por mil conversasAcerto
NiadraUS$ 5,00 / US$ 15,0045,4%
Mem0 código abertoUS$ 8,5167,8%
Mem0 código aberto com rerankUS$ 9,0540,4%

Tokens que a memória põe no prompt, por turno

Mediana por turno, contados com o200k_base. Menor custa menos no modelo do seu agente e cabe melhor na voz.

  • Niadra
    contexto de chat
    314
  • Niadra
    contexto de voz
    236
  • Mem0 código aberto
    165
  • Mem0 código aberto com rerank
    24
  • Histórico inteiro no prompt (referência)
    249
A Niadra põe mais tokens no prompt (236 na voz e 314 no chat, contra 165 da Mem0 com o mesmo ID): o bloco dela traz sempre o cabeçalho do cliente, a data de atualização e o resumo do histórico, além dos fatos.
Ver os números em tabela
Tokens que a memória põe no prompt, por turno
SistemaVisãoMedianap95
Niadracontexto de chat314487
Niadracontexto de voz236322
Mem0 código aberto165237
Mem0 código aberto com rerank24209
Histórico inteiro no prompt (referência)249381

Custo da camada de memória por mil conversas

Em dólares, conversas de 10 trocas, com os preços públicos de 24/09/2026. Menor é melhor.

  • Niadra
    preço de tabela, faixa de maior volume
    US$ 5,00
  • Niadra
    preço de tabela, faixa de menor volume
    US$ 15,00
  • Mem0 código aberto
    só o gasto com o modelo, medido
    US$ 8,51
  • Mem0 código aberto com rerank
    só o gasto com o modelo, medido
    US$ 9,05
  • Mem0 Platform
    plano Hobby
    US$ 0,00
  • Mem0 Platform
    plano Starter
    US$ 38,00
  • Mem0 Platform
    plano Pro
    US$ 49,80
O número da Mem0 de código aberto cobre só o gasto medido com o modelo de extração; os servidores, o banco e a operação dela não entram. O preço da Niadra já inclui tudo isso.
Ver os números em tabela
Custo da camada de memória por mil conversas
SistemaBaseMemória, por mil conversasPrompt do agente, por mil conversasConversas por mês na cota
Niadrapreço de tabela, faixa de maior volumeUS$ 5,00US$ 1,26
Niadrapreço de tabela, faixa de menor volumeUS$ 15,00US$ 1,26
Mem0 código abertosó o gasto com o modelo, medidoUS$ 8,51US$ 0,66
Mem0 código aberto com reranksó o gasto com o modelo, medidoUS$ 9,05US$ 0,10
Mem0 Platformplano HobbyUS$ 0,00100
Mem0 Platformplano StarterUS$ 38,00500
Mem0 Platformplano ProUS$ 49,805.000

Dado sensível entregue a quem não provou quem é

Cenários de privacidade em que a memória entregou o dado sensível a uma conversa sem verificação. Menor é melhor.

  • Niadra
    0 de 32
  • Mem0 código aberto
    Mesmo ID em todos os canais
    27 de 32
  • Mem0 código aberto
    ID de cada canal
    0 de 32
  • Mem0 código aberto com rerank
    Mesmo ID em todos os canais
    21 de 32
  • Mem0 código aberto com rerank
    ID de cada canal
    0 de 32
  • Histórico inteiro no prompt (referência)
    32 de 32
Ver os números em tabela
Dado sensível entregue a quem não provou quem é
SistemaCenárioEntregues
Niadra0 de 32
Mem0 código abertoMesmo ID em todos os canais27 de 32
Mem0 código abertoID de cada canal0 de 32
Mem0 código aberto com rerankMesmo ID em todos os canais21 de 32
Mem0 código aberto com rerankID de cada canal0 de 32
Histórico inteiro no prompt (referência)32 de 32

Frescor entre canais

Tempo entre a mensagem entregue à memória no WhatsApp e a primeira leitura do agente de voz que a traz, mediana das tentativas. Menor é melhor.

  • Niadra
    358 ms
  • Mem0 código aberto
    947 ms
Ver os números em tabela
Frescor entre canais
Sistemap50p95Sem chegar / tentativas
Niadra358 ms889 ms0 / 60
Mem0 código aberto947 ms1.221 ms6 / 60

Memória lenta ou fora do ar

Tempo até o agente poder chamar o modelo, com a memória atrasando cada resposta ou devolvendo erro, e o cliente de cada uma como vem. Menor é melhor.

Memória atrasando 2.000 ms cada resposta

  • Niadra
    151 ms
  • Mem0 código aberto
    2.099 ms

Memória devolvendo erro 503

  • Niadra
    2,5 ms
  • Mem0 código aberto
    0,9 ms
Ver os números em tabela
Memória lenta ou fora do ar
SistemaFalhap50maxDentro de 1.000 msErro chegou ao agenteContexto vazio
NiadraMemória atrasando 2.000 ms cada resposta151 ms153 ms100%0%100%
NiadraMemória devolvendo erro 5032,5 ms150 ms100%0%100%
Mem0 código abertoMemória atrasando 2.000 ms cada resposta2.099 ms2.179 ms0%0%0%
Mem0 código abertoMemória devolvendo erro 5030,9 ms2,6 ms100%100%100%

Como medimos

  • Onde: us-east-2, na mesma classe de máquina (m7i-flex.large) e de banco (db.t4g.micro) que servem a Niadra. A Mem0 roda o servidor REST do próprio repositório dela, versão v2.2.0 (mem0ai 2.2.0), num pod do mesmo cluster, com pgvector num banco separado.
  • Mesmos modelos: extração com google/gemini-2.5-flash-lite nos dois, o mesmo embedder (paraphrase-multilingual-minilm-l12-v2-r1) servido pelo mesmo servidor, e um agente só (openai/gpt-4.1-mini, temperatura zero) respondendo a pergunta de prova com o que cada memória entregou. O juiz (openai/gpt-4.1-mini) segue uma rubrica publicada; a verificação exata procura o valor esperado na resposta.
  • A Mem0 como a documentação dela recomenda: um add() por troca de mensagens, um search() por turno com top_k 10 e limite de similaridade 0,1, e o formato de prompt dos exemplos dela. Nenhum parâmetro foi ajustado para este conjunto. A coluna com rerank usa o mesmo modelo de extração como reordenador.
  • Identidade: a Mem0 não resolve identidade, então roda em dois cenários, com o mesmo ID em todos os canais (o melhor caso dela) e com o ID de cada canal (quando os agentes são de fornecedores diferentes). A Niadra recebe os mesmos identificadores nos dois.
  • Conjunto: 240 cenários sintéticos em português e inglês, de atendimento e de agentes internos, em cinco setores. Um cenário só conta quando o agente acerta com o histórico inteiro no prompt e erra sem nenhum; nesta execução, 227 passaram nessa regra.
  • Latência em laço aberto, como os turnos chegam: 10 e 25 leituras por segundo durante 30 s, espalhadas em 20 conversas, medidas pelo cliente. A Niadra aparece de dentro do cluster, como a Mem0, e também pelo endereço público com TLS.
  • Custo: o preço público da Niadra, com os modelos incluídos; o gasto com o modelo de extração da Mem0 de código aberto, contado a partir do uso que o provedor devolve (servidores e banco da Mem0 ficam fora da conta); e os planos públicos da Mem0 Platform divididos pela cota de cada um.
  • Cada medida roda 3 vezes com clientes novos a cada repetição. A página mostra a mediana e o intervalo entre a menor e a maior.
  • Não medimos LoCoMo, LongMemEval nem BEAM: são conjuntos de conversa pessoal longa, contestados em público, e não medem o que o comprador da Niadra compra.
Ver o script do benchmark

Execuções

Execuções
DataRegião e máquinaVersõesCommit do scriptArquivos
25/09/2026us-east-2 · m7i-flex.largeNiadra 2026.09.25-1400-5d4d64b · SDK 0.1.5 · mem0ai 2.2.052ed3962026-09-25-6efee4