Mem0, Zep ou Letta: qual memória usar em agentes de atendimento
Mem0, Zep, Letta e Niadra comparadas por caso de uso: identidade do cliente, contexto, governança, forma de uso e LGPD. Veja onde cada uma é mais forte.
Comparação8 min de leitura
Para dar memória de longo prazo a um agente, em código aberto ou como serviço gerenciado, a Mem0 resolve com duas chamadas: add() e search(). Para memória em grafo temporal de conhecimento, com políticas de acesso por agente, a escolha é a Zep; o Graphiti, motor aberto dela, serve a quem quer operar o próprio grafo. Para construir um agente que edita a própria memória e aprende com o uso, o caminho é o Letta. Quando agentes de fornecedores diferentes atendem o mesmo cliente no WhatsApp, na voz e no app, sem um ID de usuário comum, a Niadra cobre o que as outras três não documentam: reconhecer o cliente entre canais.
Os fatos sobre Mem0, Zep e Letta vêm da documentação e dos sites oficiais, conferidos em setembro de 2026, com o link ao lado. Onde a informação não aparece, a tabela diz "não documentado". A Niadra escreveu este texto.
Mem0, Zep, Letta e Niadra lado a lado
| Critério | Mem0 | Zep | Letta | Niadra |
|---|---|---|---|---|
| Foco principal | Memória para agentes e apps | Grafo temporal de conhecimento para agentes | Agentes que aprendem com a própria memória | Memória compartilhada do atendimento omnichannel |
| Identificação do cliente | user_id da aplicação; resolução entre canais não documentada |
user_id da aplicação; resolução entre canais não documentada |
Memória por agente; resolução entre canais não documentada | Telefone, e-mail, CPF e login viram um só cliente, com nível de confiança |
| Contexto antes da resposta ou busca | search() antes de cada chamada ao modelo |
Bloco de contexto das quatro últimas mensagens e busca no grafo | Pasta system/ sempre no prompt; o resto sob demanda |
Contexto completo antes da primeira palavra e busca no histórico |
| Vários fornecedores na mesma memória | app_id por parceiro; restrição por fornecedor não documentada |
Chave com políticas por agente ou parceiro, no Enterprise | Entre agentes do Letta; outros fornecedores: não documentado | Caso central, com credencial por fornecedor |
| Finalidade e auditoria de leitura | Registro de leituras e escritas; finalidade não documentada | Políticas por classe de dado e registro de chamadas | Papéis na organização; auditoria de leitura não documentada | Leitura por finalidade e registro encadeado por SHA-256 |
| Forma de uso | Código aberto (Apache 2.0) e gerenciada | Gerenciada; Graphiti em código aberto | Código aberto (Apache 2.0) e Letta Cloud | 100% gerenciada; não é self-hosted |
| LGPD e GDPR | GDPR declarado, com DPA; LGPD não documentada | Não documentados; SOC 2 Tipo II e HIPAA; apagamento do usuário | GDPR na política de privacidade; DPA e LGPD não documentados | Operadora, com DPA e apagamento com comprovante |
| Maturidade pública | 65 mil estrelas e artigo | Graphiti com 31 mil estrelas e artigo | 24 mil estrelas no repositório original e artigo do MemGPT | Nova: sem estrelas, integrações listadas ou benchmark publicado |
Mem0: memória para os agentes que o seu time constrói
A Mem0 é uma camada de memória para agentes e aplicações de IA. A aplicação envia cada troca de mensagens com add(), e a Mem0 extrai os fatos que valem guardar. Antes da próxima chamada ao modelo, a aplicação busca com search() e escolhe o que entra no prompt (como funciona). Cada memória fica ligada aos IDs que a aplicação informa, como user_id e agent_id (escopo).
O código é aberto, sob Apache 2.0, e a mesma API existe no serviço gerenciado (Platform e código aberto). A documentação traz integrações com LangChain, CrewAI, LlamaIndex, LiveKit e dezenas de outras (integrações).
A página de atendimento da Mem0 promete memória entre chat, e-mail e voz. A documentação, porém, não descreve resolução de identidade entre canais: a memória segue o user_id que a aplicação envia. Segundo o site, em setembro de 2026, a Mem0 atende SOC 2 Tipo I, HIPAA e GDPR.
Quando escolher a Mem0
- Você tem um agente, ou poucos, feitos pelo seu time, e um ID de usuário estável em todos os canais.
- Você quer código aberto e self-hosted, com o banco vetorial e o LLM que escolher.
- Você quer integração pronta com o framework que já usa.
Zep: grafo temporal de conhecimento, com governança
A Zep entrega memória de agentes sobre um grafo temporal de conhecimento, montado a partir de conversas, dados de negócio, documentos e JSON. Cada fato guarda quando passou a valer e quando deixou de valer (fatos). O motor do grafo é o Graphiti, de código aberto.
A Zep monta o bloco de contexto do agente usando as quatro mensagens mais recentes da conversa como consulta, em menos de 200 ms em 95% das chamadas (contexto).
A governança é um ponto forte. Segundo a documentação, em setembro de 2026, o plano Enterprise liga a cada chave de API políticas que limitam as ações e as classes de dado que aquele agente lê (acesso de agentes). O registro de API guarda cada chamada com a decisão da política (registro). A Zep tem SOC 2 Tipo II e contrato HIPAA para clientes Enterprise (segurança). A edição self-hosted da Zep foi descontinuada, e quem quer operar por conta própria usa o Graphiti (FAQ).
Quando escolher a Zep
- Você precisa saber quando cada fato passou a valer e quando deixou de valer, como a troca de um plano.
- Você quer conversas e dados de negócio no mesmo grafo do usuário.
- Você precisa de políticas por agente, SOC 2 Tipo II ou do serviço na nuvem da própria empresa (segurança).
- Você quer operar o grafo com o seu time, em código aberto: nesse caso, o Graphiti.
Letta: agentes que cuidam da própria memória
O Letta, antes chamado MemGPT (GitHub), é uma plataforma para construir agentes com estado, que aprendem com a experiência. Segundo a documentação, em setembro de 2026, a memória pertence ao agente e fica num repositório git. Os arquivos da pasta system/ entram no prompt a cada turno, e o resto o agente lê quando precisa (memória). O próprio agente edita essa memória, e subagentes em segundo plano reorganizam o que ele aprendeu (MemFS).
O código é aberto, sob Apache 2.0. O Letta roda localmente ou num servidor próprio, e o Letta Cloud é a versão hospedada (self-hosting). A documentação aponta como usos agentes de programação, assistentes pessoais, colegas de trabalho de IA e agentes embutidos em aplicações (documentação). Reconhecer o mesmo cliente entre canais não aparece nela.
Quando escolher o Letta
- Você está construindo o próprio agente e quer a memória dentro do framework.
- Você quer um agente que edita a própria memória, com histórico de versões em git.
- Você precisa rodar tudo localmente, inclusive o modelo.
Niadra: memória compartilhada para o atendimento omnichannel
A Niadra é a memória compartilhada dos agentes de IA de uma empresa, feita para o atendimento omnichannel: WhatsApp, voz, app e atendente humano, com agentes de fornecedores diferentes. Ela não constrói agentes: liga à mesma memória os agentes que você já tem.
A Niadra reconhece o cliente sem depender de um ID pronto: telefone, e-mail, CPF e login viram um só cliente, com nível de confiança (como funciona). Cada agente lê apenas o que a finalidade dele permite. Cada leitura entra num registro encadeado por SHA-256, e a empresa corta o acesso de um fornecedor na hora. A Niadra atua como operadora sob a LGPD e o GDPR, com DPA e apagamento com comprovante.
Quando a Niadra não é a melhor escolha
- Um agente, um canal e um ID de usuário confiável. A Mem0 ou a Zep atendem esse caso diretamente.
- Infraestrutura própria ou motor de memória em código aberto. A Niadra é 100% gerenciada e não tem versão self-hosted. Mem0, Graphiti e Letta têm.
- Um framework para construir o agente. A Niadra não é framework de agentes. O Letta é.
- Maturidade comprovada. A Niadra é nova: não tem estrelas no GitHub, integrações listadas em frameworks nem benchmark publicado. As outras três têm comunidade, artigos publicados e integrações documentadas.
Como decidir entre Mem0, Zep, Letta e Niadra?
- Quantos fornecedores atendem o mesmo cliente? Com agentes do seu time, Mem0, Zep e Letta atendem bem. Com fornecedores concorrentes em canais diferentes, a memória precisa de credencial e permissão por fornecedor. A Zep oferece isso no plano Enterprise, e a Niadra foi desenhada para esse caso.
- Existe um ID de usuário comum a todos os canais? Se existe, Mem0 e Zep trabalham com ele diretamente. Se o cliente chega pelo telefone num canal e pelo login em outro, alguém precisa unir as duas pontas: na Niadra, isso faz parte do produto; nas outras três, fica com a sua aplicação.
- Onde a memória precisa morar? Na sua infraestrutura, com código aberto: Mem0, Graphiti ou Letta. Em serviço gerenciado: Mem0, Zep, Letta Cloud ou Niadra. Na nuvem ou nos servidores da própria empresa, sob contrato: Zep e Mem0.
Antes de fechar, teste cada opção com conversas reais que mudaram de canal.
Como a Niadra resolve
O SDK, em Python e TypeScript, tem três chamadas:
# antes de responder: o contexto completo do cliente
ctx = niadra.context(phone=caller_id, channel="voice")
# durante a conversa: o agente consulta o histórico
results = niadra.search(ctx.customer, "crédito por visita técnica perdida")
# depois de responder: a conversa entra na memória
niadra.track(conversation=call_id, channel="voice", turns=[question, reply])
O context() não precisa de pergunta e devolve o contexto completo em menos de 100 ms, com o canal e o horário de cada fato. A busca no histórico também funciona pela API HTTP e por MCP. O preço é por conversa: de US$ 5 a 15 a cada mil conversas, e o plano Regulado sai sob contrato. Veja Produtos, Segurança e Preço.
Perguntas frequentes
Quais são as alternativas ao Mem0 para memória de agentes em produção?
Três alternativas cobrem casos diferentes: a Zep, para grafo temporal de conhecimento e políticas por agente; o Graphiti, para operar esse grafo em código aberto; e o Letta, para memória dentro do framework do agente. Para atendimento omnichannel entre fornecedores, a Niadra reconhece o cliente em todos os canais.
Mem0, Zep ou Letta: qual usar em agentes de atendimento?
Com um agente e um ID de usuário estável, Mem0 e Zep atendem bem, e a Zep acrescenta fatos com validade no tempo e políticas por agente. Para construir o agente, o Letta é o framework indicado. Com fornecedores diferentes em vários canais, a Niadra resolve a identidade e a governança entre eles.
A Niadra tem versão self-hosted ou de código aberto?
A plataforma, não. A Niadra é 100% gerenciada: ela opera toda a infraestrutura, e o cliente conecta o SDK, que é de código aberto para o time de segurança auditar o que sai da rede. No plano Regulado, a empresa ganha um ambiente dedicado, operado pela Niadra. Para rodar o motor de memória na própria infraestrutura, Mem0, Graphiti e Letta são opções maduras.