ai-agent bellek mem0 zep letta memgpt langchain

Mem0 vs Zep vs Letta: AI Agent Bellek Karşılaştırma 2026

Orta
person Yapay Zeka Uzmanı
list_altİçindekilerexpand_more
  1. 01Neden Agent Belleği Gerekli?
  2. 02Araçlara Genel Bakış
  3. 03Mem0
  4. 04Zep
  5. 05Letta (eski adı: MemGPT)
  6. 06Karşılaştırma Tablosu
  7. 07Python Kod Örnekleri
  8. 08Mem0 ile Kullanıcı Belleği
  9. 09Zep ile LangChain Entegrasyonu
  10. 10Letta ile Agent Oluşturma
  11. 11Hangisini Seçmeli?
  12. 12Hızlı prototip veya API key ile başlamak
  13. 13LangChain veya LangGraph projesi ve production kullanım
  14. 14Agent-native bellek kontrolü veya araştırma
  15. 15Entegrasyon Patternleri
  16. 16LangGraph ile Bellek Entegrasyonu
  17. 17RAG ile Bellek Birleştirme
  18. 18n8n veya Make Workflow’larında Bellek
  19. 19Vektör Veritabanı Seçimi
  20. 20Hangi Agent Framework’üyle Kullanıyorsunuz?
  21. 21Sonuç
Editorial tech-magazine cover illustration about AI agent persistent memory systems, neural network memory nodes connecting across time, data streams flowing between agent instances, abstract artificial-intelligence motifs (glowing neural networks, flowing data, subtle circuitry), sophisticated modern concept art, clean balanced composition, soft cinematic studio lighting, rich depth of field, premium color grading in deep navy blues with cyan and magenta accents, highly detailed, polished editorial 8k. No text, no words, no letters, no captions, no logos, no watermark, no UI.

Bir AI agent ile uzun bir iş akışı kuruyor, tercihlerinizi paylaşıyor, geçmiş kararları aktarıyorsunuz. Ertesi gün aynı agent’a dönüyorsunuz; hiçbir şey hatırlamıyor. Sıfırdan başlamak zorunda kalıyorsunuz.

Bu, stateless LLM mimarisinin temel sınırı. Her oturum bağımsız bir bağlamla açılıyor; önceki oturumdan tek bir bit bile aktarılmıyor. Basit chatbot kullanımında bu sorun göze batmıyor. Ancak gerçek iş akışlarında çalışan AI agent’lar için bu durum ciddi bir kırılma noktası.

Bu noktada üç farklı yaklaşım öne çıkıyor: Mem0, Zep ve Letta (eski adıyla MemGPT). Her biri aynı sorunu farklı bir açıdan ele alıyor; mimari tercihler, hedef kitle ve kurulum zorluğu bakımından aralarında belirgin farklar var. Bu yazıda üçünü karşılaştırarak hangi projeye hangisinin uyduğunu netleştiriyoruz.

Neden Agent Belleği Gerekli?

Bir LLM, her inference çağrısında yalnızca prompt’taki bilgiyi görüyor. Geçmiş konuşma, kullanıcı tercihleri veya sistem kararları context window içine girilmemişse model bunlara erişemiyor.

Bu sınır birkaç kritik sorunu beraberinde getiriyor:

  • Kullanıcı bağlamı kopukluğu: Kullanıcının mesleği, tercihleri, öncelikleri her oturumda yeniden sorulması gerekiyor.
  • Karar sürekliliği yok: Agent bir hafta önce “A çözümünü kullan” diye karar verdi. Ertesi hafta bu kararı hatırlamıyor ve aynı soruyu yeniden tartışıyor.
  • Context window dolması: Uzun belge veya tarihsel konuşmalar context window’u dolduruyor. Eski bilgi düşmeye başlıyor.

Persistent memory katmanı bu sorunları şöyle çözüyor: konuşmadan gerçekleri çıkar, vektör veya graph veritabanına depola, sonraki oturumda semantik arama yaparak ilgili parçaları geri getir. Temel fikir RAG mimarisinin bellek uygulamasıyla örtüşüyor.

Araçlara Genel Bakış

Mem0

Mem0, 2024 ortasında popülerleşen hibrit bir bellek katmanı. Hem managed cloud API hem de open-source self-hosted versiyonu mevcut.

Çalışma prensibi şu: agent ile her konuşmada bir LLM, diyaloğu analiz ederek “hatırlanmaya değer” gerçekleri otomatik olarak çıkarıyor (fact extraction). Bu gerçekler hem vektör veritabanına hem de opsiyonel olarak bir graph veritabanına yazılıyor. Sonraki sorgularda semantik arama ile ilgili anılar prompt’a ekleniyor.

Artıları: pip install mem0ai ile anında başlanıyor, cloud API ile hiç altyapı kurmadan çalışmaya başlayabiliyorsunuz. Fact extraction otomatik; konuşmayı kendiniz parse etmenize gerek kalmıyor. LangChain, LlamaIndex ve OpenAI Agents ile drop-in entegrasyon var. Türkçe içerik de düzgün işleniyor.

Eksileri: Managed versiyonda veriler Mem0’ın kendi cloud’unda duruyor; veri egemenliği gerektiren projelerde bu sorun olabilir. Self-hosted kurmak için birden fazla servis (vektör DB, graph DB, API sunucu) ayağa kaldırmanız gerekiyor. Fact extraction kalitesi kullandığınız LLM’e doğrudan bağlı; düşük kapasiteli modelle çalışırsanız gereksiz bilgi birikebiliyor.

Zep

Zep, özellikle LangChain ve LangGraph ekosistemine odaklanan, enterprise kullanıma yönelik bir agent bellek altyapısı. Apache 2 lisanslı açık kaynak versiyonunun yanı sıra Zep Cloud adında managed bir seçenek de sunuyor.

Çalışma prensibi Mem0’dan biraz farklı: diyalog geçmişini saklarken aynı zamanda entity extraction yapıyor. Kim olduğu, ne istediği, hangi projenin içinde çalıştığı gibi bilgiler bir knowledge graph’a dönüşüyor. Sonraki oturumlarda bu graph, semantik arama sonuçlarıyla birlikte agent’a sunuluyor.

Artıları: LangChain ZepChatMessageHistory ve LangGraph state entegrasyonu hazır geliyor, ayrıca bir şey yapmanıza gerek kalmıyor. Knowledge graph yapısı çok kullanıcılı ve uzun soluklu projelerde güçlü bir bağlam ortamı oluşturuyor. Docker Compose veya Kubernetes ile production deployment zaten destekleniyor. Konuşma özetleme mekanizması context taşmasını yönetiyor.

Eksileri: Başlangıç kurulumu Mem0’a kıyasla daha fazla adım gerektiriyor; Docker ve port yönetimi yapmanız gerekiyor. Cloud API olmadan sıfırdan başlamak mümkün değil, yerel bir servis ayağa kaldırmak şart. Küçük veya kısa ömürlü projelerde gerekenden fazla karmaşık hissettiriyor.

Letta (eski adı: MemGPT)

Letta, 2023 sonunda akademik bir makaleyle tanıtılan MemGPT projesinin geliştirilmiş ve üretim odaklı hale getirilmiş versiyonu. Yaklaşım tamamen farklı: belleği dışarıdan yönetmek yerine agent’ın kendi belleğini yönetmesini amaçlıyor.

Fikir basit ama güçlü: işletim sistemi nasıl RAM ile disk arasında paging yapıyorsa, Letta da LLM’in active context’ini ile archival (harici) belleği arasında benzer bir mekanizma kuruyor. Agent, “bu bilgiyi hatırlamam gerekiyor” dediğinde archival memory’ye yazıyor. “O kararı hatırlamak istiyorum” dediğinde recall search yapıyor ve ilgili parçaları context’ine çekiyor.

Artıları: Bellek yönetimi dışarıdan inject edilen bir middleware değil, agent’ın kendi mantığının bir parçası. In-context memory, archival storage ve recall search birlikte çalışıyor; bu yapı Mem0 veya Zep’e kıyasla çok daha ince ayar yapmanıza imkan tanıyor. Mimarisi akademik literatürde test edilmiş. Veriler tamamen sizin kontrolünüzde.

Eksileri: Letta server kurulumu ve agent tanımlama süreci öğrenme eğrisi gerektiriyor. Production’da tam güvenilirlik için ek hardening çalışması yapmanız gerekebiliyor. Managed cloud seçenek yok; her şeyi kendiniz yönetmek zorundasınız.

Karşılaştırma Tablosu

ÖzellikMem0ZepLetta (MemGPT)
LisansMIT + ManagedApache 2Apache 2
Kurulum zorluğuDüşükOrtaOrta-Yüksek
LangChain entegrasyonu✅ Native
Knowledge graph
Fact extraction✅ Otomatik✅ Entity extractionManuel + otomatik
Cloud SaaS✅ Zep Cloud❌ Self-hosted
Araştırma olgunluğuOrtaYüksek (prod-ready)Yüksek (akademik)
Fiyat (managed)FreemiumFreemiumÜcretsiz (self-hosted)

Python Kod Örnekleri

Mem0 ile Kullanıcı Belleği

from mem0 import Memory

memory = Memory()  # API key env'den alır

# Konuşmayı kaydet
messages = [
    {"role": "user", "content": "Python yerine TypeScript kullanmayı tercih ediyorum."},
    {"role": "assistant", "content": "Anladım, TypeScript ile devam edeceğiz."}
]
memory.add(messages, user_id="user_123")

# Sonraki oturumda belleği sorgula
results = memory.search("kullanıcı dil tercihi", user_id="user_123")
print(results)  # [{"memory": "TypeScript kullanmayı tercih ediyor", ...}]

Zep ile LangChain Entegrasyonu

from langchain_community.memory import ZepChatMessageHistory
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_openai import ChatOpenAI

# Zep session belleği
history = ZepChatMessageHistory(
    session_id="session_abc",
    url="http://localhost:8000",
    api_key="your-zep-api-key"
)

# LangChain prompt'a entegre et
prompt = ChatPromptTemplate.from_messages([
    ("system", "Sen yardımcı bir asistansın."),
    MessagesPlaceholder(variable_name="history"),
    ("human", "{input}")
])

chain = prompt | ChatOpenAI(model="gpt-4o")
response = chain.invoke({"input": "Projem hakkında ne biliyorsun?", "history": history.messages})

Letta ile Agent Oluşturma

from letta import create_client
from letta.schemas.memory import ChatMemory

client = create_client()  # yerel Letta server

agent = client.create_agent(
    name="proje_asistani",
    memory=ChatMemory(
        human="Kullanıcı bir SaaS startup kurucusu.",
        persona="Ben uzun dönemli hafızaya sahip bir proje asistanıyım."
    )
)

# Agent'a mesaj gönder
response = client.send_message(
    agent_id=agent.id,
    role="user",
    message="Geçen hafta konuştuğumuz API tasarımını hatırlıyor musun?"
)
print(response.messages[-1].text)

Hangisini Seçmeli?

Hızlı prototip veya API key ile başlamak

Mem0 açık ara en kolay başlangıç noktası. pip install mem0ai, bir API key ve birkaç satır Python ile konuşma belleği çalışmaya başlıyor. Prototip aşamasında ya da bellek altyapısını test etmek istiyorsanız ilk tercihiniz bu olmalı.

LangChain veya LangGraph projesi ve production kullanım

Zep bu kategoride ayrışıyor. LangChain ekosisteminde native destekle geliyor; ZepChatMessageHistory direkt olarak LangChain zincirlerine takılıyor. LangGraph ile state yönetimi yapıyorsanız, Zep’in knowledge graph’ı stateful agent akışlarını önemli ölçüde zenginleştiriyor. Enterprise projeler için de Docker tabanlı deployment hazır.

Agent-native bellek kontrolü veya araştırma

Letta farklı bir zihinsel model gerektiriyor. Belleği bir middleware olarak değil, agent davranışının bir parçası olarak tasarlıyorsanız; ya da akademik düzeyde bellek mimarisi üzerine çalışıyorsanız Letta’nın yaklaşımı daha uygun. Öğrenme eğrisi yüksek ama karşılığında tam kontrol elde ediyorsunuz.

Entegrasyon Patternleri

LangGraph ile Bellek Entegrasyonu

LangGraph’ta stateful bir agent genellikle iki katmanlı bellek kullanır: kısa dönemli durum (graph state) ve uzun dönemli kalıcı bellek (external memory). Zep veya Mem0 burada external memory katmanı olarak konumlanıyor. Her düğüm çalışmadan önce ilgili anılar sorgulanıyor, düğüm çıktıları ise belleğe yazılıyor.

RAG ile Bellek Birleştirme

Bellek ve RAG farklı şeyleri çözüyor: RAG statik belge koleksiyonlarından bilgi getirirken bellek sistemi dinamik, kullanıcı/oturum özelindeki gerçekleri saklıyor. İkisini birleştiren hibrit mimari, hem domain bilgisini hem de kullanıcı bağlamını tek bir retrieval adımında agent’a sunabiliyor. Bu pattern özellikle embedding modellerini verimli kullanan vektör tabanlı sistemlerde etkili.

n8n veya Make Workflow’larında Bellek

No-code/low-code orchestration araçlarında da bellek katmanı kullanılabiliyor. Mem0’ın REST API’si HTTP request düğümleriyle doğrudan entegre oluyor. Zep benzer şekilde webhook tabanlı akışlara bağlanabiliyor. Bu yaklaşım sıfırdan agent geliştirme yapmadan bellek özelliğini mevcut iş akışlarına eklemenin pratik yolu.

Vektör Veritabanı Seçimi

Her üç araç da arka planda vektör veritabanı kullanıyor. Mem0 Qdrant veya Chroma ile çalışabiliyor; Zep kendi vektör katmanıyla geliyor; Letta ise LanceDB tabanlı bir archival storage yapısı kullanıyor. Self-hosted kurulumlarda hangi vektör DB’yi tercih ettiğiniz, mevcut altyapınıza ve ölçek gereksinimlerinize bağlı.

Hangi Agent Framework’üyle Kullanıyorsunuz?

Agent framework karşılaştırmasında gördüğümüz gibi LangGraph, CrewAI ve AutoGen her birinin farklı bellek entegrasyon yolları var:

  • LangGraph + Zep: Knowledge graph state ile LangGraph’ın kendi state yönetimini tamamlıyor.
  • CrewAI + Mem0: CrewAI’nin dahili bellek katmanı yetersiz kaldığında Mem0 drop-in çözüm sunuyor.
  • AutoGen + Letta: AutoGen’in çok-agent mimarisinde Letta’nın agent-native belleği her agent için ayrı kalıcı bağlam tutuyor.

Sonuç

2026 itibarıyla üç araç da olgunluk seviyesine ulaştı. Bellek sistemi seçerken şu soruları yanıtlamak yeterli:

Altyapı ne kadar yönetmek istiyorum? Az: Mem0 Cloud. Orta: Zep Cloud veya Docker. Tam kontrol: Letta self-hosted.

Hangi frameworkte çalışıyorum? LangChain/LangGraph ağırlıklıysa Zep native avantaj sunuyor. Framework bağımsız çalışıyorsanız Mem0’ın API’si en esnek seçenek.

Belleği kim yönetmeli? Dışarıdan inject edilen bir middleware istiyorsanız Mem0 veya Zep. Belleği agent’ın kendi mantığına katmak istiyorsanız Letta.

Üç araç da birbirinin alternatifi olmaktan çok tamamlayıcısı. Mem0 ile prototipi hızlıca çıkarmak, production’a geçerken Zep’e taşımak ya da araştırma bileşenleri için Letta’yı denemek: bunların hepsi mantıklı yollar. Önemli olan bellek katmanının projenizin gereksinimlerine göre şekillenmesi.

auto_stories İlgili Makaleler