Clawdbot belleği nasıl yönetiyor: Markdown tabanlı hibrit bellek mimarisi
(manthanguptaa.in)Özet:
- Clawdbot, açık kaynaklı bir yerel yapay zeka asistanıdır; bulut bağımlılığı olmadan kullanıcının yerel ortamında uzun vadeli belleği Markdown dosyaları biçiminde depolar ve yönetir.
- 2 katmanlı bellek sistemi (günlük kayıtlar ve uzun vadeli bilgi) ile hibrit arama (vektör + anahtar kelime) sayesinde büyük ölçekli bağlamlarda da verimli bilgi geri çağırma mümkündür.
- Bağlam penceresi sınırlarını aşmak için 'compaction' ve 'pruning' tekniklerini kullanarak maliyet optimizasyonu ile performansın korunmasını aynı anda sağlar.
Ayrıntılı özet:
-
Genel bakış ve tasarım felsefesi
Clawdbot, veri sahipliğini kullanıcıya geri vermek için tüm anıları yerel çalışma alanı içindeki Markdown dosyaları olarak yönetir. Şeffaflığı temel değer olarak benimser; kullanıcıların bellek dosyalarını doğrudan okuyup düzenleyebilmesi ve sürüm kontrolü yapabilmesi için tasarlanmıştır. -
2 katmanlı bellek yapısı
Bellek genel olarak iki katmana ayrılır:
- Layer 1 (Daily Logs):
memory/YYYY-MM-DD.mddosyasında o günün konuşma özeti, alınan kararlar ve kullanıcı tercihleri kaydedilir. - Layer 2 (Long-term Knowledge):
MEMORY.mddosyasında birden fazla oturum boyunca korunması gereken temel gerçekler, proje kararları ve sabit kullanıcı profilleri saklanır.
- Hibrit arama motoru (Hybrid Search)
Ajan, yalnızca gerektiğinde belleği sorgulamak içinmemory_searcharacını kullanır:
- Anlamsal arama (Vector Search): embedding'ler aracılığıyla anlamsal olarak benzer içerikleri bulur (
SQLite-veckullanılır). - Anahtar kelime araması (BM25): tam özel adları, tarihleri, ID'leri vb. bulmak için FTS5 motoru birlikte kullanılır.
- Nihai puan hesaplama: doğruluğu artırmak için
(0.7 * vektör skoru) + (0.3 * metin skoru)ağırlıklandırma yöntemi uygulanır.
- Bağlam yönetimi teknikleri
- Compaction: bağlam sınırına ulaşıldığında önceki konuşmalar özetle değiştirilir. Özellikle 'Memory Flush' aşaması sayesinde, özetlemeden önce önemli bilgiler Markdown dosyalarına kalıcı olarak kaydedilerek bilgi kaybı önlenir.
- Pruning: büyük hacimli günlük çıktıları gibi gereksiz derecede uzun araç çalıştırma sonuçları kesilerek token tasarrufu sağlanır. Anthropic'in prompt caching TTL'ini dikkate alan akıllı silme mantığı da buna dahildir.
- Teknoloji yığını ve veri akışı
- Depolama: yerel Markdown dosyaları (Source of Truth) ve SQLite (indeksleme için).
- İş akışı: dosya değişikliği algılama (Chokidar) -> chunking (400 token birimleri, 80 token örtüşme) -> embedding -> SQLite'a kaydetme.
Henüz yorum yok.