Unterhaltungsverlauf
Eine lange Unterhaltung stößt an eine harte Wand: das Kontextfenster des Modells. Alles auf dieser Seite gibt es wegen dieser Wand. Interessant ist, was weggeworfen wird, was bleibt und was sich zurückholen lässt.
Vier Wege, Kontext zurückzugewinnen
Abschnitt betitelt „Vier Wege, Kontext zurückzugewinnen“Das sind weniger Alternativen als eine Leiter, die günstigste Stufe zuerst.
| Mechanismus | Kosten | Behält | Verliert |
|---|---|---|---|
| Auslassung | Nichts | Jedes Wort der Erzählung | Ältere, ereignislose Tool-Ergebnisse |
| Bildabwurf | Nichts | Den Text drumherum | Alte Screenshots |
| Snapshots | Nichts | Jedes Wort, als Pixel | Lesbarkeit für ein Modell ohne Vision |
| Zusammenfassung | Ein Modellaufruf | Eine Erzählung | Die Details, die sie nicht mitnimmt |
Auslassung und Bildabwurf laufen zuerst, weil sie nichts kosten und dort verlustfrei sind, wo es zählt: Sie werfen Ballast ab, den niemand noch einmal lesen würde.
Warum die Zusammenfassung der letzte Ausweg ist
Abschnitt betitelt „Warum die Zusammenfassung der letzte Ausweg ist“Nur die Zusammenfassung kostet einen Modellaufruf, und nur sie entscheidet für dich, was wichtig war. Beides sind echte Kosten. Der Aufruf ist der interessantere, wegen des Zeitpunkts.
Die Verdichtung läuft meist vor der Wand, an einer Schwelle. Sie läuft aber auch reaktiv, nachdem der Anbieter selbst eine Anfrage als zu groß abgelehnt hat: Die heuristische Schätzung lag unter dem, was der Anbieter tatsächlich gemessen hat. Dann muss ein zusammenfassender Verdichter eine Anfrage stellen, um den Kontext zu verkleinern, und genau diese Anfrage ist die, die gerade übergelaufen ist.
Snapshots
Abschnitt betitelt „Snapshots“Die Snapshot-Verdichtung rendert verworfenen Verlauf auf dichte Seiten aus Pixelglyphen und gibt sie als Bilder zurück.
Der Ausgangspunkt ist eine Eigenheit der Abrechnung. Ein Vision-Modell berechnet ein Bild pauschal oder nach Fläche, unabhängig davon, wie viele Zeichen darin stehen. Zwölftausend Zeichen verworfener Unterhaltung kosten so viele Text-Token wie zwölftausend Zeichen. Dieselben Zeichen auf eine Seite gerendert kosten ein Bild.
Dass sie sich lohnt und nicht nur schlau ist, liegt daran, dass sie keinen Modellaufruf, keinen Schlüssel und kein Netz braucht. Sie ist die einzige Strategie, die bei der Wiederherstellung nach einem Überlauf immer verfügbar ist.
Die Rekonstruktion hat die Form: Kopf wörtlich, Mitte als Bild, Ende wörtlich. Der Kopf ist die Aufgabe und die Randbedingungen, auf die alles Folgende zurückverweist. Das Ende ist, wo die Arbeit gerade steht. Die Mitte wird am seltensten wieder gelesen und kostet am meisten.
Snapshots werden bei jedem Durchgang aus dem behaltenen Quelltext neu gerendert, nie aus den Pixeln des vorigen Durchgangs. Ein Bild von einem Bild zu machen verschlechtert die Glyphen um eine Generation je Verdichtung, bis sie niemand mehr lesen kann.
Wovon ein Lauf wirklich ausgeht
Abschnitt betitelt „Wovon ein Lauf wirklich ausgeht“Früher startete jeder Harness-Lauf mit leerem Verlauf und baute die Kontinuität aus einem <context>-Block im Prompt wieder auf, also aus einer Zusammenfassung der Unterhaltung statt aus der Unterhaltung. Daraus folgten drei Dinge:
- Fortsetzen war ein Nacherzählen. Das Modell sah weder sein früheres Denken noch die tatsächlichen Bytes, die seine Tools geliefert hatten, nur eine Beschreibung davon.
- Zurückspulen starb mit dem Prozess. Ein
checkpointist ein Index in die Live-Nachrichtenliste, deshalb verlor ein Neustart jedes Label, das das Modell gesetzt hatte. - Erneut versuchen konnte „nichts zu wiederholen“ nicht von „nichts geladen“ unterscheiden. Nach einem Neustart ist der fehlgeschlagene Zug so oder so aus dem Live-Zustand weg.
Alle drei sind behoben, weil das Transkript gespeichert wird. Es wird an jeder Zuggrenze geschrieben und nie mitten im Zug: Einen Verlauf zwischen einem Tool-Aufruf und seinem Ergebnis nimmt kein Anbieter an. Ein Absturz in diesem Moment stellt deshalb den Zug davor wieder her, nicht einen halben Zug, der sich nicht erneut abspielen lässt.
Ein fortgesetzter Lauf wird auf seine neuesten Nachrichten gekürzt. Der Schnitt liegt an einer Grenze, die kein verwaistes Tool-Ergebnis ist. Ein Ergebnis, dessen Aufruf weggeschnitten wurde, lehnen Anbieter sofort ab, und ein Transkript, das sich nicht senden lässt, ist schlimmer als ein kurzes.
Der Sitzungsbaum
Abschnitt betitelt „Der Sitzungsbaum“Jede Nachricht merkt sich, an welche sie anschließt, und jede Unterhaltung nennt ihre aktuelle Zweigspitze. Diese eine Entscheidung ist die ganze Funktion.
Verzweigen schreibt nichts. Es verschiebt den Zeiger. Der Pfad, den du verlassen hast, ist noch da. Zurückwechseln ist also wieder nur eine Zeigerbewegung, keine Wiederherstellung. Einen Prompt zu bearbeiten und neu laufen zu lassen kostet dich nicht mehr die Antwort, gegen die du verglichen hast.
Ohne das muss jedes Zurückgehen Nachrichten verstecken oder löschen. Verstecken ist eine Lüge, die der nächste Leser nicht durchschaut.
Zweig und Fork
Abschnitt betitelt „Zweig und Fork“| Zweig | Fork | |
|---|---|---|
| Was passiert | Der Zeiger bewegt sich | Der Pfad wird kopiert |
| Wohin er geht | Dieselbe Unterhaltung | Eine neue Unterhaltung |
| Kosten | Nichts | Eine Kopie des Zweigs |
Ein Fork kopiert mit neuen IDs, statt Zeilen zu teilen. Zwei Unterhaltungen mit gemeinsamen Zeilen würden die späteren Nachrichten der anderen zeigen. Genau das darf ein Fork nicht.
Zurückspulen hängt am selben Zeiger
Abschnitt betitelt „Zurückspulen hängt am selben Zeiger“Das Paar checkpoint / rewind im Lauf markiert eine saubere Zuggrenze und kehrt nach einer Erkundung dorthin zurück, eine Kurzfassung bleibt erhalten. Weil Checkpoints mit dem Transkript gespeichert werden, landet ein Label, das das Modell vor einem Neustart gesetzt hat, weiterhin dort, wo es gesetzt wurde. Ein Checkpoint, dessen Ziel einen Zuschnitt nicht überstanden hat, wird verworfen, nicht geklemmt. Zum Label zurückzuspulen und woanders zu landen ist genau der Fehler, den ein Label verhindern soll.
Verwandt
Abschnitt betitelt „Verwandt“- Eine Unterhaltung verzweigen – der Baum-Navigator, Forks und Export
- Tool-Kontext und Prompt-Caching – die andere Hälfte dessen, was ein Kontextfenster füllt
- Slash-Befehle –
/compact,/shake,/context,/tree