Published on

Eine Million Token Kontext: was das praktisch bedeutet

Authors

Eine Million Token Kontextfenster — und warum Sie es nicht ausreizen sollten

TL;DR

Alle aktuellen Claude-Modelle bis auf Haiku 4.5 fassen eine Million Token, ohne Aufpreis für langen Kontext. Das verführt dazu, alles hineinzugeben — und genau das verschlechtert die Antworten und vervielfacht die Kosten. Bei sehr langen Gesprächen gibt es zwei Mechanismen, die besser wirken als Vollpacken.


Die Ausgangslage

ModellKontextfenster
Claude Fable 5, Opus 5, Sonnet 51 Million Token
Claude Opus 4.8, 4.7, 4.6, Sonnet 4.61 Million Token
Claude Haiku 4.5200.000 Token

Die letzte Zeile ist ein Ausschlusskriterium, kein Preisargument: Wer lange Dokumente oder umfangreiche Verläufe verarbeitet, kann Haiku unabhängig vom Preis nicht einsetzen.

Und ein Punkt, der die Planung erleichtert: Es gibt keinen Aufpreis für langen Kontext. Die Million steht zum regulären Token-Preis zur Verfügung.

Warum Vollpacken die falsche Reaktion ist

Der Reflex bei einem großen Fenster: einfach alles hineingeben — den ganzen Dokumentenbestand, den vollständigen Verlauf, sämtliche Werkzeugergebnisse. Drei Gründe, warum das schadet:

Es kostet linear. Eine Million Eingabe-Token kosten bei Claude Opus 5 fünf US-Dollar. Pro Anfrage. Bei 1.000 Anfragen am Tag reden wir über 5.000 US-Dollar täglich, wenn Sie das Fenster tatsächlich füllen.

Es verschlechtert die Antwort. Mehr irrelevanter Text im Kontext bedeutet mehr Gelegenheit für falsche Bezüge. In unseren Messungen an RAG-Systemen steigt die Treue der Antworten deutlich, wenn statt zwanzig abgerufenen Abschnitten nur sechs übergeben werden — bei gleichzeitig halbierten Kosten. Die Systematik steht im Beitrag zum Reranker.

Es macht das Caching wertlos. Ein Kontext, der sich bei jeder Anfrage ändert, cached nicht. Wer stattdessen einen stabilen Kern cached und nur die variable Frage anhängt, zahlt für den Kern ein Zehntel.

Die Regel, die wir daraus ableiten: Das große Fenster ist eine Reserve für den Einzelfall, keine Einladung zum Dauerbetrieb an der Obergrenze.

Wofür es sich tatsächlich lohnt

Drei Fälle, in denen die Million den Unterschied macht:

Ein vollständiges Repository in einem Durchgang. Für eine Umbauanalyse oder eine Abhängigkeitsprüfung ist es qualitativ etwas anderes, ob das Modell alles sieht oder Ausschnitte.

Lange Vertrags- oder Aktenbestände, bei denen Querbezüge über hunderte Seiten hinweg zählen.

Langlaufende Agentensitzungen, in denen sich über viele Werkzeugaufrufe hinweg Kontext ansammelt — der eigentliche Alltagsfall.

Was bei sehr langen Gesprächen hilft

Für den dritten Fall gibt es zwei Mechanismen, die das Vollpacken ersetzen. Sie klingen ähnlich und tun Verschiedenes:

Verdichtung fasst frühere Teile des Gesprächs serverseitig zusammen, wenn der Kontext eine Schwelle erreicht. Beta-Kennung compact-2026-01-12:

antwort = client.beta.messages.create(
    betas=["compact-2026-01-12"],
    model="claude-opus-5",
    max_tokens=16000,
    messages=verlauf,
    context_management={"edits": [{"type": "compact_20260112"}]},
)

# ENTSCHEIDEND: den gesamten content anhängen, nicht nur den Text
verlauf.append({"role": "assistant", "content": antwort.content})

Die letzte Zeile ist der Punkt, an dem Implementierungen still scheitern. Die Antwort enthält bei Verdichtung einen eigenen Block, den die API beim nächsten Aufruf braucht, um die zusammengefasste Historie zu ersetzen. Wer nur den Text herauszieht und anhängt, verliert den Verdichtungszustand — ohne Fehlermeldung, mit dem Ergebnis, dass die Verdichtung wirkungslos bleibt.

Kontextbereinigung ist etwas anderes: Sie entfernt alte Werkzeugergebnisse und Denkblöcke, statt sie zusammenzufassen. Beta-Kennung context-management-2025-06-27:

antwort = client.beta.messages.create(
    betas=["context-management-2025-06-27"],
    model="claude-opus-5",
    max_tokens=16000,
    context_management={"edits": [{"type": "clear_tool_uses_20250919"}]},
    tools=werkzeuge, messages=verlauf,
)

Verwechseln Sie die beiden nicht: Der Typ compact_20260112 gehört zur Verdichtung mit ihrer eigenen Beta-Kennung, clear_tool_uses_20250919 und clear_thinking_20251015 zur Bereinigung mit einer anderen. Eine Kennung mit dem falschen Typ zu kombinieren, funktioniert nicht.

Wann welches: Bereinigung, wenn alte Werkzeugergebnisse schlicht nicht mehr gebraucht werden — das ist der Normalfall in agentischen Schleifen. Verdichtung, wenn der Gesprächsinhalt weiterhin relevant ist und nur kürzer werden muss. Viele langlaufende Agenten nutzen beides.

Das Signal, wenn es doch nicht reicht

if antwort.stop_reason == "model_context_window_exceeded":
    # Kontextfenster erschöpft — verdichten oder aufteilen
    ...
elif antwort.stop_reason == "max_tokens":
    # Ausgabegrenze erreicht — max_tokens anheben oder strömen
    ...

Die beiden werden regelmäßig verwechselt. max_tokens bedeutet, dass die von Ihnen gesetzte Ausgabegrenze erreicht wurde. model_context_window_exceeded bedeutet, dass das Kontextfenster des Modells erschöpft ist — dagegen hilft kein höheres max_tokens.

Der Tokenisierungs-Vorbehalt

Eine Million Token sind nicht überall dieselbe Textmenge. Beim Wechsel von Claude Sonnet 4.6 auf Sonnet 5 erzeugt derselbe Text rund 30 Prozent mehr Token — das Fenster fasst dann entsprechend weniger.

Wer Kontextbudgets aus Erfahrungswerten eines älteren Modells fortschreibt, verrechnet sich. Zählen Sie nach einem Modellwechsel neu; die Systematik steht im Beitrag zum Token-Zählen.

Häufig gestellte Fragen

Kostet der lange Kontext bei Claude einen Aufpreis?

Nein. Die eine Million Token stehen zum regulären Token-Preis zur Verfügung, ohne Zuschlag für langen Kontext. Was Sie zahlen, sind schlicht die tatsächlich übermittelten Token — weshalb Kontextdisziplin trotzdem der wirksamste Kostenhebel bleibt.

Sollte ich das Kontextfenster ausreizen?

In aller Regel nicht. Ein voller Kontext kostet linear, verschlechtert die Antwortqualität durch irrelevanten Text und macht das Prompt-Caching wirkungslos. Behandeln Sie das große Fenster als Reserve für Einzelfälle, nicht als Dauerbetriebszustand.

Was ist der Unterschied zwischen Verdichtung und Kontextbereinigung?

Verdichtung fasst frühere Gesprächsteile serverseitig zusammen; Bereinigung entfernt alte Werkzeugergebnisse und Denkblöcke ersatzlos. Beide haben eigene Beta-Kennungen und eigene Typbezeichnungen, die nicht kombinierbar sind. Bereinigung passt, wenn alte Ergebnisse entbehrlich sind, Verdichtung, wenn der Inhalt weiterhin zählt.

Warum wirkt meine Verdichtung nicht?

Wahrscheinlich, weil beim Fortschreiben des Verlaufs nur der Text angehängt wurde. Bei aktiver Verdichtung enthält die Antwort einen eigenen Block, den die API beim nächsten Aufruf braucht — hängen Sie deshalb antwort.content als Ganzes an, nicht das extrahierte Textfeld. Der Fehler läuft still durch.

Was bedeutet model_context_window_exceeded?

Dass das Kontextfenster des Modells erschöpft ist — im Unterschied zu max_tokens, wo die von Ihnen gesetzte Ausgabegrenze erreicht wurde. Ein höheres max_tokens hilft hier nicht; nötig sind Verdichtung, Bereinigung oder eine Aufteilung des Vorgangs.


Der nächste Schritt

Messen Sie, wie viele Eingabe-Token Ihre Anfragen tatsächlich tragen. Liegt der Wert bei einem Vielfachen dessen, was zur Beantwortung nötig wäre, ist Kontextdisziplin Ihr größter Hebel — vor jedem Gedanken an ein größeres Fenster. Wir schauen gern mit drauf.

📖 Verwandte Artikel

Weitere interessante Beiträge zu ähnlichen Themen