Das Kontextfenster ist nicht dein Freund
Ein riesiges Kontextfenster ersetzt kein Retrieval: Die Trefferquote sinkt mit wachsendem Prompt, jeder Token kostet, und die Mitte wird nur überflogen.

Ein großes Kontextfenster ist eine Kapazitätsgrenze, keine Retrieval-Strategie. Dass ein Modell mehrere Hunderttausend Tokens akzeptiert, heißt nicht, dass es sie mit gleichmäßiger Aufmerksamkeit liest, und schon gar nicht, dass du dafür bezahlen solltest, sie zu senden. Jeder Long-Context-Benchmark, der sich die Mühe gemacht hat, Position und Länge zu messen, sagt dasselbe: Die Genauigkeit sinkt, je größer die Eingabe wird, und Belege, die in der Mitte eines Prompts vergraben sind, werden am wenigsten genutzt.
Die Neuausrichtung, die es zu verinnerlichen gilt: das Kontextfenster ist ein Budget, das du ausgibst, keine Datenbank, die du abfragst. Teams, die es wie Speicher behandeln, bauen Systeme, die langsamer, teurer und ungenauer sind als die Retrieval-Pipeline, die sie sich gespart haben.
Die zwei Fehlermodi sind unterschiedlich
Die beiden werden oft vermischt, dabei brauchen sie unterschiedliche Lösungen.
- Positionsbedingte Degradation. Der Lost-in-the-Middle-Effekt aus Liu et al. (2023): Die Genauigkeit ist am höchsten, wenn die relevante Passage ganz am Anfang oder ganz am Ende der Eingabe liegt, und sackt in der Mitte ab, was eine U-förmige Kurve ergibt. Verschiebst du dieselbe Tatsache vom Rand in die Mitte, sinkt die Antwortqualität, obwohl sich sonst nichts geändert hat.
- Längenbedingte Degradation. Die Genauigkeit sinkt, je größer die Eingabe wird, selbst wenn die Belege fest und günstig platziert sind. Folgearbeiten wie RULER (Hsieh et al., 2024) testeten Long-Context-Modelle an Multi-Needle- und Reasoning-over-Context-Aufgaben und stellten fest, dass die effektive Kontextlänge durchweg kürzer ist als die beworbene Zahl.
Positionsbedingte Degradation lässt sich manchmal durch Umsortieren umgehen. Längenbedingte Degradation nicht, weil das Problem die Größe des Heuhaufens selbst ist. Sie zu beheben heißt, weniger hineinzupacken.
Warum die Benchmark-Zahl in die Irre führt
Der Needle-in-a-Haystack-Test verdankt seine Popularität dem Umstand, dass er leicht durchzuführen und leicht zu bestehen ist. Versteck einen deplatzierten Satz an verschiedenen Stellen in einem langen Dokument, lass das Modell ihn wiederholen, zeichne ein grünes Raster. Ein Modell kann dabei nahezu perfekt abschneiden und trotzdem an dem scheitern, was du eigentlich brauchst, weil echte Fragen keine lexikalischen Nachschlagevorgänge sind.
Deine Nutzer stellen Fragen, für die man vier zusammenhängende Fakten finden muss, die über ein Korpus verstreut sind, bemerken muss, dass sich zwei davon widersprechen, und über den Rest schlussfolgern muss. Genau das misst RULER, und genau dort klaffen beworbenes und nutzbares Fenster auseinander. Behandle Single-Needle-Recall als Rauchtest, nicht als Beleg dafür, dass das Fenster funktioniert.
Die Kostenseite ist unmissverständlich
Über die Retrieval-Degradation lässt sich streiten. Über die Rechnung nicht. Input-Tokens werden pro Aufruf abgerechnet, also zahlt ein Design, das jeder Anfrage 200.000 Tokens Kontext hineinstopft, jedes Mal für alle 200.000, egal ob die Antwort davon zwölf brauchte oder keine.
# Stuff-the-window: whole handbook, every turn
200,000 input tokens x 50,000 calls/month = 10,000,000,000 tokens
# Retrieve-then-answer: system prompt + 6 chunks
3,000 input tokens x 50,000 calls/month = 150,000,000 tokens
Das ist ein Faktor 66 bei den Input-Kosten, noch bevor man die Latenz mitzählt. Time to First Token skaliert mit der Menge, die das Modell lesen muss, also ist der vollgestopfte Prompt auch der langsame. Du zahlst mehr für eine schlechtere Antwort, die später ankommt. Es gibt keine Achse, auf der das gewinnt.
Prompt Caching verkompliziert die Rechnung in einem konkreten Fall: Ein wirklich stabiler Präfix, der sich über Aufrufe hinweg wiederholt, lässt sich mit deutlichem Rabatt lesen. Das ist real und lohnt sich zu nutzen. Aber es rettet die Kosten einer statischen Präambel, nicht die Trefferquote eines aufgeblähten Heuhaufens. Ein gecachter schlechter Prompt ist ein billigerer schlechter Prompt.
Was stattdessen zu tun ist
Die Disziplin dahinter ist unspektakulär, und sie funktioniert.
- Erst abrufen, dann antworten. Stell dem Modell einen Retrieval-Schritt voran und übergib nur die besten paar Chunks. Eine Bedrock Knowledge Base erledigt das, ohne dass du selbst einen Index betreiben musst. Sechs gute Chunks schlagen sechshundert mittelmäßige, jedes Mal.
- Ranken, und zwar ernsthaft. Wenn du zehn Chunks übergibst, zählt die Reihenfolge, weil die Position zählt. Platziere den stärksten Beleg oben und den zweitstärksten unten, wo die Aufmerksamkeit am besten ist. Fülle die Mitte mit dem Randmaterial, nicht mit der tragenden Tatsache.
- Begrenze, was ein einzelner Schritt sehen darf. Eine harte Token-Obergrenze pro Aufruf zwingt die Retrieval-Schicht zur Selektivität. Ohne Obergrenze wächst der Kontext, bis etwas kaputtgeht, meist im ungünstigsten Moment.
- Cache den stabilen Präfix, nicht den variablen Teil. System-Prompt und Tool-Schemas sind bei jedem Aufruf gleich und gehören in den Cache. Abgerufene Belege ändern sich mit jeder Frage und gehören nicht hinein.
- Miss die Trefferquote an deinen eigenen Fragen. Lass deine echten Anfragen gegen dein echtes Korpus laufen und bewerte die Antworten. Die Kontextlängen-Angaben der Anbieter sind eine Marketingzahl; nur dein eigenes Eval beschreibt dein System.
Wenn das große Fenster die richtige Antwort ist
Es gibt Fälle, in denen es richtig ist, das Fenster zu füllen, und es aus Prinzip abzulehnen, ist selbst ein Fehler. Wer ein einzelnes Dokument von Anfang bis Ende zusammenfasst, braucht das ganze Dokument; es gibt nichts abzurufen, weil alles relevant ist. Reasoning, das erfordert, eine ganze Codebase oder einen ganzen Vertrag gleichzeitig im Blick zu haben, braucht die volle Spanne wirklich. Bei einmaligen Analysen, wo der Bau einer Retrieval-Pipeline mehr kostet als die Tokens, darf man ruhig bewusst faul sein.
Der Test ist, ob du die relevante Teilmenge benennen kannst. Wenn ja, rufe sie ab. Wenn du es wirklich nicht kannst, weil sich die Aufgabe auf das gesamte Korpus bezieht und nicht auf einen Teil davon, dann leistet das Fenster echte Arbeit, und du solltest es nutzen.
Das Fazit
Größere Kontextfenster sind eine echte technische Leistung, und sie werden weiter wachsen. Sie sind zugleich die teuerste Art, sich einen Retrieval-Schritt zu ersparen. Die Trefferquote sinkt mit Länge und Position, die Rechnung skaliert mit jedem gesendeten Token, und die Latenz folgt der Prompt-Größe. Entscheide, was das Modell sehen muss, schick genau das, und hör auf, Kapazität mit Kompetenz zu verwechseln.
Weiterlesen
- Knowledge Base Chunking Is Where Your RAG Quality Dies, dazu, den Retrieval-Schritt richtig hinzubekommen, damit die Handvoll Chunks, die du übergibst, auch die richtigen sind.
- Agentic RAG Is Mostly Latency You Don't Need, zum gegenteiligen Fehler: zu viele Retrieval-Hops statt einer guten Query.
Für die Infrastrukturseite von Retrieval im großen Maßstab gibt es die Cloud- und Plattform-Field-Notes auf ercan.cloud, und den Hub auf ercanermis.com.
Weiteres von Ercan
Zwei weitere Seiten, gleicher Autor, anderes Terrain.
Cloud, AWS, EKS, Terraform, Platform Engineering.
Praxisnotizen aus Produktionssystemen. EKS, IAM, Terraform im Organisationsmaßstab, Observability, Kostenoptimierung.
Besuchen ercan.cloud →Die Drehscheibe. Über mich, Beratung, Kontakt.
Persönliche Drehscheibe für beide Schreibspuren. Wer ich bin, wie die Beratung funktioniert, wie Sie mich erreichen.
Besuchen ercanermis.com →