Gedächtnisverfall und Garbage Collection
Vergessen Sie alte, wenig relevante Erinnerungen nach einem Zeitplan, damit der Index fokussiert bleibt.
Gedächtnisverfall und Garbage Collection ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Der Speicher wächst unbegrenzt
Ohne aktive Wartung wächst Ihr Speicherbestand ständig weiter. Alte, irrelevante Erinnerungen beeinträchtigen den Abruf und verschwenden Speicherplatz.
Speicher benötigt genau wie jede andere Ressource eine Garbage Collection.
Warum Erinnerungen löschen?
- Datenschutz – erfüllen Sie Löschanfragen gemäß DSGVO/CCPA
- Relevanz – alte Fakten sind inzwischen möglicherweise nicht mehr korrekt
- Kosten – Vektorspeicher summiert sich bei großen Datenmengen
- Qualität – überfüllte Indizes verwässern die Relevanz der Suchergebnisse
Strategie 1: TTL
Legen Sie für jede Erinnerung einen Ablaufzeitpunkt fest:
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();Strategie 2: Zeitbasierter Verfall
Verringern Sie das Vertrauen mit zunehmendem Alter – ältere Erinnerungen werden nachrangig behandelt:
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}")
Strategie 3: Nutzungsbasierter Verfall
Erinnerungen, die nie abgerufen werden, sind nicht nützlich – löschen Sie sie nach einer Schonfrist:
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';Strategie 4: Kapazitätsgrenze pro Benutzer
Begrenzen Sie die Anzahl der Erinnerungen pro Benutzer. Wenn das Limit erreicht ist, entfernen Sie den am seltensten verwendeten Eintrag:
MAX_FACTS = 500
SELECT COUNT(*) FROM semantic_facts WHERE user_id = %s;
-- if > MAX_FACTS: delete oldest unusedKomprimierung: Ähnliche Erinnerungen zusammenführen
Mehrere Erinnerungen können in unterschiedlicher Form dasselbe aussagen. Clustern und führen Sie sie regelmäßig zusammen:
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)Widersprüche auflösen
Wenn sich zwei Erinnerungen widersprechen, markieren Sie die ältere als veraltet:
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)Strategie 5: Gewichtung nach Wichtigkeit
Manche Erinnerungen sind wichtiger als andere. Bewerten Sie jede einzelne:
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 recencyZusammenfassung nach dem Letta-Prinzip
Letta (MemGPT) komprimiert alte Archivdaten, indem beim Füllen des Speichers Blöcke zusammengehöriger Fakten zusammengefasst werden:
if archival_size > LIMIT:
block = oldest_facts(50)
summary = summarise(block)
replace(block, summary)Vom Benutzer ausgelöschte Daten
Geben Sie Benutzern eine Schaltfläche „Alles über mich vergessen“. Bei einem Klick darauf:
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})Soft Delete vs. Hard Delete
Für Audits ist Soft Delete vorzuziehen (als gelöscht markieren und verschlüsselt aufbewahren), bis die Aufbewahrungsfrist abgelaufen ist. Danach führen Sie ein Hard Delete durch:
ALTER TABLE semantic_facts ADD COLUMN deleted_at TIMESTAMPTZ;
-- queries always: WHERE deleted_at IS NULLGeplante GC-Jobs
Führen Sie die GC nach einem Zeitplan aus (Cron, täglicher Worker). Führen Sie keine umfangreiche GC inline aus – das erhöht die Latenz für Benutzer:
# Daily cron at 03:00 UTC
for user_id in all_users():
decay_confidence(user_id)
delete_expired(user_id)
compact_clusters(user_id)Warum Verfall?
Warum sollte das Vertrauen in Erinnerungen mit der Zeit abnehmen?
Zusammenfassung
TTL, Verfall, nutzungsbasierte Entfernung, Kapazitätsgrenzen, Komprimierung, Auflösung von Widersprüchen und vom Benutzer ausgelöschte Daten. Der Speicher braucht eine Reinigungskraft – bauen Sie eine ein.
Lerne AI Agents mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 60
- Lektionen
- 239
Häufig gestellte Fragen
Ist die Lektion „Gedächtnisverfall und Garbage Collection“ kostenlos?
Ja — der vollständige Text von „Gedächtnisverfall und Garbage Collection“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Gedächtnisverfall und Garbage Collection“?
Vergessen Sie alte, wenig relevante Erinnerungen nach einem Zeitplan, damit der Index fokussiert bleibt. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Gedächtnisverfall und Garbage Collection“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Episodisches Gedächtnis (Verlauf pro Sitzung)
- Semantisches Gedächtnis (vektorisierte Fakten)
- Prozedurales Gedächtnis (Fähigkeitsbibliothek)
- Gedächtnisverfall und Garbage Collection