Semantisches Gedächtnis (vektorisierte Fakten)
Einzelne Fakten, die der Agent über den Benutzer oder die Welt gelernt hat und die in einem Vektorindex gespeichert werden.
Semantisches Gedächtnis (vektorisierte Fakten) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 2 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.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Was ist semantisches Gedächtnis?
Das semantische Gedächtnis enthält lose Fakten, die der Agent kennt — über den Benutzer, die Welt und das Unternehmen. Anders als beim episodischen Gedächtnis ist kein Zeitstempel an ein bestimmtes Ereignis gebunden.
Beispiele:
- „Der Name des Benutzers ist Alice.“
- „Alice bevorzugt Celsius.“
- „Die aktuelle Preisstufe ist Pro für 20 $/Monat.“
Speicherformat
Ein Vektorspeicher plus strukturierte Metadaten:
CREATE TABLE semantic_facts (
id UUID PRIMARY KEY,
user_id TEXT NOT NULL,
fact TEXT NOT NULL,
embedding vector(1536),
source TEXT, -- 'extracted' / 'user-stated' / 'system'
confidence REAL DEFAULT 1.0,
created_at TIMESTAMPTZ DEFAULT NOW()
);Fakten aus Unterhaltungen extrahieren
Führen Sie nach jeder Sitzung einen LLM-Extraktor aus:
extract_prompt = '''
From the conversation below, list any new facts about the user.
Return JSON: [{"fact": "...", "confidence": 0.0-1.0}]
Conversation:
{transcript}
'''
print(extract_prompt.strip())
Saving Extracted Facts
import uuid
for f in extracted:
vec = embed(f['fact'])
conn.execute('''
INSERT INTO semantic_facts (id, user_id, fact, embedding, confidence, source)
VALUES (%s, %s, %s, %s, %s, 'extracted')
''', (str(uuid.uuid4()), user_id, f['fact'], vec, f['confidence']))Abruf zur Inferenzzeit
Rufen Sie für jede neue Anfrage relevante Fakten ab und fügen Sie sie in den System-Prompt ein:
def relevant_facts(user_id, query, k=5):
qvec = embed(query)
rows = conn.execute('''
SELECT fact FROM semantic_facts
WHERE user_id = %s
ORDER BY embedding <=> %s LIMIT %s
''', (user_id, qvec, k))
return [r[0] for r in rows]
facts = relevant_facts(user_id, user_question)
system = SYSTEM_PROMPT + '\n\nKnown facts:\n' + '\n'.join(facts)Fakten aktualisieren
Was passiert, wenn sich ein Fakt ändert? „Alice bevorzugt Celsius“ -> „Alice bevorzugt jetzt Fahrenheit“. Zwei Strategien:
- Markieren Sie den alten Fakt als veraltet (fügen Sie updated_at hinzu, führen Sie eine Soft-Löschung durch)
- Oder: Speichern Sie Widersprüche und lösen Sie sie beim Abruf auf
Fakten abgleichen
Prüfen Sie beim Extrahieren, ob Widersprüche zu vorhandenen Fakten bestehen:
def reconcile(user_id, new_fact):
similar = relevant_facts(user_id, new_fact, k=3)
response = llm.invoke(f'Is the new fact ({new_fact}) consistent with existing facts ({similar})? If contradicting, return the obsolete one.')
if response.has_contradiction:
mark_obsolete(response.obsolete_id)
save_fact(new_fact)Confidence-Weighted Retrieval
rows = conn.execute('''
SELECT fact FROM semantic_facts
WHERE user_id = %s AND confidence > 0.6
ORDER BY embedding <=> %s LIMIT %s
''', ...)Verfall von Fakten
Manche Fakten veralten („Das aktuelle Projekt ist X“). Fügen Sie eine TTL hinzu oder verringern Sie die Konfidenz im Laufe der Zeit:
UPDATE semantic_facts
SET confidence = confidence * 0.95
WHERE created_at < NOW() - INTERVAL '30 days';Datenschutzsensible Fakten
Verschlüsseln Sie personenbezogene Daten vor dem Speichern. Einige Fakten (Gesundheit, Finanzen) benötigen besonderen Schutz — speichern Sie sie in einer separaten, stärker abgesicherten Tabelle.
Vom Benutzer bearbeitbare Fakten
Zeigen Sie Benutzern die gespeicherten Fakten und ermöglichen Sie ihnen, diese zu bearbeiten oder zu löschen. Das schafft Vertrauen und reduziert unangenehme Fehler des Gedächtnisses.
Gedächtnis als Tool
Stellen Sie Gedächtnisoperationen als Tools bereit, die der Agent selbst aufrufen kann:
tools = [
{'name': 'remember_fact', 'description': 'Save a new fact about the user'},
{'name': 'forget_fact', 'description': 'Remove a stored fact'},
{'name': 'recall_facts', 'description': 'Search relevant facts for a query'}
]
import json
print(json.dumps(tools, indent=2))
Letta und MemGPT
Das Letta-Framework (früher MemGPT) implementiert Agentengedächtnis in großem Maßstab, mit einem separaten „core“-Gedächtnis (immer im Kontext) und „archival“-Gedächtnis (über Vektorsuche abgerufen).
Semantisches und episodisches Gedächtnis
Worin unterscheidet sich das semantische vom episodischen Gedächtnis?
Zusammenfassung
Speichern Sie Fakten über den Benutzer in einem Vektorspeicher, rufen Sie bei jedem Turn die relevanten K Fakten ab und fügen Sie sie in den System-Prompt ein. Gleichen Sie Widersprüche ab und lassen Sie Fakten mit der Zeit an Konfidenz verlieren oder ablaufen.
Häufig gestellte Fragen
Ist die Lektion „Semantisches Gedächtnis (vektorisierte Fakten)“ kostenlos?
Ja — der vollständige Text von „Semantisches Gedächtnis (vektorisierte Fakten)“ 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 „Semantisches Gedächtnis (vektorisierte Fakten)“?
Einzelne Fakten, die der Agent über den Benutzer oder die Welt gelernt hat und die in einem Vektorindex gespeichert werden. 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 2 von 4.
Wie lange dauert die Lektion „Semantisches Gedächtnis (vektorisierte Fakten)“?
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