GraphMemory: Neo4j, PostgreSQL ve Redis Tabanlı Çift Zamanlı (Bitemporal) Yapay Zeka Bellek Sistemi
Kaynak: GitHub
İçindekiler 3 başlık
GraphMemory Nedir ve Neden Önemlidir?#
Büyük Dil Modelleri (LLM) ve otonom ajanlar (AI agents) ile çalışırken karşılaşılan en büyük zorluklardan biri, uzun vadeli bağlamı ve değişen bilgileri doğru şekilde yönetmektir. Python ile geliştirilen gh9ko8y/graphmemory, yapay zeka ajanları için tasarlanmış çift zamanlı (bitemporal) bir bellek ve bilgi grafiği (knowledge graph) sistemidir.
Geleneksel bellek sistemleri bilgileri yalnızca kaydedildiği zamana göre tutarken, GraphMemory hem bilginin gerçek dünyada geçerli olduğu zamanı hem de sisteme kaydedildiği zamanı takip eder. Projeyi geliştiriciler için değerli ve dikkat çekici kılan temel mimari özellikler şunlardır:
- Altı Değişkenli Sönümlenme (Six-Variable Decay): İnsan hafızasına benzer şekilde, kullanılmayan veya güncelliğini yitiren bilgilerin ağırlığını altı farklı değişkene bağlı olarak zamanla azaltır.
- Zaman Dereceli Hatırlama (Time-Graded Recall): Geçmişteki olayları ve bilgileri zaman boyutuna göre derecelendirerek en uygun bağlamı geri çağırır.
- TTL Süre Sonu (TTL Expiry) ve Tekilleştirme (Dedupe): Geçici verilerin yaşam süresini (Time-To-Live) otomatik yönetir ve mükerrer kayıtları temizleyerek bellek şişmesini önler.
- Rekabetçi Geri Getirme (Competitive Retrieval): Sorgu anında en alakalı anıları seçmek için aday kayıtları birbirleriyle yarıştıran gelişmiş bir erişim mekanizması sunar.
- Hibrit Veritabanı Mimarisi: İlişkisel veriler için PostgreSQL, bilgi grafiği bağlantıları için Neo4j ve yüksek hızlı önbellekleme ile TTL yönetimi için Redis altyapısını bir arada kullanır.
Geliştiriciler İçin Pratik Kullanım Senaryoları#
GraphMemory, özellikle durum bilgisi (stateful) gerektiren karmaşık ajan mimarilerinde doğrudan kullanılabilir:
- Kişiselleştirilmiş Müşteri Destek Ajanları: Kullanıcının tercihleri zaman içinde değiştiğinde (örneğin adres veya abonelik planı değişikliği), çift zamanlı yapı sayesinde eski bilgiyi tamamen silmeden tarihsel bağlamı koruyarak en güncel durumu yanıtlar.
- Uzun Süreli Araştırma ve Analiz Ajanları: Çok adımlı ajan (multi-step agent) iş akışlarında toplanan verilerin tekrarlanmasını (dedupe) engeller ve kısa süreli görev verilerini TTL ile otomatik temizler.
- Finans ve Uyumluluk Sistemleri: "Geçen ay sistem hangi bilgiye dayanarak bu kararı verdi?" sorusunu yanıtlamak için zaman yolculuğu sorguları yapılmasına olanak tanır.
Benzer Araçlarla Karşılaştırma#
Standart vektör veritabanları (Pinecone, Chroma vb.) yalnızca anlamsal benzerliğe odaklanır ve bilginin zaman içindeki değişimini veya varlıklar arası karmaşık ilişkileri yönetmekte yetersiz kalır. Mem0 veya LangChain Memory gibi araçlar kullanım kolaylığı sunsa da GraphMemory kadar ayrıntılı bir altı değişkenli sönümlenme ve rekabetçi geri getirme kontrolü sağlamaz.
Bilgi grafiği tabanlı Graphiti ile benzer bir vizyonu paylaşan GraphMemory, Neo4j + PostgreSQL + Redis üçlüsünü doğrudan birleştirerek hem grafik ilişkilerini hem de yüksek performanslı bellek temizleme ve tekilleştirme süreçlerini tek bir çatı altında toplamasıyla öne çıkar. Üretim ortamında güvenilir ve unutma yeteneğine sahip ajanlar geliştirmek isteyen mühendisler için güçlü bir altyapı sunar.
Kaynak ve atıf
Bu yazı, GitHub üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- github.com/gh9ko8y/graphmemory