Eine Million Token in einem Lauf

Ein Rechercheauftrag lief an. Der Agent sollte Informationen aus mehreren Quellen zusammenführen, einordnen und einen strukturierten Bericht liefern. Die Aufgabe war nicht ungewöhnlich. Der Lauf war es.
Nach etwa der Hälfte brach er ab. Die Fehlermeldung nannte die Kontextgrenze: Das Modell hatte mehr Text verarbeitet, als es in einem einzigen Gespräch aufnehmen kann. Rund eine Million Token.
Was ist ein Token, und warum spielt es eine Rolle
Ein Token ist ungefähr drei Viertel eines Worts. Ein Modell kann pro Aufruf nur eine bestimmte Menge davon verarbeiten. Was darüber hinausgeht, fällt weg, oder der Lauf bricht ab.
Bei einem langen Auftrag wächst dieser Stapel schnell: die ursprüngliche Aufgabe, jede Quelle, die der Agent liest, jede Zwischenantwort, jede Rückmeldung. Alles bleibt im selben Gespräch liegen. Nach einer Weile ist der Platz weg.
Das eigentliche Problem war nicht das Modell
Wir hätten ein Modell mit grösserem Kontextfenster nehmen können. Das wäre teurer gewesen, hätte aber dasselbe grundlegende Problem nur verschoben.
Das eigentliche Problem war der Zuschnitt: Ein einzelner Agent versuchte alles auf einmal zu erledigen. Lesen, Zusammenfassen, Einordnen, Schreiben. Der Kontext dieses einen Agents wuchs mit jeder Quelle.
Die Lösung war eine andere Aufteilung. Statt einem grossen Agent mehrere kleine: Jeder Helfer-Agent liest eine Quelle, fasst sie zusammen und gibt das Ergebnis ab. Sein Kontext verfällt danach. Der Hauptagent bekommt nur die Zusammenfassungen, nicht die Originale.
Dieselbe Arbeit. Aber der Kontext des Hauptagents blieb schlank, weil er nie die Rohdaten sah.
Was dabei herauskam
Der überarbeitete Lauf brauchte rund ein Hundertfünfundzwanzigstel des ursprünglichen Kontexts. Nicht weil weniger gelesen wurde, sondern weil das Gelesene nicht mitgeschleppt wurde.
Das ist kein kleiner Unterschied. Es ist der Unterschied zwischen einem Lauf, der abbricht, und einem, der durchläuft.
Was sich daraus ableiten lässt
Kontext ist bei Sprachmodellen eine begrenzte Ressource, ähnlich wie Arbeitsspeicher. Ein Agent, der alles im selben Gespräch ansammelt, läuft früher oder später voll. Das merkt man meistens erst, wenn der Auftrag gross genug ist.
Die Frage beim Bauen eines Ablaufs ist deshalb nicht nur: Was soll der Agent wissen? Sondern auch: Was muss er nicht behalten?
Wer einen Auftrag in kleinere Schritte teilt, bei denen jeder Schritt nur das Ergebnis weitergibt und den Rest vergisst, hält den Kontext handhabbar. Und handhabbar bedeutet hier: der Lauf endet mit einem Bericht, nicht mit einer Fehlermeldung.
Wie gross sind die Aufträge, die Sie sich vorstellen, wenn Sie an Automatisierung denken? Die Kontextfrage stellt sich fast immer, sobald echte Daten ins Spiel kommen.
Was in Ihrem Fall zu tun ist, hängt von Ihrem Fall ab. Fragen Sie Karl, unseren KI-Assistenten. Er antwortet sofort, und wenn es weitergeht, übernimmt ein Mensch.
Karl fragen →Lieber gleich ein Mensch? Anfrage stellen.