Context Window
Ein Kontextfenster ist die maximale Anzahl an Tokens, die ein Modell bei einer Anfrage berücksichtigen kann. Prompt, Verlauf, Dokumente und Antwort teilen sich dieses Fenster.
Ein Kontextfenster ist die maximale Anzahl von Token, die ein Modell bei einer einzelnen Anfrage berücksichtigen kann. Bei einem Large Language Model (LLM) beansprucht alles, was es liest und schreibt, dieses Kontingent: der System-Prompt, Tool-Definitionen, Gesprächsverlauf, abgerufene Dokumente, die Frage des Nutzers und die erzeugte Antwort. Text außerhalb des Fensters erreicht das Modell überhaupt nicht. Deshalb verliert ein Chatbot bei sehr langen Gesprächen den Gesprächsbeginn aus dem Blick, sobald frühere Gesprächsrunden abgeschnitten werden. Die Fenstergröße stieg von 2.048 Token bei GPT-3 über 128.000 Token bei GPT-4 Turbo Ende 2023 auf 1 Million bei Googles Gemini 1.5 Pro im Jahr 2024. Metas Llama 4 Scout gibt sogar 10 Millionen an.
Was das Kontextfenster füllt#
Tokenisierung zerlegt Text in Teile von Unterwörtern, die im Englischen durchschnittlich etwa vier Zeichen umfassen. Ein Fenster mit 128.000 Token fasst daher ungefähr 300 Seiten Text. Ein Vision-Language-Modell (VLM) benötigt auch für Bilder Token, normalerweise Hunderte Patch-Token pro Bild. Ein langes Video füllt das Fenster daher viel schneller als sein Transkript. Erzeugte Token zählen gegen dieselbe Grenze, und Anbieter legen darin eine separate Obergrenze für die Ausgabelänge fest. Anwendungen mit langen Gesprächen oder KI-Agenten stellen den Prompt deshalb bei jeder Gesprächsrunde neu zusammen und entscheiden, welche Inhalte erhalten bleiben:
Warum Kontextfenster begrenzt sind#
Mit der Länge steigen zwei Kosten. Self-Attention vergleicht jedes Token mit jedem anderen Token. Deshalb wächst der Rechenaufwand für Attention quadratisch mit der Tokenzahl. Bei der Texterzeugung speichert der KV-Cache Schlüssel und Werte aller früheren Token: Llama 3.1 8B mit 32 Ebenen und 8 Key-Value-Heads mit jeweils 128 Dimensionen benötigt bei 16-Bit-Genauigkeit 128 KiB pro Token. Bei einem vollständigen Fenster mit 131.072 Token sind das 16 GiB – mehr als die 16 GB Speicherplatz, die seine Gewichte belegen.
Auch das Training bestimmt die Fenstergröße. Ein mit Sequenzen von 8.000 Token trainiertes Modell kennt keine Positionen darüber hinaus. Für eine Erweiterung müssen seine rotatorischen Positions-Embeddings (RoPE) mit Verfahren wie YaRN skaliert und kurz mit längeren Texten feinabgestimmt werden. Für die Verarbeitung langer Fenster werden speichersparende Verfahren eingesetzt: Flash Attention berechnet Attention exakt, ohne die gesamte Bewertungsmatrix zu speichern; Grouped-Query Attention (GQA) verkleinert den KV-Cache; Sliding-Window-Attention beschränkt jedes Token auf benachbarte, kürzlich verarbeitete Token; und Ring Attention verteilt eine Sequenz auf viele GPUs.
Angegebenes und tatsächlich nutzbares Kontextfenster#
Ein Modell, das eine Million Token aufnimmt, verarbeitet nicht alle gleich gut. Die Studie Lost in the Middle aus dem Jahr 2023 ergab, dass Modelle am besten antworten, wenn sich die relevante Passage am Anfang oder Ende des Prompts befindet, und am schlechtesten, wenn sie in der Mitte steht. Tests nach dem Prinzip Nadel im Heuhaufen (NIAH) messen das Wiederfinden einer eingefügten Information bei jeder Tiefe und Länge. Der anspruchsvollere RULER-Benchmark zeigte, dass nur die Hälfte von 17 Modellen mit einem angegebenen Kontextfenster von mindestens 32.000 Token bei 32.000 Token zufriedenstellend abschnitt. Der allmähliche Leistungsabfall bei längeren Eingaben heißt Kontextverfall. Retrieval-Augmented Generation (RAG) und Kontextgestaltung wirken dem entgegen, indem sie nur relevante Inhalte ins Fenster aufnehmen.
Kontextfenster und verwandte Begriffe#
- Rezeptives Feld: Der Bereich eines Eingabebildes, der eine Ausgabe eines Convolutional Neural Network (CNN) beeinflusst. Seine Größe wird durch Kernelgrößen und Netzwerktiefe festgelegt; ein Kontextfenster hingegen ist ein Token-Kontingent.
- Batch-Größe: Die Anzahl unabhängiger Sequenzen, die gleichzeitig verarbeitet werden. Das Kontextfenster begrenzt die Länge jeder Sequenz.
- Speicher: Der Speicher eines Agenten, etwa ein episodisches Gedächtnis in einer Vektordatenbank, bleibt außerhalb des Fensters erhalten und wird bei Bedarf hineinkopiert.
Kontextfenster bei der Erkennung mit offenem Vokabular#
Auch Textencoder in Bildverarbeitungsmodellen haben Kontextfenster. Ultralytics YOLOE und YOLO-World kodieren jeden Klassen-Prompt mit einem Textencoder aus der CLIP-Familie, dessen Kontextfenster 77 Token umfasst. Der Ultralytics-Textencoder kürzt längere Prompts standardmäßig. Der CLIP-Tokenizer zeigt, was abgeschnitten wird:
import clip
from clip.simple_tokenizer import SimpleTokenizer
prompt = (
"a warehouse worker wearing a yellow high-visibility vest, a white hard hat, blue gloves and clear safety "
"glasses, standing beside a red forklift that carries wooden pallets stacked with brown cardboard boxes, "
"under bright ceiling lights in a narrow aisle between tall metal shelves, next to a fire extinguisher "
"mounted on the wall, a green emergency exit sign, an open loading dock door and a black dog"
)
# CLIP's BPE tokenizer wraps the text in start and end tokens
tokenizer = SimpleTokenizer()
print(f"Prompt length: {len(tokenizer.encode(prompt)) + 2} tokens")
# The text encoder reads a fixed 77-token window, so truncation drops the tail
tokens = clip.tokenize(prompt, truncate=True)[0]
kept = tokenizer.decode(tokens[1:-1].tolist())
print(f"Window: {len(tokens)} tokens ending in '{' '.join(kept.split()[-4:])}'")
print(f"'black dog' kept: {'black dog' in kept}")Der Prompt umfasst 80 Token. Das Fenster behält also die ersten 75 Text-Token sowie Start- und Endmarkierungen, endet mit „loading dock door and“ und schneidet „a black dog“ ab, bevor der Encoder den Text überhaupt sieht.










