Codex wechselt bei vollem Kontext das Fenster statt zusammenzufassen

Drei bereits in den Hauptzweig gemergte Pull Requests im Repository openai/codex zeigen, in welche Richtung OpenAI die Verwaltung des Codex-Kontextfensters umbaut: Sprengt eine Sitzung das Fenster, erzeugt das System keine Zusammenfassung mehr, um den Verlauf zu komprimieren, sondern aktiviert stattdessen direkt ein komplett neues Fenster für die weitere Arbeit. Die zugehörigen Funktionen liegen einheitlich hinter dem Feature-Flag `Feature::TokenBudget` und sind noch nicht offiziell live.

Der bisherige Ansatz ist zusammenfassungsbasierte Kompression. Wird das Fenster knapp, lässt das System den Server das bisherige Gespräch zu einer Zusammenfassung verdichten und ersetzt damit den Originalverlauf. Dieses Verfahren hat zwei feste Kosten: Das Erzeugen der Zusammenfassung selbst verbrennt Token, und die Kompression ist verlustbehaftet – Schnittstellenvereinbarungen, Pfadnamen, vor mehreren Runden getroffene Entscheidungen können beim Verdichten unter den Tisch fallen. Wer mit Codex lange Aufgaben gefahren hat, kennt das zweite Fehlerbild gut: Das Modell vergisst eine vor zwei Stunden festgelegte Regel – und antwortet trotzdem selbstbewusst.

Das Modell kann selbst ein neues Blatt anfordern

Der erste Schritt ist der am 11. Juni gemergte PR #27488 mit dem Titel "Add new context window tool". Er fügt dem Modell das Tool `new_context` hinzu, das ausschließlich dem Modell selbst zur Verfügung steht und laut Beschreibung des Autors als "Escape Hatch" dient, wenn das aktuelle Fenster unhandlich wird.

Die Anfrage wird auf `AutoCompactWindow` protokolliert und nach dem Sampling verbraucht; die darauffolgende Anfrage in derselben Runde landet bereits im neuen Fenster. Ausgangspunkt des neuen Fensters ist ein Kompressions-Checkpoint ohne Zusammenfassung, der nur den ursprünglichen Kontext behält – der vorherige Gesprächsverlauf wird nicht mitgenommen.

Auch die manuelle Bereinigung läuft jetzt über denselben Weg

Der zweite Schritt ist der am 23. Juni gemergte PR #29743. Er führt manuelle und automatische Kompression im gemeinsamen Lebenszyklus `compact_token_budget` zusammen: Ist das Token-Budget aktiv, holt die Kompression keine Zusammenfassung mehr vom Server, sondern lädt lokal direkt einen komplett neuen initialen Kontext.

In den technischen Details dieses Schritts steckt Zurückhaltung: Das nach außen sichtbare Verhalten bleibt erhalten, Compact-Hooks feuern wie gewohnt, das Lebenszyklus-Event `ContextCompaction` wird weiterhin ausgelöst. Clients, die von diesen Events abhängen, müssen also nichts ändern – geändert wird nur die Implementierung darunter.

Das Zurückholen übernehmen Verlauf und Notizen

Die ersten beiden Schritte lösen nur das "Wegwerfen"; erst der am 21. August gemergte PR #39827 ergänzt das "Zurückholen". Die Beschreibung dieses PRs bringt es auf den Punkt: Token-Budget-Sitzungen brauchen einen Weg, um früheren Gesprächskontext wiederherzustellen und den Arbeitszustand über Fensterwechsel hinweg zu bewahren.

Er fügt zwei Gruppen von Tools hinzu. Die Verlaufs-Tools listen Fenster und Einträge auf, lesen einen bestimmten Eintrag und durchsuchen den Sitzungsinhalt; die Notiz-Tools listen, lesen, durchsuchen, ergänzen und schreiben persistente Notizen. Die Aufrufe laufen über das Codex-Backend, erfordern den OpenAI-Provider und eine Backend-Authentifizierung und stehen ebenfalls hinter dem Feature-Flag `features.token_budget.use_history_notes_history`.

Technisch wurden mehrere Begrenzungen eingebaut: Die Ausgabe wird truncation-aware verarbeitet, Anfrageparameter haben feste Obergrenzen. Die Anmerkungen des automatisierten Reviews konzentrieren sich auf ein 10.000-Token-Limit für Klartextergebnisse, Parametergrenzen für Notiz-Operationen sowie den Vorschlag eines schrittweisen Rollouts.

Was hier eigentlich ausgetauscht wird

Zusammenfassungskompression und Fensterwechsel mit Retrieval sind im Kern zwei unterschiedliche Gedächtnisstrategien. Erstere ist implizite, verlustbehaftete Kompression – das Modell weiß nicht, was es verloren hat, und kann es auch nicht zurückholen. Letztere ist ein expliziter, zustandsloser Neustart – das Modell weiß genau, dass die alten Inhalte irgendwo noch existieren, und fragt sie bei Bedarf ab.

Auch der Preis verschiebt sich entsprechend. Verlustbehaftete Kompression scheitert leise; ein Fensterwechsel scheitert sichtbar als "hätte nachschauen müssen, hat es aber nicht" oder "hat nachgeschaut, aber nichts Passendes gefunden". Ersteres ist schwer zu debuggen, Letzteres lässt sich zumindest im Log erkennen. Für Agenten mit langen Aufgaben ist ein beobachtbarer Fehler deutlich handhabbarer als ein stiller.

Die eingesparten Kosten sind der Gewinn auf der anderen Seite. Eine Zusammenfassung erfordert einen zusätzlichen Modellaufruf, der in langen Sitzungen immer wieder anfällt; ein Fensterwechsel verursacht diesen Aufruf nicht, Retrieval erfolgt nur bei Bedarf und pro Eintrag. Für Vielnutzer, die ihr Kontingent täglich ausschöpfen, ist das ein handfester Betrag.

Klarzustellen ist noch das Tempo: Ein gemergter PR bedeutet nicht, dass die Funktion live ist. Alle drei Änderungen stecken hinter Feature-Flags, und das automatisierte Review empfiehlt weiterhin einen stufenweisen Rollout. Von der ersten Tool-Version im Juni bis zur Verlaufs- und Notiz-Ergänzung im August hat OpenAI gut zwei Monate an diesem Ansatz gefeilt – wann der Schalter umgelegt wird und für wen, dazu liefert das Repository bislang keine Antwort.

Quellen: drei bereits gemergte Pull Requests im Repository openai/codex, CocoLoop, automatisierte Review-Kommentare auf GitHub; Tool-Namen, Feature-Flag-Namen und Merge-Status wurden einzeln anhand der Repository-Aufzeichnungen geprüft.