Ursprünglich auf Französisch verfasst. Von KI übersetzt — der Sinn wurde bewahrt, nicht der Stil.
Dieser Artikel schließt an „Persistiere das“: eine Information aus ChatGPT in einen permanenten Speicher holen an.
Bei dieser ersten Bastelei hatte ich etwas ziemlich Einfaches entdeckt, das aber viel verändert hat: ChatGPT konnte eine Information in Google Sheets schreiben und sie damit aus seinem eigenen Kontextfenster herausholen.
Anders gesagt, ich konnte ihm ein dauerhaftes externes Gedächtnis geben.
Zu diesem Zeitpunkt diente mir Google Sheets im Wesentlichen als Outbox.
Dann habe ich mir eine andere Frage gestellt:
Konnte derselbe Mechanismus ausreichen, um mein Kontext-System direkt in ChatGPT laufen zu lassen?
Warum ich den Kontext vom Mac lösen wollte
Ich arbeite seit einiger Zeit mit Kontexten in Codex und Claude Code.
Und wenn ich von „Kontext“ spreche, meine ich nicht einfach einen Gesprächsverlauf oder einen Ort, an dem man ein paar Notizen ablegt.
Die Definition, die ich verwende, ist viel weiter gefasst:
Ein Kontext ist ein durch eine menschliche Mission begrenztes System, in dem eine KI organisiert und mobilisiert, was man weiß, woher man es weiß, wie die Elemente zusammenhängen und wo die Arbeit steht, um dem Menschen zu helfen, sein Ziel zu erreichen, ohne bei null anzufangen. Dabei bildet das System ein dauerhaftes informationelles Kapital und lässt es wachsen: Das erzeugte Wissen bleibt verfügbar, reichert sich mit der Zeit an und kann für andere Ziele wiederverwendet werden.
Ich hatte bereits eine Engine gebaut, die dieses Prinzip mit Codex oder Claude Code funktionieren lässt.
Auf meinem Mac läuft das gut.
Von meinem Telefon aus hatte ich ebenfalls eine Lösung gefunden: aus der Ferne auf das auf dem Mac laufende Codex zugreifen.
Aber sie hat eine ziemlich offensichtliche Schwäche.
Es braucht:
- einen eingeschalteten Mac;
- eine bestehende Internetverbindung;
- einen funktionierenden Fernzugriff.
Zu Hause stört das kaum.
Im Feld deutlich mehr.
Der Fall, der mich besonders interessierte, waren zwei bevorstehende Fachmessen: eine Woche lang nur mit dem Telefon unterwegs sein, mit Ausstellern sprechen, Informationen sammeln, Interviews vorbereiten und eventuell noch am selben Tag einen Artikel produzieren.
Ich hatte keine Lust, von einem Mac abzuhängen, der einige Dutzend oder Hundert Kilometer entfernt irgendwo eingeschaltet steht.
Also habe ich mich gefragt, ob ich ihn ganz aus der Gleichung nehmen kann.
Der Auslöser: ChatGPT hatte schon fast alles
Als ich das Problem anders betrachtet habe, ist mir klar geworden, dass eine Kontext-Engine letztlich drei große Bausteine braucht.
- Es braucht eine Engine, die über Information nachdenken kann.
- ChatGPT kann das bereits.
- Es braucht Regeln, die der Engine erklären, wie sie arbeiten soll.
- Die Direktiven eines ChatGPT-Projekts können diese Rolle übernehmen.
- Und es braucht schließlich ein Gedächtnis, das Gespräche überlebt.
- Das war das fehlende Teil.
Meine Architektur konnte also so aussehen:
Engine → ChatGPT
Direktiven → ChatGPT-Projekt
Persistenz → Google Sheets
Der Persistenz-Hack aus meinem vorherigen Artikel lieferte genau diesen dritten Baustein.
Von da an wurde die Portierung meiner Kontext-Engine nach ChatGPT deutlich weniger exotisch.
Ich musste kein vollständiges System um ChatGPT herum neu bauen.
Die KI-Engine war schon da.
Es ging vor allem darum, ihr ihre Regeln zu geben und ein externes Gedächtnis, das sie lesen und verändern kann.
Wie ich die Engine nach ChatGPT portiert habe
Anfangs habe ich versucht, alle Regeln der Engine direkt in die Projekt-Direktiven zu packen.
Das hat nicht lange gehalten.
Die Projekt-Direktiven sind auf etwa 8 000 Zeichen begrenzt, und meine Engine brauchte schon deutlich mehr.
Also habe ich die Regeln in zwei Ebenen getrennt.
Die erste Ebene ist der CORE.
Das ist der Teil, der direkt in die Direktiven des ChatGPT-Projekts kommt.
Er enthält, was für den Betrieb der Engine absolut unverzichtbar ist:
- was ein Kontext ist;
- wo er gespeichert liegt;
- welche Befehle existieren;
- wie man einen Kontext öffnet;
- wie man eine Quelle persistiert;
- die Struktur der Dateien;
- die wichtigsten Invarianten;
- die Hierarchie der Direktiven.
Die zweite Ebene ist eine erweiterte Direktive.
Sie ist deutlich umfangreicher und lebt in einem Google Doc.
Sie enthält zum Beispiel:
- die ausführliche Methode der Ingestion;
- die Kriterien für die Erzeugung atomarer Wissenseinheiten;
- die Verwaltung von State und Synthesis;
- die Entscheidungen;
- die Widersprüche;
- die Aufgabenliste;
- die Lesestrategien;
- die Produktionsregeln;
- den Umgang mit Fehlern und Grenzfällen.
Die Hierarchie sieht dann so aus:
CORE
↓
Erweiterte Direktive
↓
Kontextspezifische Direktiven
Der CORE weiß, wo die erweiterte Direktive liegt, und weist ChatGPT an, sie zu Beginn eines neuen Gesprächs zu laden.
Die Trennung ist also nicht nur da, um das System eleganter zu machen.
Sie beantwortet vor allem eine sehr konkrete Beschränkung: Die gesamte Engine passt nicht in die Direktiven eines ChatGPT-Projekts.
Google Sheets wird zum Gedächtnis des Kontexts
Anschließend blieb noch, den Kontext selbst abzubilden.
Ich hätte mehrere Google Docs verwenden können.
- Ein Dokument für die Quellen.
- Ein weiteres für den Zustand.
- Ein weiteres für das Wissen.
- Ein weiteres für die Aufgaben.
- ...
Aber ich hätte schnell eine Vielzahl wiederzufindender Dateien gehabt und ebenso viele Kennungen zu verwalten (auf diese technische Beschränkung kommen wir später zurück).
Google Sheets hat sich als deutlich praktischer erwiesen.
Ein Kontext entspricht einem Spreadsheet.
Innerhalb des Spreadsheets hat jeder Informationstyp seinen eigenen Tab.
Ich verwende derzeit diese Struktur:
00-FRAME
01-STATE
03-SESSIONS
04-ATOMIC
05-OUTPUTS
00-FRAME enthält insbesondere die Mission und die eventuellen kontextspezifischen Direktiven.
01-STATE enthält die Informationen, die nötig sind, um zu wissen, wo die Arbeit steht:
- State;
- Synthesis;
- Aufgabenliste;
- Entscheidungen;
- Widersprüche;
- Handoff.
03-SESSIONS enthält die persistierten Rohquellen.
04-ATOMIC enthält das stabilisierte Wissen.
05-OUTPUTS enthält die aus dem Kontext erzeugten Ergebnisse.
Google Sheets ist damit nicht mehr nur der Ort, an den ChatGPT eine Information schreibt, um sie zu sichern.
Das Spreadsheet wird zum vollständigen strukturierten Gedächtnis des Kontexts.
Bloß nicht alles neu laden
Das heißt allerdings nicht, dass ChatGPT bei jedem Gespräch das gesamte Spreadsheet lädt.
Das wäre wahrscheinlich eine sehr schlechte Idee.
Wenn ich schreibe:
Öffne Mein Kontext
sucht ChatGPT zuerst das passende Spreadsheet.
Dann lädt es nur dessen Kern:
- Mission;
- Direktiven;
- State;
- Synthesis;
- Aufgabenliste;
- Entscheidungen;
- Widersprüche;
- Handoff.
Die Quellen, die atomaren Wissenseinheiten und die alten Outputs bleiben im Sheet.
ChatGPT holt sie erst, wenn sie nötig werden.
Das ist ein wichtiger Punkt in der Art, wie ich das System denke.
Das Gedächtnis funktioniert nicht nach dem Prinzip:
Ich packe bei jedem Gespräch alles, was ich weiß, wieder in den Prompt.
Es funktioniert eher so:
Ich habe ein externes Gedächtnis, in dem ich die relevante Information genau dann holen kann, wenn sie nützlich wird.
Der Kontext wird zu einem adressierbaren externen Gedächtnis.
Das Detail, das enorm Zeit gekostet hat
In einer ersten Fassung hatte ich die Auflösung der Google-Kennungen noch nicht optimiert.
Jedes Mal, wenn ChatGPT in einem Kontext lesen oder schreiben wollte, musste es das passende Spreadsheet suchen und dann dessen ID ermitteln.
Und bei der nächsten Operation fing es wieder von vorn an.
Das funktionierte, aber manche Operationen kamen an die fünfzig Sekunden heran.
Ein erheblicher Teil dieser Zeit ging schlicht dafür drauf, etwas wiederzufinden, was wenige Sekunden zuvor schon gefunden worden war.
Also habe ich eine sehr einfache Regel ergänzt.
Sobald der Kontext geöffnet ist, behält ChatGPT für die Dauer des Gesprächs:
Name des Kontexts
→ Spreadsheet
→ Spreadsheet ID
Alle folgenden Operationen nutzen direkt diese ID.
Neu aufgelöst wird sie nur, wenn:
- man den Kontext wechselt;
- die ID nicht mehr verfügbar ist;
- der Zugriff fehlschlägt.
Das wirkt ziemlich naheliegend.
Aber es verändert die Flüssigkeit des Systems enorm.
Persistieren ist nicht Lernen
Die Engine selbst stellt am Ende sehr wenige Befehle bereit.
Öffne <Kontext>
Persistiere <Inhalt>
Todo <Aktion>
Ingestiere
Speichere
Öffne lädt einen Kontext.
Persistiere bewahrt eine neue Quelle auf.
Todo fügt eine zu erledigende Aufgabe hinzu.
Ingestiere analysiert die neuen Quellen und aktualisiert das strukturierte Wissen (Erzeugung oder Anreicherung von Notizen).
Speichere aktualisiert die Elemente, die es erlauben, die Mission im nächsten Gespräch sauber wieder aufzunehmen.
Die wichtigste Unterscheidung des Systems ist aber vermutlich diese:
Persistiere ist nicht Ingestiere.
Wenn ich sage:
Persistiere ...
bitte ich die Engine nicht, das gerade Gesagte als wahr zu betrachten.
Ich bitte allein darum:
Bewahre dieses Material auf.
Es wird zu einer Quelle.
Bei der Ingestion kann die Engine dann feststellen, dass ihr Inhalt einem der folgenden Fälle entspricht:
- einer tatsächlich getroffenen Entscheidung;
- einer Aufgabe;
- einem Widerspruch;
- einer für den aktuellen Zustand nützlichen Information;
- einem hinreichend stabilisierten Wissen, das zu einer atomaren Notiz werden kann;
- oder schlicht etwas, das als Quelle aufzubewahren ist, ohne weiter zu gehen.
Das verhindert eine Entgleisung, die mir in KI-Gedächtnissystemen besonders gefährlich erscheint.
Wenn jede Produktion der KI automatisch zu Wissen des Systems wird, kann die KI am Ende ihre eigenen früheren Produktionen als Beleg verwenden.
Ich versuche deshalb, eine strikte Trennung aufrechtzuerhalten:
Quelle ≠ Wissen ≠ Zustand ≠ Synthese ≠ Ergebnis
Eine Quelle sagt:
Das ist gesagt oder beobachtet worden.
Ein stabilisiertes Wissen sagt etwas anderes:
Das betrachtet das System nun als hinreichend gesichert und wiederverwendbar.
Ein Kontext in der Hosentasche
Auf dem Telefon wird diese Portierung für mich wirklich interessant.
Ich arbeite ohnehin sehr viel mit Sprachdiktat.
Und in diesem konkreten Fall verändert das das Verhältnis zum System vollständig.
Nehmen wir noch einmal das Beispiel einer Fachmesse.
Ich komme mit einem bereits vorbereiteten Kontext an.
Vom Telefon aus:
Öffne Messe-X
Ich spreche mit einem ersten Aussteller.
Wenn ich den Stand verlasse, habe ich nicht unbedingt Lust, stehen zu bleiben, eine Notiz-App zu öffnen und fünf Minuten lang auf einer winzigen Tastatur zu tippen.
Ich gehe zum nächsten Stand und diktiere ChatGPT einfach, was ich gerade erfahren habe.
Dann:
Persistiere <was ich gerade diktiert habe>
Das kann einige Dutzend Sekunden dauern.
Ich mache mit meinem Tag weiter.
Nach mehreren Gesprächen:
Ingestiere
Die Engine beginnt dann, das Gesammelte zu strukturieren.
Und genau hier wird die Nutzung interessanter als ein bloßes Notizsystem.
Ich kann ChatGPT fragen:
Was fehlt mir noch, um dieses Thema wirklich zu verstehen?
Oder:
Welche Widersprüche sollte ich beim nächsten Aussteller überprüfen?
Oder auch:
Welche wichtigen Fragen habe ich bisher niemandem gestellt?
Diese Antwort kann ich bekommen, während ich noch auf der Messe bin.
Und also sofort losgehen und die fehlenden Fragen stellen.
Der Zyklus sieht dann so aus:
Gespräch
↓
Sprachdiktat im Gehen
↓
Persistiere
↓
Ingestiere
↓
blinde Flecken suchen
↓
zurückgehen und Fragen stellen
↓
den Kontext vervollständigen
Das ist wahrscheinlich, was meine Nutzung am stärksten verändert.
Die KI greift nicht mehr nur nach der Erhebung ein, um mir beim Produzieren zu helfen.
Sie kann während der Erhebung eingreifen, solange sich die Qualität der Information noch verbessern lässt.
Plaud: Gespräche in den Kontext hineinholen
Ich benutze außerdem ein Plaud Note Pro.

Mein Plaud Note Pro, mit dem ich im Feld Gespräche und Interviews aufnehmen kann.
Das Plaud Note Pro ist ein kleiner Sprachrekorder, mit dem sich Meetings, Gespräche oder Interviews aufzeichnen lassen.
Die Aufnahme ist danach in Plaud verfügbar und kann transkribiert werden.
Für mein System ist allerdings nicht die automatische Zusammenfassung von Plaud das Interessanteste.
Ich will die vollständige Transkription holen.
Und es gibt noch ein wichtiges Teil: ChatGPT kann über seinen Connector direkt auf Plaud zugreifen.
Ich kann also aus ChatGPT heraus zum Beispiel fragen:
Liste mir meine drei letzten Plaud-Aufnahmen auf und sag mir zu jeder in einer Zeile, worum es geht.

Beispiel einer Plaud-Abfrage aus ChatGPT heraus, um die letzten Aufnahmen wiederzufinden.
ChatGPT kann diese Aufnahmen finden und dann direkt ihre Transkription abrufen.
Damit lässt sich ein viel direkterer Workflow denken:
reales Gespräch
↓
Plaud
↓
Transkription
↓
ChatGPT holt die Transkription direkt
↓
Persistiere
↓
Rohquelle des Kontexts
↓
Ingestiere
Ich muss also nicht:
- eine Datei von Hand herunterladen;
- die Transkription öffnen;
- sie kopieren;
- zu ChatGPT zurückkehren;
- sie einfügen.
Ich kann all das automatisch erledigen, per Sprache, von meinem Telefon aus.
Und ich lasse lieber die vollständige Rohtranskription in den Kontext eingehen als eine bloße Zusammenfassung.
Die Zusammenfassung ist bereits eine Interpretation.
Die Transkription bleibt viel näher am Ausgangsmaterial.
Sobald das Gespräch im Kontext liegt, kann ich fragen:
- Was hat mir diese Person gerade wirklich beigebracht?
- Was widerspricht den vorherigen Gesprächen?
- Welche Behauptungen verdienen eine Überprüfung?
- Welche Fragen sollte ich der nächsten Person stellen?
Die nötigen Bausteine funktionieren bereits.
Allerdings habe ich diesen Workflow Plaud → ChatGPT → Kontext noch nicht ausreichend über lange Feldtage hinweg erprobt, um zu behaupten, er laufe vollkommen flüssig.
Das ist also noch eine Nutzung, die weiter zu testen ist.
Wie man das System nachbaut
Ich habe zwei Dateien vorbereitet, die den beiden Ebenen der Direktiven entsprechen.
Der CORE
Der CORE steht hier bereit:
Dieser Teil ist in die Direktiven des ChatGPT-Projekts zu kopieren.
Die erweiterte Direktive
Die ausführliche Direktive steht hier bereit:
Sie gehört in ein Google Doc, auf das ChatGPT zugreifen kann.
Vor dem Start musst du natürlich Google Drive mit ChatGPT verbinden und den Zugriff auf die von der Engine genutzten Dokumente erlauben.
Die IDs konfigurieren
Der CORE enthält unter anderem zwei Kennungen:
DOCUMENT_ID = xxxx
FOLDER_ID = xxxx
DOCUMENT_ID entspricht dem Google Doc mit der erweiterten Direktive.
In einer URL wie:
https://docs.google.com/document/d/xxxx/edit
ist der Teil xxxx die Kennung des Dokuments.
FOLDER_ID entspricht dem Google-Drive-Ordner, in dem die Kontexte abgelegt werden.
Bei einer URL wie:
https://drive.google.com/drive/folders/xxxx
ist die Kennung wiederum der Teil xxxx.
Jede Nutzerin und jeder Nutzer muss diese Werte natürlich durch die der eigenen Umgebung ersetzen.
Ein Spreadsheet pro Kontext
Wird ein neuer Kontext angelegt, erzeugt die Engine ein Spreadsheet mit:
00-FRAME
01-STATE
03-SESSIONS
04-ATOMIC
05-OUTPUTS
Es wird anschließend in dem durch FOLDER_ID definierten Ordner abgelegt.
Die Kennung jedes einzelnen dieser Spreadsheets muss nicht von Hand in die Direktiven übertragen werden.
Wenn ich sage:
Öffne Mein Kontext
sucht ChatGPT das passende Spreadsheet im Kontext-Ordner, holt dessen ID und behält sie für die Dauer des Gesprächs.
Damit ist das System einsatzbereit.
Was diese Bastelei erlaubt — und ihre Grenzen
Diese ChatGPT-Fassung ersetzt nicht meine Engine unter Codex oder Claude Code.
Das war nicht das Ziel.
Sie hat mehrere Grenzen.
Sie ist langsamer.
Sie eignet sich weniger für Kontexte, die unmittelbar Python-Skripte, API-Aufrufe oder eine reichhaltigere Ausführungsumgebung brauchen.
Und vor allem fehlt mir noch der Abstand zu ihrem Verhalten, wenn ein Kontext über mehrere Wochen wirklich wächst.
Ich sehe sie deshalb als ergänzenden autonomen Modus.
Auf meinem Mac bleiben Codex oder Claude Code für bestimmte Missionen besser geeignet.
Aber von meinem Telefon aus kann ich jetzt einen Kontext nutzen, ohne davon abzuhängen, dass mein Mac eingeschaltet und erreichbar ist.
Und genau das war das Problem, das ich lösen wollte.
Es gibt außerdem eine amüsante Beobachtung rund um das Codex-Kontingent.
Während dieses gesamten Experiments in ChatGPT ist das angezeigte Codex-Kontingent nicht gesunken.
Beobachteter Verbrauch:
0
Ich behaupte damit natürlich nicht, dass daraus eine allgemeine Regel folgt, wie OpenAI diese Art von Nutzung abrechnet oder verbucht.
Ich stelle nur fest, dass diese Bastelei während dieses Experiments mein Codex-Kontingent nicht verbraucht hat.
Das System hat diesen Artikel bereits mit produziert
Am Anfang beantwortete mein erster Google-Sheets-Hack eine recht begrenzte Frage:
Wie holt man eine Information aus ChatGPT heraus und bewahrt sie dauerhaft auf?
Ein paar Tage später war daraus geworden:
Und wenn ich das gesamte strukturierte Gedächtnis des Kontexts hinausholen würde?
Genau das tut dieses System nun.
ChatGPT muss sich nicht mehr „an alles erinnern“.
Es muss vor allem wissen:
- wo zu suchen ist;
- was zu laden ist;
- was zu persistieren ist;
- wie eine Information einzuordnen ist;
- wie das bereits Gelernte wiederzufinden ist;
- wo die Arbeit steht.
Die Formel bleibt recht einfach:
ChatGPT denkt.
Die Direktiven definieren die Engine.
Google Sheets erinnert sich.
Und es hat etwas ziemlich Befriedigendes, dass die Vorbereitung und das Schreiben dieses Artikels selbst dazu gedient haben, das System zu testen, das der Artikel beschreibt.
Zur Vorbereitung dieses Textes habe ich ausschließlich diesen Kontext in ChatGPT genutzt.
Ich habe dort meine Ideen persistiert.
Ich habe sie ingestiert.
Wir haben blinde Flecken identifiziert.
Ich habe Formulierungen korrigiert.
Wir haben Aufgaben angelegt und abgeschlossen.
Ich habe die fehlenden Elemente ergänzt.
Dann habe ich eine erste Fassung des Artikels produziert, sie noch einmal gelesen und denselben Kontext genutzt, um diese V2 vorzubereiten.
Anders gesagt: Das System hat nicht nur als technischer Demonstrator gedient.
Es ist bereits benutzt worden, um wirklich die Arbeit zu machen, für die ich es gebaut habe.
Die Frage lautet also nicht mehr wirklich:
Funktioniert das?
Es funktioniert.
Die Frage, die mich jetzt interessiert, lautet eher:
Bleibt diese Architektur genauso praktisch, wenn derselbe Kontext im Feld über eine ganze Woche Fachmessen erprobt wird?
Das wird die weitere Nutzung zeigen.