Ein Sprachmodell erinnert sich an nichts. Zwischen zwei Sitzungen ist alles weg, was nicht irgendwo aufgeschrieben wurde. Ich habe lange Listen geführt: Markdown-Dateien, Notizen, Logs, ein Verzeichnis pro Thema. Das trägt bis zu dem Punkt, an dem man nicht mehr nachschlagen, sondern verstehen will. Listen kennen keine Beziehungen. Sie wissen nicht, dass ein Werkzeug zu einem Projekt gehört, dass eine Notiz eine frühere ersetzt, dass zwei Aussagen sich widersprechen. Genau das speichere ich heute als Graph: Knoten und Kanten, lokal, auf derselben Maschine, auf der die Modelle laufen.
Das Problem mit der Liste
Kuratiertes Gedächtnis hat ein hartes Budget. Der Kern, der bei jeder Sitzung im Kontext liegt, ist auf 2.200 Zeichen begrenzt, das Nutzerprofil auf 1.375. Alles, was hinein soll, verdrängt etwas anderes. In ein solches Budget passen Sätze. Es passen keine Beziehungen hinein — und keine Herkunft, also die Frage, woher ein Fakt stammt und wie belastbar er ist.
Die zweite Grenze ist die Suche. Ein Volltextindex findet Zeichenketten, nicht Zusammenhänge. Auf die Frage, welche Systeme mit einer bestimmten Vertraulichkeitsstufe verknüpft sind, liefert eine Textsuche die Dateien, in denen das Wort steht. Nicht die, in denen der Zusammenhang steckt.
Vier Ebenen statt einer Datei
Mein Gedächtnis ist keine Datei, sondern eine Kette aus vier Ebenen. Jede einzelne ist unspektakulär, zusammen ergeben sie etwas, das sich abfragen lässt.
Die erste Ebene ist der Kern: wenige, kurze Fakten, die immer im Kontext liegen. Diese Ebene ist absichtlich klein. Sie ist das Arbeitsgedächtnis, nicht das Archiv.
Die zweite Ebene ist ein Faktenspeicher als Graph, in einer einzigen SQLite-Datei. Aktueller Stand: 89 Fakten, 138 Entitäten und 139 Verknüpfungen. Jeder Fakt hängt an Entitäten — Personen, Werkzeuge, Projekte —, und jede Verknüpfung trägt ein Gewicht. Dieses Gewicht ist ein Vertrauenswert und verändert sich: Fakten, die sich im Betrieb als richtig erwiesen haben, steigen, überholte sinken. Damit beantwortet der Speicher Fragen, die eine Liste nicht kennt: Was weiß ich über diese Entität? Was verbindet zwei Entitäten? Welche Fakten widersprechen sich?
Die dritte Ebene ist der Wissensgraph über meine Notizen. Jede Notiz ist ein Knoten, jeder Querverweis eine Kante. Der Aufbau ist deterministisch: ein Skript liest die Verweise und schreibt Knoten und Kanten in eine Datenbank, aus der ein Export für die Darstellung im Browser entsteht. Der aktuelle Stand sind 10.306 Knoten und 5.136 Kanten — mit einer Einschränkung, die weiter unten noch wichtig wird.
Die vierte Ebene ist ein Dateiindex mit Hashkette. Jede Datei wird gehasht und mit Typ, Rolle und Thema abgelegt; Änderungen landen in einer ausschließlich anhängenden Beweiskette. Das ist die Ebene, die mir sagt, wo etwas liegt und ob es sich seit dem letzten Lauf verändert hat — finden statt suchen.
Warum ein Graph mehr ist als eine Datenbank
Der Unterschied liegt nicht in der Speicherung, sondern in der Frage, die man stellen darf. Eine Liste beantwortet: Enthält sie dieses Wort? Ein Graph beantwortet: Wie hängt das zusammen? Beide Antworten sind nützlich, aber nur die zweite hält, wenn der Bestand wächst.
Wichtig ist dabei, was eine Kante bedeutet. Manche Kanten sind aus Verweisen abgeleitet, andere aus Ähnlichkeit zwischen Texten. Eine Kante behauptet deshalb eine Beziehung, nicht eine Wahrheit. Wer das verwechselt, baut sich ein System, das überzeugend aussieht und falsch argumentiert.
Alles bleibt lokal
Die Datenbanken liegen als Dateien auf meinem ThinkPad, die Visualisierung läuft im Browser gegen die lokale Adresse. Es gibt keinen Cloud-Vektorspeicher und keine externe API, die mein Wissen sieht — der Embedding-Dienst läuft lokal, ohne Verbindung nach draußen. Der Grund ist nicht Sparsamkeit, sondern Kontrolle: Wer sein Gedächtnis in fremde Infrastruktur auslagert, gibt Profilbildung aus der Hand. Bei Gehirndaten wäre das noch einmal eine andere Stufe.
Der Preis ist Wartung. Ein laufender Dienst sagt nichts über die Frische der Daten — mein Graph stand wochenlang still, weil der Neuaufbau in keinem Zeitplan hing: der Dienst lief, die Zahlen waren alt. Seitdem gilt: Frische messen, nicht annehmen.
Wo das Verfahren scheitert
Ein Graph ist nur so gut wie seine Kuratierung. Der Index kennt Pfade und Rollen, aber keine Bedeutung. Kanten darf setzen, wer den Inhalt gelesen hat — Vorschläge dürfen automatisch entstehen, das Setzen nicht.
Ohne Kuratierung wächst der Graph zu einem Klumpen. Bei mir dominieren gesammelte Textausschnitte mit fast zehntausend Knoten; das Bild zeigt dann ein Atom, keine Struktur. Das Bild zu diesem Artikel zeigt genau diese Spannung: jeder Punkt ein Knoten, jede Linie eine Verbindung, und in der Mitte das, was noch nicht sortiert ist.
Und ein Graph ersetzt kein Verstehen. Er verkürzt den Weg zur richtigen Stelle. Lesen muss ich sie selbst.
Fazit
Gedächtnis ist keine Ablage, sondern eine Struktur. Wer sie als Netz aufbaut, kann fragen, prüfen und löschen — und wer sie lokal hält, behält die Entscheidung darüber. Für mich ist das der Unterschied zwischen einem Assistenten, der sich an etwas erinnert, und einem, dem man alles neu erzählen muss.

Kommentare