« Tüm yayınlar

rememori: AI ajanları için sıfır bağımlılıklı TypeScript hafızası

rememori, kosinüs benzerliği, varlık grafiği ve zaman azalmasını birleştirip AI ajanlarına kalıcı, sıfır bağımlılıklı TypeScript hafızası sunuyor.

rememori, AI ajanlarının oturumlar arası hafıza tutması için tasarlanmış, sıfır çalışma zamanı bağımlılığına sahip gömülü bir TypeScript kütüphanesi. Vektör veritabanı veya ayrı bir servis kurmak yerine tek dosyada çalışan bir 'ilkel' hedefleniyor: remember, recall ve forget olmak üzere yalnızca üç fonksiyon. Embedding sağlayıcısı bir arayüz olarak soyutlandığından kütüphane Node, Bun ve tarayıcıda (transformers.js ile) aynı şekilde çalışabiliyor.

Projenin çekirdeği, saf kosinüs benzerliğinin gerçek bir hafıza için yetersiz kaldığı gözlemine dayanıyor. rememori, benzerlik skorunu varlık örtüşmesi (aynı kişi/proje adı geçen anıları öne çıkaran bir bonus), yazma anında belirlenen önem ağırlığı ve isteğe bağlı bir zaman azalması (yarı ömür) terimiyle çarpıyor. Yazma sırasında her anı, adlandırılmış varlıklarla ikili bir grafikte ilişkilendiriliyor; bu sayede metinsel benzerliği düşük ama aynı kişi veya konudan bahseden anılar da geri çağrılabiliyor.

Depolama tarafında Node/Bun için ek-yalnızca (append-only) JSONL günlüğü, tarayıcı için ise Float32Array'leri doğrudan structured clone ile saklayan IndexedDB kullanılıyor; bu da tarayıcı içinde tamamen yerel çalışan bir demo imkânı veriyor. Ölçeklenebilirlik için eklenen saf TypeScript HNSW indeksi ise ilginç bir ders içeriyor: yüksek boyutlu rastgele vektörlerle yapılan ilk testte geri çağırma oranı çökmüş, ancak sorunun kodda değil, gerçekçi olmayan test verisinde olduğu ortaya çıkmış. Gerçek embedding'lerin sahip olduğu düşük boyutlu yapı ile yapılan yeniden testlerde HNSW, 10 binin üzerindeki anı sayılarında tam isabetle ve daha düşük gecikmeyle çalışmış; küçük veri setlerinde ise basit tarama hâlâ daha hızlı kalmış.

» KaynakDev.to