Ursprünglich auf Französisch verfasst. Von KI übersetzt — der Sinn wurde bewahrt, nicht der Stil.
Ich arbeite oft mehrere Tage lang im selben ChatGPT-Gespräch.
Man diskutiert, formuliert um, gibt Spuren auf, und dann taucht mitten in Dutzenden von Nachrichten endlich ein interessanter Absatz auf.
In diesem Moment möchte ich einfach sagen können:
Persistiere das.
Und dann weiterarbeiten.
Und fünf Tage später:
Hol mir alles heraus, was ich persistiert habe.
Das klingt selbstverständlich.
Aber so funktioniert ChatGPT nicht wirklich.
Der Chat ist nicht das Gedächtnis von ChatGPT
Das ist wahrscheinlich der am schlechtesten verstandene Punkt.
Das in der Oberfläche angezeigte Gespräch kann vollständig sein. Ich kann durch die Nachrichten scrollen und finde wieder, was wir uns drei Tage zuvor gesagt haben.
Aber das heißt nicht, dass ChatGPT beim Antworten ebenfalls über all diese Nachrichten Wort für Wort verfügt.
Man muss unterscheiden zwischen:
- dem Transkript, das in der Oberfläche gespeichert und angezeigt wird;
- dem, was das Modell tatsächlich nutzen kann, um seine Antwort zu erzeugen;
- dem Gedächtnis von ChatGPT, das nicht jedes Gespräch Wort für Wort aufbewahrt.
OpenAI erklärt, dass das Gedächtnis bestimmte nützliche Elemente behält und nicht als vollständiger Speicher für alles Gesagte betrachtet werden darf.
Offizielle FAQ zum Gedächtnis von ChatGPT
Das Transkript ist für mich also vollständig.
ChatGPT dagegen hat die Passagen, die mich interessieren, nicht zwangsläufig Wort für Wort behalten.
Genau das brauche ich aber.
Wenn ich heute drei wichtige Absätze auswähle, will ich fünf Tage später zurückkommen und exakt diese drei Absätze wiederbekommen.
„Setz ein Bookmark“ reicht nicht
Ich könnte schreiben:
Setz ein Bookmark auf diesen Absatz.
Aber das erzeugt kein echtes, dauerhaftes Bookmark.
Ein paar Tage später findet ChatGPT vielleicht wieder, was ich ausgewählt hatte — genauso gut kann es außerstande sein, es mir Wort für Wort zurückzugeben. Für meinen Bedarf ist das nicht zuverlässig genug.
Ich will genau die Passagen wiederfinden, die ich behalten wollte.
Dieser Bedarf rechtfertigt eine externe Persistenz.
Ich will nicht das ganze Gespräch sichern
Das Ziel ist gerade nicht, automatisch jede Nachricht zu kopieren.
Ein langes Gespräch enthält viel Zwischenmaterial:
- Fragen;
- Versuche;
- Umformulierungen;
- aufgegebene Spuren;
- Antworten, die zehn Minuten später ersetzt wurden.
Ich will nur die wenigen Stücke aus dem Fluss herausziehen, die einen Wert haben.
Zum Beispiel:
Persistiere unsere letzte Definition.
oder:
Persistiere das.
Die Entscheidung, etwas zu behalten, bleibt menschlich.
Erste Idee: eine API
Mein erster Reflex war klassisch.
Einen kleinen PHP-Dienst bauen, der Text entgegennimmt und ihn an eine Markdown-Datei anhängt.
Etwa so:
ChatGPT
↓
API
↓
Markdown
Ich habe also einen kleinen Remote Persistence Store entwickelt (genauer gesagt: Claude Code hat das getan).
Der Server konnte:
- verschiedene Kontexte anlegen;
- Inhalte hinzufügen;
- das Markdown zurückgeben;
- ein paar Informationen über den Zustand des Kontexts liefern.
Technisch funktionierte alles.
Das Problem lag woanders.
Mit ChatGPT Plus kann ich meine API nicht einfach aufrufen
Mit meinem ChatGPT-Plus-Abo für 20 $ im Monat kann ich ChatGPT nicht einfach bitten, irgendeine externe API aufzurufen.
ChatGPT kann eine API-URL selbst bauen und Parameter daran hängen. Aber in bestimmten Fällen weigert sich das Web-Tool danach, sie aufzurufen, sobald die URL von ihm verändert oder konstruiert wurde. Das Problem ist also nicht, die URL zu erzeugen, sondern sie ausführen zu dürfen.
Ich wollte ChatGPT weiterhin normal nutzen, besonders vom Handy aus.
Also musste ein anderer Weg her.
Zweiter Versuch: tricksen
ChatGPT kann Webseiten aufrufen.
Ich habe also versucht, einen Schreibvorgang hinter etwas zu verstecken, das wie ein simpler Aufruf einer Webseite aussieht.
Statt zu senden:
POST /persist
habe ich eine URL dieser Art gebaut:
https://mein-server.example/persist
?context=mein-kontext
&content=mein-text
Für ChatGPT sah die Anfrage einfach so aus:
Ruf diese Webseite auf.
Für meinen Server:
Hol dir die Parameter und schreib sie auf die Platte.
Ich habe also absichtlich einen Schreibvorgang in ein vorgetäuschtes Lesen verwandelt.
Besonders elegant war das nicht.
Aber für einen persönlichen Prototyp hätte es vollkommen gereicht.
Und auf der Serverseite funktionierte es.
- Aus einem Browser heraus: kein Problem.
- Mit
curl: kein Problem.
Aber sobald ChatGPT den Inhalt unseres Gesprächs aufnehmen, diese neue URL dynamisch bauen und die entsprechende Seite aufrufen sollte, blockierten seine Navigationsschutzmechanismen den Vorgang.
Was am Ende ziemlich logisch ist.
Ich versuchte ja genau das: Inhalte automatisch aus dem Gespräch heraus auf meinen eigenen Server zu schleusen, indem ich das Schreiben als Aufruf einer Webseite tarnte.
Hinschauen, was ChatGPT schon kann
Da habe ich die Frage gewechselt.
Statt zu suchen:
Wie bringe ich ChatGPT dazu, meinen Server aufzurufen?
habe ich gesucht:
Wo kann ChatGPT bereits schreiben?
In meinem Fall: Google Sheets.
Ich habe ein extrem einfaches Sheet angelegt:
created_at | context | content
Dann habe ich getestet:
Persistiere „AZERTY“
Und eine neue Zeile tauchte auf:
2026-09-12T15:20:44+02:00 | Remote Persistence Store | AZERTY
Diesmal hatte der Text das Gespräch wirklich verlassen.
Er existierte unabhängig von ChatGPT.
Google Sheets als Outbox
Das war nicht meine ideale Architektur.
Ursprünglich wollte ich:
ChatGPT → API → Markdown
Jetzt hatte ich:
ChatGPT → Google Sheets
Aber Google Sheets muss nicht mein endgültiger Speicher sein.
Es kann einfach die Rolle einer Outbox spielen.
Ein Ausgangskorb, in den ChatGPT die Informationen legt, die ich behalten will.
Danach kann ich daraus machen:
ChatGPT
↓
Google Sheets
↓
Skript
↓
Markdown
↓
Obsidian / Git / andere KI
Das wichtige Problem war gelöst: eine präzise Information aus dem Gespräch herausholen.
Erste Version: fast 50 Sekunden
Es funktionierte, aber es war furchtbar langsam.
Ein simpler Befehl:
Persistiere „Test“
konnte fast 50 Sekunden brauchen, um drei Zellen zu schreiben.
Das Problem kam daher, dass ChatGPT jedes Mal fast alles neu entdeckte.
- Es suchte die Datei.
- Es holte deren Metadaten.
- Es prüfte das Tabellenblatt.
- Es schaute sich die Spalten an.
- Es suchte, wo geschrieben werden soll.
Und erst danach fügte es die Daten hinzu.
Dabei änderte sich nichts davon zwischen zwei Aufrufen.
Nicht mehr suchen, was man schon kennt
Ich habe also alle festen Informationen direkt in die Direktive geschrieben:
- die Spreadsheet-ID;
- die Sheet-ID;
- den Namen des Tabellenblatts;
- die drei Spalten;
- ihre Bedeutung.
Und vor allem:
Such die Datei nicht. Lies ihre Metadaten nicht. Lies ihre Kopfzeilen nicht erneut.
Zu bestimmen blieb noch, wohin geschrieben wird.
Meine erste Lösung bestand darin, den neuen Eintrag systematisch in Zeile 2 einzufügen.
Das war schnell, aber die Daten standen dann in umgekehrter Reihenfolge: die neuesten oben.
Google Sheets hat glücklicherweise einen Append-Mechanismus.
Kein Suchen nach der letzten Zeile mehr.
Der Ablauf wird einfach:
Persistieren
↓
Append
↓
Prüfung
↓
Antwort
In meinen Tests brauchen die für Schreiben und Zurücklesen nötigen Google-Aufrufe jetzt zusammen ein bis zwei Sekunden.
Die Gesamtantwortzeit von ChatGPT bleibt variabel, aber wir sind sehr weit von den fast 50 Sekunden der ersten Version entfernt.
Das Problem war also gar nicht wirklich Google Sheets.
Das Problem war, dass die KI jedes Mal einen bereits bekannten Kontext neu entdeckte.
Nach dem Schreiben prüfen
Ich wollte auch nicht, dass ChatGPT mir einfach anzeigt:
Ist persistiert.
ohne zu wissen, was tatsächlich geschrieben wurde.
Also habe ich eine Regel ergänzt.
Nach jedem Schreibvorgang muss ChatGPT den soeben hinzugefügten Eintrag erneut lesen.
Bei einem kurzen Text zeigt es an, was es wirklich gelesen hat:
Persistiert ✓
Kontext: Remote Persistence Store
Status: OK
Inhalt:
AZERTY
Bei einem deutlich längeren Inhalt zeigt es nur eine getreue Zusammenfassung des gelesenen Inhalts.
Wichtig ist, dass die Bestätigung nach der Prüfung kommt.
Absicht
→ Schreiben
→ Zurücklesen
→ Prüfung
→ Bestätigung
„Persistiere“ in allen meinen Chats verfügbar machen
Natürlich wollte ich nicht diese ganze Anleitung an den Anfang jedes neuen Gesprächs kleben.
Ich habe sie deshalb in die benutzerdefinierten Anweisungen von ChatGPT eingetragen.
Im Web:
Einstellungen
→ Personalisierung
→ Benutzerdefinierte Anweisungen
Außerdem muss Google Drive mit ChatGPT verbunden sein, damit es auf das Sheet zugreifen kann.
Sind beide Elemente konfiguriert, kann ich ein neues Gespräch beginnen und direkt schreiben:
Persistiere unsere letzte Definition.
Die Direktive sagt ChatGPT dann, was das Verb Persistiere bedeutet und wohin der Inhalt gehen soll.
Meine Direktive „PERSISTIERE“
Hier eine anonymisierte Fassung.
Die drei Werte zwischen <...> musst du durch die deines eigenen Google Sheets ersetzen. Du kannst ChatGPT bitten, sie zu finden — oder das Google Sheet gleich anzulegen.
DIREKTIVE „PERSISTIERE“
Wenn ich eine Anfrage mit „Persistiere“ beginne oder ausdrücklich darum bitte, eine Information zu persistieren, füge diese Information in das als Persistenz-Store konfigurierte Google Sheet ein.
GOOGLE SHEET
Spreadsheet ID: <SPREADSHEET_ID>
Sheet: <SHEET_NAME>
Sheet ID: <SHEET_ID>
Feste Struktur:
A = created_at
B = context
C = content
INTERPRETATION
- „Persistiere xxx“ = xxx persistieren.
- „Persistiere unseren letzten Austausch“ = den relevanten Inhalt des letzten Austauschs persistieren.
- „Persistiere deine letzte Antwort“ = die letzte Antwort persistieren.
- „Persistiere diesen Text“ = den ausdrücklich gemeinten Text persistieren.
- „Persistiere in {Kontext} xxx“ = {Kontext} als context verwenden.
- Ist kein Kontext angegeben, einen kurzen, passenden Namen aus dem laufenden Thema ableiten.
- Keine Bestätigung erfragen, wenn die Anfrage eindeutig ist.
SCHREIBEN
1. created_at mit dem aktuellen Datum und der aktuellen Uhrzeit bestimmen.
2. Die bekannte Spreadsheet ID und das bekannte Sheet direkt verwenden.
3. Ein natives Google-Sheets-Append verwenden.
4. Genau Folgendes hinzufügen:
created_at | context | content
OPTIMIERUNG
Bei einem Befehl „Persistiere“:
- die Datei nicht suchen;
- ihre Metadaten nicht lesen;
- ihre Kopfzeilen nicht erneut lesen;
- nicht nach der letzten Zeile suchen;
- ihre Struktur vor dem Schreiben nicht analysieren;
- die bekannten IDs und die bekannte Struktur direkt verwenden.
Erst nach dem Schreiben lesen.
PRÜFUNG
Nach dem Append:
1. Nur den hinzugefügten Eintrag erneut lesen.
2. Kontext und Inhalt prüfen.
3. Die Persistenz erst nach dieser Prüfung bestätigen.
INHALT
- Den angeforderten Inhalt selbst persistieren.
- Ihn vor dem Speichern nicht zusammenfassen.
- Ihn nicht umformulieren oder korrigieren, außer auf ausdrückliche Anfrage.
- Seine ursprüngliche Struktur so weit wie möglich erhalten.
ANTWORT
Bei kurzem Inhalt:
Persistiert ✓
Kontext: {context}
Status: OK
Inhalt:
{tatsächlich zurückgelesener Inhalt}
Bei langem Inhalt:
Persistiert ✓
Kontext: {context}
Status: OK
Zusammenfassung des zurückgelesenen Inhalts:
{getreue Zusammenfassung in wenigen Zeilen}
Die Zusammenfassung betrifft nur die Bestätigung.
Der gespeicherte Inhalt bleibt vollständig.
Bei einem Fehlschlag:
Persistenz fehlgeschlagen ✗
Kontext: {context}
Status: FEHLER
Problem:
{kurze Beschreibung des Fehlers}
PRIORITÄT
direktes Append → gezielte Prüfung → Antwort
Jeden nicht unbedingt nötigen Google-Drive- oder Google-Sheets-Vorgang vermeiden.
Das ist kein Gedächtnis für ChatGPT
Ich betrachte dieses Google Sheet nicht als „das Gedächtnis von ChatGPT“.
Es ist viel einfacher.
Es ist ein äußerer Ort, an dem ich entscheiden kann, dass ein Stück Gespräch es verdient, aufbewahrt zu werden.
Während einer Diskussion:
man sucht
→ man testet
→ man formuliert um
→ etwas wird interessant
In diesem Moment:
Persistiere das.
Das Stück verlässt den Fluss.
Es wird abrufbar, unabhängig davon, was ChatGPT in fünf Tagen noch im Kontext hat.
Vom Fluss zum Kapital
Technisch schreibt das alles am Ende drei Zellen in eine Tabelle.
Das ist nicht der interessante Teil.
Was mich interessiert, ist die Geste.
Ein Gespräch mit einer KI produziert enorm viel temporäre Information.
Nicht alles muss überleben.
Aber manches verdient es, vom Fluss in etwas Dauerhaftes überzugehen.
Ich will ChatGPT nicht bitten, sich alles zu merken.
Ich will ihm sagen können:
Das hier zählt.
Und dann:
Persistiere das.
Das Gespräch bleibt der Raum, in dem ich arbeite.
Was ich daraus herausziehe, kann anfangen, informationelles Kapital zu werden.
Weiterführendes
Von der einzelnen Datei zum Kontextsystem: Warum das Gedächtnis eines LLM nicht in ein einziges Dokument passt Unter der Haube meiner Kontext-Engine: wie eine KI sich an eine Mission erinnert Ein Sitzungsgedächtnis wie in OpenClaw einrichten Das Liefergut ist nicht mehr das Kapital