Context Length Exceeded: Anfrage verkürzen und Ergebnis prüfen
Alle Kontextbestandteile messen, sichere Duplikate und irrelevanten Verlauf entfernen, Platz für die Ausgabe reservieren und prüfen, dass keine Pflichtinformationen fehlen.
Inhalt
Context Length Exceeded: Anfrage verkürzen und Ergebnis prüfen
Einen Fehler wie Context length exceeded behebt man nicht, indem man willkürlich die Hälfte des Prompts löscht. Erfassen Sie zuerst das Gesamtbudget, das Modell und die Größe jeder Anfragekomponente. Entfernen Sie dann mechanische Duplikate, irrelevanten Verlauf und umfangreiche Tool-Ergebnisse. Nach dem erneuten Senden prüfen Sie nicht nur, ob der Fehler verschwunden ist, sondern auch, ob Pflichtfakten und eine vollständige Antwort erhalten geblieben sind.
Was das Kontextfenster füllt
Der Kontext ist der Arbeitsspeicher einer Anfrage, nicht nur der letzte Nutzer-Prompt. Vereinfacht gilt:
system instructions
+ conversation history
+ current message
+ images and documents
+ tool definitions
+ tool results
+ output / thinking budget
= total context usage
Die Anthropic-Dokumentation zu Kontextfenstern zählt System-Prompt, alle Nachrichten, Bilder, Dokumente, Tool-Definitionen, Tool-Ergebnisse und die generierte Antwort ausdrücklich mit. Prompt Caching verändert die Kosten wiederverwendeter Tokens, entfernt sie aber nicht aus dem Fenster.
Hinterlegen Sie keinen vermeintlich universellen Grenzwert im Code: Kontextfenster und Überlaufverhalten hängen vom gewählten Modell und der API ab. Prüfen Sie die aktuelle Modellkarte am Tag der Konfiguration.
Die größte Komponente finden
| Komponente | Was messen? | Sicher verkürzen |
|---|---|---|
| Systemanweisungen | Wiederholte Regeln und lange Beispiele | Duplikate zusammenführen, zwingende Vorgaben behalten |
| Verlauf | Tokens je Nachricht und alte Gesprächszweige | Irrelevante Zweige entfernen oder durch eine überprüfbare Zusammenfassung ersetzen |
| Dateien und RAG-Fragmente | Größe jedes Dokuments, Duplikate und wenig relevante Chunks | top_k senken, deduplizieren und nur nötige Abschnitte übergeben |
| Tool-Definitionen | Ungenutzte Tools und lange Beschreibungen | Nur Tools für den aktuellen Schritt übergeben |
| Tool-Ergebnisse | Vollständiges JSON, Logs, HTML, Base64 und wiederholte Antworten | Nötige Felder, Links und IDs behalten; große Daten außerhalb des Prompts ablegen |
| Ausgabebudget | max_tokens und Thinking-Budget | Realistischen Platz reservieren oder ein großes Ergebnis in Etappen teilen |
Claude stellt eine eigene Token Counting API bereit, die Nachrichten und Tools vor dem Senden berücksichtigt. Nutzen Sie bei einem anderen Anbieter dessen Zähler, falls vorhanden. Ein lokaler Tokenizer eignet sich als frühe Warnung, seine Schätzung ist jedoch keine garantierte serverseitige Zählung für ein anderes Modell.
Öffnen Sie die aktuelle BetterToken-API-Dokumentation, führen einen kurzen Test-Request aus und finden ihn im Dashboard. Vergleichen Sie Input-, Output- und Cache-Tokens vor und nach dem Kürzen des Kontexts: Weniger Input-Tokens bestätigen, dass die Korrektur den echten Aufruf erreicht hat. Das Dashboard zeigt nicht den vollständigen Prompt und ersetzt kein Token Counting vor dem Senden.
Größe verringern, ohne Bedeutung zu verlieren
1. Mechanische Duplikate entfernen
Suchen Sie nach wiederholten Systemregeln, derselben Datei in mehreren Nachrichten, doppelten RAG-Chunks, erneut eingefügten Schemas und mehrfach kopierten vollständigen Logs. Das ist der sicherste Schritt, weil er die Größe reduziert, ohne die Aufgabe zu verändern.
2. Irrelevanten Verlauf entfernen
Trennen Sie langlebige Fakten vom vorübergehenden Gesprächsverlauf. Bewahren Sie Ziele, getroffene Entscheidungen, zwingende Einschränkungen und offene Fragen. Alte Überlegungen, verworfene Optionen und bereits verarbeitete Tool-Ergebnisse können wegfallen oder in eine strukturierte Zusammenfassung überführt werden.
Eine schlechte Zusammenfassung lautet: „Wir haben die Integration besprochen.“ Eine brauchbare nennt den gewählten Endpoint, die Schemaversion, akzeptierte Einschränkungen, bestätigte Fakten und den nächsten Schritt.
3. Dateien, RAG und Tool-Ergebnisse verdichten
Übergeben Sie relevante Abschnitte statt eines gesamten Dokuments. In einem Tool-Ergebnis behalten Sie die Felder, die der nächste Schritt benötigt, statt der vollständigen HTTP-Antwort oder des Logs. Entfernen Sie Quellen oder Pflichtdaten nicht nur, damit die Anfrage hineinpasst; teilen Sie die Arbeit lieber in mehrere überprüfbare Etappen.
4. Platz für die Antwort lassen
Ein- und Ausgabe teilen sich das Gesamtbudget. Füllt die Anfrage das Fenster fast aus, fehlt dem Modell möglicherweise Raum für eine vollständige Antwort. Reduzieren Sie optionalen Input, setzen Sie ein realistisches Ausgabebudget oder teilen Sie das Ergebnis auf. Kürzen Sie mechanische Duplikate vor kritischen Fakten.
5. Das Modell erst nach dem Messen wechseln
Ein Modell mit größerem Kontext kann für ein Dokument richtig sein, das sich nicht sicher teilen lässt. Ohne Duplikate zu beseitigen, verschiebt ein größeres Fenster den nächsten Fehler nur und kann die Informationsdichte verschlechtern.
Minimaler Check vor dem Senden
components = count_by_section(request)
estimated_input = sum(components)
reserved_output = requested_output_budget
if estimated_input + reserved_output approaches current_model_window:
remove exact duplicates
drop irrelevant history
compact tool results and retrieved chunks
count again
send only after required facts and constraints remain present
approaches wird absichtlich nicht durch einen festen Prozentsatz ersetzt. Der nötige Puffer hängt von der Genauigkeit des Zählers, dem Modell, dem Thinking und dem Verhalten der jeweiligen API ab.
So prüfen Sie die Behebung
Vergleichen Sie die neue Anfrage mit dieser Checkliste:
- Die API gibt weder
context length exceedednochprompt is too longzurück. - Die Antwort endet regulär und wird nicht wegen ausgeschöpften Ausgabebudgets abgeschnitten.
- Die Antwort enthält alle Pflichtfakten, Einschränkungen und das geforderte Format.
- Zitate oder Links passen weiterhin zu den übergebenen Quellen.
- Tool-Aufrufe verwenden die richtigen Argumente, und beim Verdichten gingen keine wichtigen Ergebnisse verloren.
- Die neue Input-Nutzung liegt tatsächlich unter der ursprünglichen.
Verschwindet der Fehler, vergisst das Modell aber eine zentrale Einschränkung, ist die Behebung nicht gelungen. Stellen Sie den Pflichtblock wieder her und schaffen Sie Platz durch weniger relevanten Verlauf oder ein schweres Tool-Ergebnis. Wird die Antwort abgeschnitten, prüfen Sie das Ausgabebudget separat; es ist ein anderer Teil desselben Gesamtfensters.
Kurzfassung
Die zuverlässige Reihenfolge lautet: Modell bestimmen → Komponenten zählen → exakte Duplikate entfernen → irrelevanten Verlauf auslagern → Dateien und Tool-Ergebnisse verdichten → Platz für die Antwort lassen → erneut senden → Qualität prüfen. So beseitigen Sie die Ursache, ohne aus dem Kontext eine beliebig gekürzte Faktensammlung zu machen.