Was ein lange laufender Agent behält und was er verwirft
Eine Aufgabe, die einen Agenten neunzig Minuten und sechzig Werkzeugaufrufe kostet, erzeugt einen Verlauf, der in kein Fenster passt. Etwas muss weg, und die naheliegende Antwort — das Älteste zusammenfassen — verwirft genau den Teil, der erklärt, warum der Agent dort steht, wo er steht.
Wo es bricht
Unser Migrationsagent arbeitet einen Stapel ab: Datei lesen, Regel prüfen, umwandeln, verifizieren, weiter. Bei einem großen Stapel macht er sechzig oder mehr Werkzeugaufrufe, und um Aufruf vierzig überschreitet der angesammelte Verlauf das, was wir zu senden bereit sind.
Die erste Fassung fasste das älteste Drittel zusammen, sobald der Verlauf zu lang wurde. Das funktionierte, bis es nicht mehr funktionierte: Der Agent begann Umwandlungen erneut zu versuchen, die er bereits versucht und verworfen hatte — denn der Nachweis dieser Versuche lag in dem Teil, der wegverdichtet worden war.
Drei Arten von Verlauf, eine Verdichtung
Eine Trajektorie enthält Beobachtungen, also was Werkzeuge zurückgaben; Entscheidungen, also was der Agent gewählt hat und warum; und Fehler, also was gescheitert ist. Wir hatten alle drei als Text gleichen Werts behandelt — genau das tut ein gleichmäßiger Zusammenfasser.
Sie sind nicht gleich. Eine Beobachtung ist meist wiederbeschaffbar, denn das Werkzeug lässt sich erneut aufrufen. Eine Entscheidung ist es nicht, und ein gescheiterter Versuch ebenso wenig — und beides zu verlieren erzeugt den bestimmten Fehler, dass ein Agent im Kreis läuft.
Die Forschung zur Auswahl des Verdichteten
Kang und Kollegen veröffentlichten 2025 ACON, eine Arbeit zur Optimierung der Kontextverdichtung für Agenten mit langem Horizont, die behandelt, was verdichtet wird, als bewusst zu treffende Entscheidung statt als gleichmäßige Operation auf dem jeweils Ältesten.
Diese Rahmung deckte sich mit dem, was uns unser Vorfall auf dem teuren Weg beigebracht hatte. Die Frage ist nicht, wie viel verdichtet wird, sondern welche Teile — und die Antwort hängt davon ab, ob sich der Inhalt durch einen erneuten Aufruf wiederherstellen lässt.
| Element des Verlaufs | Was wir tun |
|---|---|
| Werkzeugbeobachtungen | Beherzt verdichten. Wiederbeschaffbar |
| Entscheidungen und ihre Gründe | Wörtlich behalten. Nicht wiederherstellbar |
| Gescheiterte Versuche und Fehler | Wörtlich behalten. Verhindert Schleifen |
| Die ursprüngliche Aufgabenstellung | Wörtlich behalten. Immer zuerst |
Die Regel, bei der wir gelandet sind
Beobachtungen verdichten, Entscheidungen und Fehler bleiben. In der Praxis schreibt der Agent eine kurze strukturierte Notiz, wenn er etwas entscheidet und wenn etwas scheitert, und diese Notizen werden nie zusammengefasst. Werkzeugausgaben werden auf das eingedampft, worauf sich die Entscheidung bezog.
Doppelte Arbeit ging auf nahezu null zurück, und der Verlauf blieb bei Stapeln doppelter Größe im Budget. Der Preis ist etwas Struktur, die der Agent pflegen muss — eine Prompt-Anweisung und ein Schema, keine Architektur.
Die Aufgabenstellung zuerst behalten
Ein Detail, das mehr ausmachte, als es sollte. Die ursprüngliche Anweisung stand am Anfang des Verlaufs, lag also im ältesten Drittel und wurde mit allem anderen verdichtet — ein Agent nach vierzig Aufrufen arbeitete aus einer Zusammenfassung seines eigenen Auftrags.
Sie ist heute außerhalb des verdichtbaren Bereichs verankert. Diese eine Änderung behob eine Art von Drift, die wir dem Modell zugeschrieben hatten — eine nützliche Erinnerung daran, dass eine Erklärung auf Systemebene erschöpft sein sollte, bevor eine auf Modellebene folgt.
Wo wir deckeln statt zu verdichten
Manche Aufgaben sollten nicht neunzig Minuten laufen. Wir deckeln die Zahl der Werkzeugaufrufe, und darüber hinaus erzeugt der Agent ein Teilergebnis mit dem Erledigten und dem Verbliebenen, das ein Mensch aufnimmt.
Dieser Deckel ist wertvoller als die Verdichtung. Ein Agent, der sechzig Aufrufe ohne Abschluss gemacht hat, ist meist nicht kurz vor dem Abschluss — die Verdichtungsarbeit hat lange Läufe überlebensfähig gemacht, nicht produktiv, und diese Unterscheidung gehört ehrlich benannt.
Was wir protokollieren
Die unverdichtete Trajektorie, gesondert, immer. Der Agent arbeitet aus einer verdichteten Sicht, und unsere Traces behalten alles — denn ein Fehler, der sich erst nach fünfzig Aufrufen zeigt, lässt sich aus dem verdichteten Verlauf, den der Agent sah, nicht diagnostizieren.
Speicher ist billig und diese Trajektorien sind groß, deshalb bewahren wir sie dreißig Tage auf statt unbegrenzt. Jede Diagnose, die wir gebraucht haben, lag innerhalb einer Woche nach dem Lauf.
Was wir nicht behaupten
Wir behaupten nicht, unsere drei Kategorien seien allgemein die richtige Zerlegung. Sie sind die, auf die es bei einer Aufgabe ankam, deren Werkzeuge sich billig erneut aufrufen lassen — ein Agent mit teuren oder nicht wiederholbaren Beobachtungen bräuchte eine andere Regel.
Wir behaupten auch nicht, Verdichtung sei einem größeren Fenster vorzuziehen. Wo die ganze Trajektorie hineinpasst, senden wir die ganze Trajektorie; die Verdichtung existiert, weil manche Aufgaben jedes bezahlbare Fenster übersteigen, und nicht, weil selektives Gedächtnis eine Tugend wäre.
