İçeriğe geç

Hafıza

Terminal window
bee remember "Redis oturum jetonlarını önbelleğe alır, kullanıcı verisini değil" \
--type decision --reason "kullanıcı verisinin TTL'i farklı"

Dört tür var, ve tür asıl meseledir — başka ne sorulmaya değer olduğuna o karar verir:

tür ayrıca kaydedin
decision --reason, --alternative "seçenek: neden değil" (tekrarlanabilir)
error --solution, --prevention
learning (varsayılan) --category
pattern --category

Her şey MongoDB’de saklanır; proje, oturum, yazar (git yapılandırmasından) ve zaman damgasıyla.

Terminal window
bee remember search "redis"
bee remember search "önbellek" --all-projects --since 30d
bee remember search "kullanıcı oturumlarını önbelleğe alma" --semantic

Arama, en yeni eşleşmelerle en alakalı olanların birleşimini döndürür, çünkü her yarım tek başına bir şeyler kaybeder.

50.001 hafızalık bir depoda ölçüldü: tarih sıralı yarım, soruyu cevaplayan iki yıllık bir olguya hiç ulaşamadı — 50.000 yeni kaydın altında kalmıştı. Alaka sıralı yarım onu ilk sırada, 27 ms’de döndürdü. Tersinden bakınca, tek başına alaka da “az önce ne yaptım”ı kaçırır — ki işe devam eden bir ajanın ihtiyacının çoğu odur.

--semantic kelime örtüşmesi yerine anlama göre sıralar, böylece “kullanıcı oturumlarını önbelleğe alma” sorgusu “Redis oturum jetonlarını önbelleğe alır”ı bulur.

  • Yerel (varsayılan) — çok dilli bir sentence-transformer (distiluse-base-multilingual-cased-v2, 50’den fazla dil) ONNX Runtime ile koşturulur ve ilk kullanımda ~/.bee/models/ altına indirilir. API çağrısı yok, anahtar yok.
  • Geminibee config set embedding.provider gemini ve bee config set gemini.apiKey <anahtar> --secret.

Kosinüs MongoDB’nin içinde hesaplanır ve yalnızca kazananlar geri gelir. İstemcide sıralamak, her sorguda saklanan her vektörü indirmek demekti — on bin hafızada ölçülen 96,5 MB. Şimdi 1,5 KB, ve skorlar bit düzeyinde aynı.

Gömme işlemi kayıtta en-iyi-çaba esaslıdır: arka uca ulaşılamazsa olgu yine de kaydedilir, --semantic onu sadece eşleştiremez.

Terminal window
bee remember context # bu projenin öğrendikleri, en faydalısı önce
bee remember history --since 7d
bee remember stats

Hafızalar kimin yazdığını kaydeder; kurallarla aynı şekilde git yapılandırmasından çözülür — depo-yerel kimlik global’i yener, ve bağlı worktree’ler ele alınır (yapılandırma worktree’nin .git dosyasının altında değil, ana depoda yaşar).

Ortak bir depoda bir meslektaşınızın notunun sizinmiş gibi okunmasını engelleyen şey budur.