0Pricing
AI Agents · Ders

Bellek Eskimesi ve Çöp Toplama

Dizin odaklanmış kalabilsin diye eski ve ilgisi düşük bellekleri bir programa göre unutun.

Bellek Eskimesi ve Çöp Toplama, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Bellek Sınırsız Büyür

Etkin bakım yapılmazsa bellek deponuz büyümeye devam eder. Eski ve ilgisiz anılar, getirme sonuçlarını kirletir ve depolama alanını boşa harcar.

Belleğin de diğer tüm kaynaklar gibi çöp toplama işlemine ihtiyacı vardır.

Anılar Neden Silinir?

  • Gizlilik — GDPR/CCPA silme taleplerine uyum sağlamak
  • Uygunluk — eski olguların artık doğru olma olasılığı daha düşüktür
  • Maliyet — vektör depolama büyük ölçekte birikerek maliyet oluşturur
  • Kalite — şişirilmiş dizinler arama uygunluğunu azaltır

1. Strateji: TTL

Her anı için bir sona erme zaman damgası belirleyin:

ALTER TABLE semantic_facts ADD COLUMN expires_at TIMESTAMPTZ;

-- short-lived
INSERT INTO semantic_facts (..., expires_at) VALUES (..., NOW() + INTERVAL '7 days');

-- garbage collect
DELETE FROM semantic_facts WHERE expires_at < NOW();

2. Strateji: Zamana Bağlı Eskime

Yaş ilerledikçe güveni azaltın; eski anılara daha düşük öncelik verilir:

import math

def decayed_confidence(original, age_days, half_life_days=30):
    return original * math.exp(-age_days * math.log(2) / half_life_days)

# Then retrieval filters: WHERE decayed_confidence > 0.3
for age in [0, 30, 60, 90]:
    print(f"Age {age} days -> confidence {decayed_confidence(1.0, age):.3f}")

3. Strateji: Kullanıma Bağlı Eskime

Hiç getirilmeyen anılar yararlı değildir; bir hoşgörü süresinin ardından bunları silin:

ALTER TABLE semantic_facts ADD COLUMN last_used_at TIMESTAMPTZ DEFAULT NOW();

-- update on retrieval
UPDATE semantic_facts SET last_used_at = NOW() WHERE id = ANY(:retrieved_ids);

-- gc
DELETE FROM semantic_facts WHERE last_used_at < NOW() - INTERVAL '90 days';

4. Strateji: Kullanıcı Başına Kapasite Sınırı

Kullanıcı başına düşen anı sayısını sınırlayın; kapasite dolduğunda en az kullanılanı çıkarın:

MAX_FACTS = 500

SELECT COUNT(*) FROM semantic_facts WHERE user_id = %s;
-- if > MAX_FACTS: delete oldest unused

Sıkıştırma: Benzer Anıları Birleştirme

Birden çok anı aynı şeyi farklı biçimlerde ifade edebilir. Bunları düzenli aralıklarla kümelendirin ve birleştirin:

def compact(user_id):
    facts = all_facts(user_id)
    clusters = cluster_by_embedding(facts, threshold=0.85)
    for cluster in clusters:
        merged = llm.invoke(f'Merge these into one canonical statement: {cluster}')
        replace_with_merged(cluster, merged)

Çelişkileri Çözümleme

İki anı çelişiyorsa eskisini geçersiz olarak işaretleyin:

def resolve(user_id, new_fact):
    similar = retrieve(user_id, new_fact, k=5)
    for s in similar:
        if llm_says_contradicts(s, new_fact):
            mark_obsolete(s.id)
    save(new_fact)

5. Strateji: Önem Ağırlıklandırması

Bazı anılar diğerlerinden daha önemlidir. Her birine puan verin:

importance_prompt = 'Rate the importance of this fact for future interactions (0-1):\n{fact}'

for fact in facts:
    score = float(llm.invoke(importance_prompt.format(fact=fact)).content)
    update_importance(fact.id, score)

# Retrieval: weight by importance and recency

Letta Tarzı Özetleme

Letta (MemGPT), depolama alanı dolduğunda ilişkili olgu bloklarını özetleyerek eski arşiv belleğini sıkıştırır:

if archival_size > LIMIT:
    block = oldest_facts(50)
    summary = summarise(block)
    replace(block, summary)

Kullanıcı Tetiklemeli Silme

Kullanıcılara "beni unut" düğmesi sunun. Düğmeye tıklandığında:

def forget_user(user_id):
    conn.execute('DELETE FROM semantic_facts WHERE user_id = %s', (user_id,))
    conn.execute('DELETE FROM episodes WHERE user_id = %s', (user_id,))
    vector_db.delete(filter={'user_id': user_id})

Mantıksal Silme ve Kalıcı Silme

Denetimler için, saklama süresi dolana kadar mantıksal silmeyi tercih edin (silindi olarak işaretleyip şifreli biçimde saklayın); ardından kalıcı olarak silin:

ALTER TABLE semantic_facts ADD COLUMN deleted_at TIMESTAMPTZ;
-- queries always: WHERE deleted_at IS NULL

Zamanlanmış Çöp Toplama İşleri

Çöp toplama işlemini bir zamanlamayla çalıştırın (cron veya günlük çalışan). Yoğun çöp toplama işlemini satır içi yapmayın; bu, kullanıcılar için gecikme oluşturur:

# Daily cron at 03:00 UTC
for user_id in all_users():
    decay_confidence(user_id)
    delete_expired(user_id)
    compact_clusters(user_id)

Neden Eskime Uygulanır?

Bellek güveni zaman içinde neden azaltılır?

Özet

TTL, eskime, kullanıma bağlı çıkarma, kapasite sınırları, sıkıştırma, çelişki çözümleme ve kullanıcı tetiklemeli silme. Belleğin bir temizlik görevlisine ihtiyacı vardır; bir tane oluşturun.

Sıkça Sorulan Sorular

“Bellek Eskimesi ve Çöp Toplama” dersi ücretsiz mi?

Evet — “Bellek Eskimesi ve Çöp Toplama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Bellek Eskimesi ve Çöp Toplama” dersinde ne öğreneceğim?

Dizin odaklanmış kalabilsin diye eski ve ilgisi düşük bellekleri bir programa göre unutun. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Bellek Eskimesi ve Çöp Toplama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Epizodik Bellek (Oturum Başına Geçmiş)
  2. Anlamsal Bellek (Vektörleştirilmiş Gerçekler)
  3. Prosedürel Bellek (Beceri Kitaplığı)
  4. Bellek Eskimesi ve Çöp Toplama
← AI Agents Sayfasına Dön