RAG von Grund auf – Teil 5: Reranking und Retrieval-Strategien

AI EngineeringCost-Aware AI SystemsRetrieval Augmented Generation

In Teil 4 haben wir gesehen, wie Dense Retrieval und Sparse Retrieval kombiniert werden können.

Eine typische Pipeline sah am Ende ungefähr so aus:

Query
  │
  ├── Dense Search
  │
  └── Sparse Search
         ↓
      Fusion
         ↓
   Kandidatenmenge

Damit haben wir allerdings noch nicht zwangsläufig die besten Chunks gefunden.

Wir haben zunächst nur eine gute Vorauswahl erzeugt.

Genau hier beginnt Reranking.

Die zentrale Frage lautet jetzt:

Welche der gefundenen Passagen beantwortet die konkrete Benutzerfrage tatsächlich am besten?

Das klingt ähnlich wie Retrieval.

Es ist aber eine andere Aufgabe.

Ein First-Stage Retriever versucht sehr schnell, aus vielleicht Millionen Chunks einige plausible Kandidaten zu finden.

Ein Reranker erhält dagegen nur noch eine kleine Menge und kann deshalb wesentlich genauer prüfen.

Damit entsteht eines der wichtigsten Muster moderner Retrieval-Systeme:

hoher Recall zuerst
        ↓
hohe Precision danach

Oder ausführlicher:

gesamter Index
      ↓
Candidate Retrieval
      ↓
50–100 Kandidaten
      ↓
Reranking
      ↓
5–10 hochwertige Treffer
      ↓
Context Selection
      ↓
LLM

Dieser Teil behandelt genau diese zweite Hälfte des Retrieval-Problems.


1. Retrieval ist nicht gleich Reranking

Ein Retriever durchsucht einen grossen Index.

Ein Reranker bewertet eine bereits reduzierte Kandidatenmenge erneut.

Vereinfacht:

Retriever:
100'000 Chunks
→ 50 Kandidaten
Reranker:
50 Kandidaten
→ sortierte Top 10

Beide bewerten Relevanz.

Aber sie arbeiten unter unterschiedlichen Bedingungen.

Der Retriever muss:

  • sehr schnell,
  • skalierbar,
  • recall-stark

sein.

Der Reranker kann:

  • langsamer,
  • rechenintensiver,
  • präziser

sein.


2. Warum die erste Rangliste oft nicht genügt

Nehmen wir folgende Frage:

Wie lange ist die Kündigungsfrist während der Probezeit?

Dense Retrieval findet:

1. Die Probezeit dauert drei Monate.
2. Während der Probezeit beträgt die Kündigungsfrist sieben Tage.
3. Nach der Probezeit gelten ordentliche Kündigungsfristen.
4. Während der Probezeit gelten besondere Regelungen.

Diese Treffer sind alle semantisch nah.

Aber nur Treffer 2 beantwortet die Frage direkt.

Ein Reranker soll deshalb lernen:

thematisch ähnlich
≠
konkret relevant

3. Candidate Retrieval

Die erste Stufe wird häufig als Candidate Retrieval oder Candidate Generation bezeichnet.

Typische Retriever sind:

  • Dense Retriever,
  • BM25,
  • Learned Sparse Retriever,
  • Hybrid Search,
  • Multi-Retriever-Systeme.

Ziel:

Die relevante Passage soll möglichst sicher in der Kandidatenmenge enthalten sein.

Perfekte Sortierung ist hier noch nicht zwingend notwendig.


4. Recall-orientierte erste Stufe

Angenommen, relevant ist Chunk R.

Ein guter First-Stage Retriever liefert:

Top 50:
...
Rank 17 → Chunk R
...

Das ist zunächst akzeptabel.

Denn der Reranker kann Chunk R später nach oben ziehen.

Wenn Chunk R aber überhaupt nicht auftaucht:

Top 50:
kein Chunk R

ist er verloren.

Deshalb lautet die wichtigste Forderung an die erste Stufe:

Nicht zu früh relevante Kandidaten verlieren.


5. Reranking

Beim Reranking werden Kandidaten erneut bewertet und neu sortiert.

Beispiel:

Vorher:

1. Chunk A
2. Chunk B
3. Chunk C
4. Chunk D
5. Chunk E

Nach Reranking:

1. Chunk C
2. Chunk A
3. Chunk E
4. Chunk B
5. Chunk D

Die Kandidaten bleiben grundsätzlich dieselben.

Nur ihre Reihenfolge verändert sich.


6. Bi-Encoder noch einmal

In Teil 3 haben wir den Bi-Encoder kennengelernt.

Query und Passage werden getrennt verarbeitet:

Query
  ↓
Encoder
  ↓
Query Vector
Passage
  ↓
Encoder
  ↓
Passage Vector

Danach:

Similarity(Query Vector, Passage Vector)

Das ist sehr effizient.

Aber Query und Passage interagieren während der Modellverarbeitung nicht direkt miteinander.


7. Cross-Encoder

Ein Cross-Encoder arbeitet anders.

Er erhält Query und Passage gemeinsam:

Query + Passage
       ↓
   Transformer
       ↓
Relevance Score

Beispielsweise:

[QUERY]
Wie lange ist die Kündigungsfrist während der Probezeit?

[PASSAGE]
Während der Probezeit beträgt die Kündigungsfrist sieben Tage.

Das Modell verarbeitet beide Texte gemeinsam.

Dadurch kann es feinere Beziehungen erkennen.


8. Warum Cross-Encoder genauer sein können

Der Cross-Encoder sieht Token-Interaktionen zwischen Query und Passage.

Er kann beispielsweise erkennen, dass:

Frage:
Wie lange ist die Kündigungsfrist?

und:

Passage:
Die Probezeit dauert drei Monate.

zwar thematisch zusammengehören, die Frage aber nicht beantworten.

Ein Bi-Encoder kann beide Texte wegen gemeinsamer Semantik relativ nah platzieren.

Ein Cross-Encoder kann die konkrete Relevanz wesentlich direkter bewerten.


9. Cross-Encoder als Relevance Model

Man kann einen Reranker konzeptionell als Funktion betrachten:

relevance(query, passage)
→ score

Beispiel:

Passage A → 0.98
Passage B → 0.71
Passage C → 0.24

Danach werden die Passagen nach diesem Score sortiert.


10. Warum nicht alles mit Cross-Encoder durchsuchen?

Angenommen, der Index enthält:

5'000'000 Chunks

Für jede Query müsste der Cross-Encoder:

5'000'000 Query-Passage-Paare

bewerten.

Das wäre extrem teuer.

Deshalb nutzt man:

schneller Retriever
        ↓
kleine Kandidatenmenge
        ↓
teurer Reranker

11. Retrieve-then-Rerank

Dieses Muster wird häufig als:

Retrieve-then-Rerank

bezeichnet.

Query
  ↓
Retriever
  ↓
Top 50
  ↓
Reranker
  ↓
Top 5

Es gehört zu den wichtigsten Retrieval-Architekturen überhaupt.


12. First-Stage Score und Reranker Score

Die Scores der ersten Stufe und des Rerankers sollten konzeptionell getrennt betrachtet werden.

Beispiel:

Dense Similarity = 0.83

und:

Reranker Score = 0.94

Diese Zahlen liegen zwar zufällig in einem ähnlichen Bereich.

Sie messen aber unterschiedliche Dinge.

Man sollte sie nicht blind miteinander vergleichen.


13. Reranking nach Hybrid Search

Ein typischer Ablauf ist:

Dense Top 50
+
Sparse Top 50
      ↓
RRF
      ↓
60 eindeutige Kandidaten
      ↓
Cross-Encoder
      ↓
Top 10

Hier übernimmt Hybrid Retrieval den Recall.

Der Cross-Encoder optimiert die Präzision.


14. Reranking Candidate Size

Wie viele Kandidaten sollte man reranken?

Beispielsweise:

10
20
50
100
200

Ein grösserer Kandidatenpool kann Recall verbessern.

Aber:

  • mehr Latenz,
  • mehr Modellaufrufe,
  • mehr Rechenaufwand.

Die optimale Grösse hängt vom Korpus und vom Reranker ab.


15. Reranking Depth

Die Anzahl der Kandidaten, die ein Reranker bewertet, wird häufig als Reranking Depth verstanden.

Beispiel:

First Stage Top 100
Rerank Depth = 50

Dann werden nur die besten 50 Kandidaten der ersten Stufe genauer bewertet.


16. Reranker Top-k

Nach dem Reranking bleibt erneut eine Auswahl.

Beispiel:

50 Kandidaten
   ↓
Reranking
   ↓
Top 8

Aber auch diese Top 8 müssen nicht zwingend alle in den Prompt.

Danach kann noch Context Selection erfolgen.


17. Relevance versus Redundancy

Angenommen, die Top-Ergebnisse sind:

1. Kündigungsfrist beträgt sieben Tage.
2. Kündigungsfrist beträgt 7 Tage.
3. In der Probezeit gilt eine Kündigungsfrist von sieben Tagen.
4. Die Probezeit dauert drei Monate.

Die ersten drei Treffer sind hochrelevant.

Sie sind aber fast identisch.

Wenn alle in den Prompt gelangen, wird Kontextbudget verschwendet.

Damit entsteht ein weiteres Problem:

Relevanz allein genügt nicht. Wir benötigen auch Diversität.


18. Maximal Marginal Relevance

Ein bekanntes Verfahren dafür ist Maximal Marginal Relevance, kurz MMR.

MMR versucht einen Kompromiss zwischen:

  • Relevanz zur Query,
  • Neuartigkeit gegenüber bereits ausgewählten Treffern.

Vereinfacht:

MMR =
Relevanz zur Query
-
Ähnlichkeit zu bereits gewählten Chunks

19. MMR intuitiv

Wir besitzen diese Treffer:

A: Kündigungsfrist = sieben Tage
B: Kündigungsfrist = sieben Tage
C: Probezeit = drei Monate
D: Nach Probezeit gelten andere Fristen

Ein reines Relevance Ranking könnte wählen:

A
B
C

MMR könnte stattdessen wählen:

A
C
D

Damit erhält das Modell mehr unterschiedliche Information.


20. MMR-Parameter Lambda

Typischerweise existiert ein Parameter λ.

Vereinfacht:

hohes λ
→ mehr Fokus auf Relevanz
niedriges λ
→ mehr Fokus auf Diversität

Auch hier gibt es keinen universell optimalen Wert.


21. Wann MMR hilft

MMR ist besonders nützlich bei:

  • redundanten Dokumenten,
  • Near-Duplicates,
  • ähnlichen Chunks,
  • mehreren Quellen mit gleichem Inhalt.

Es hilft weniger, wenn eine Frage nur einen einzigen sehr spezifischen Fakt benötigt.


22. Deduplication versus MMR

Deduplication entfernt echte oder fast identische Duplikate.

MMR geht weiter.

Es versucht auch, thematisch sehr ähnliche, aber nicht identische Treffer zugunsten von Diversität zu reduzieren.

Beide Konzepte können kombiniert werden.


23. Query Processing

Bisher haben wir die Benutzerfrage direkt an den Retriever weitergegeben.

Aber eine Benutzerfrage ist nicht immer eine gute Suchanfrage.

Beispiel:

Und wie lange gilt das dann?

Für einen Menschen ist im Chatkontext möglicherweise klar, worauf sich „das“ bezieht.

Für einen Retriever isoliert betrachtet nicht.

Deshalb gibt es Query Processing.


24. Query Rewrite

Beim Query Rewrite wird die Benutzerfrage in eine retrieval-freundlichere Form umgeschrieben.

Original:

Und wie lange gilt das dann?

Chatkontext:

Wir sprechen über die Probezeit.

Rewrite:

Wie lange dauert die Probezeit?

Der Retriever erhält jetzt eine eigenständige Suchanfrage.


25. Standalone Query

Eine solche umgeschriebene Frage wird häufig als Standalone Query bezeichnet.

Sie enthält genügend Kontext, um unabhängig vom Chatverlauf verstanden zu werden.

Beispiel:

Original:

Und wann endet sie?

Standalone:

Wann endet die dreimonatige Probezeit?

26. Warum Query Rewrite wichtig ist

Retriever sehen häufig nur den aktuellen Query-Text.

Pronomen wie:

er
sie
das
dort
dann

können ohne Kontext unverständlich sein.

Query Rewrite rekonstruiert die eigentliche Informationsfrage.


27. Query Rewrite darf die Bedeutung nicht verändern

Ein gefährlicher Fehler wäre:

Original:

Gilt das auch für Teilzeitmitarbeiter?

Rewrite:

Welche Regeln gelten generell für Teilzeitmitarbeiter?

Die Anfrage wurde erweitert.

Das kann Retrieval in eine falsche Richtung lenken.

Ein gutes Rewrite sollte die ursprüngliche Informationsabsicht erhalten.


28. Query Normalization

Neben vollständigem Rewrite gibt es einfachere Normalisierung.

Beispielsweise:

"kündigungsfrist???? probezeit"

wird zu:

Kündigungsfrist Probezeit

Das kann:

  • Schreibfehler,
  • überflüssige Zeichen,
  • Formatierung

bereinigen.


29. Query Expansion

In Teil 4 haben wir Query Expansion kurz kennengelernt.

Dabei wird die Query um zusätzliche Suchbegriffe erweitert.

Beispiel:

Kündigung Probezeit

wird:

Kündigung
Kündigungsfrist
Arbeitsverhältnis beenden
Probezeit

Ziel ist höherer Recall.


30. Query Expansion versus Query Rewrite

Diese Begriffe sollte man unterscheiden.

Rewrite

Frage besser formulieren

Expansion

zusätzliche Suchkonzepte hinzufügen

Beides kann kombiniert werden.


31. Multi-Query Retrieval

Beim Multi-Query Retrieval wird nicht nur eine Suchanfrage erzeugt.

Stattdessen werden mehrere semantisch unterschiedliche Varianten erstellt.

Beispiel:

Original:

Wie kann ich während der Probezeit kündigen?

Varianten:

Welche Kündigungsfrist gilt in der Probezeit?
Wie kann ein Arbeitsverhältnis während der Probezeit beendet werden?
Welche Fristen gelten für eine Kündigung in den ersten Monaten?

Jede Query wird separat gesucht.


32. Warum Multi-Query hilft

Ein einzelnes Embedding bildet nur eine bestimmte Formulierung ab.

Mehrere Query-Varianten können unterschiedliche Bereiche des Vektorraums erreichen.

Schematisch:

Original Query
   ├── Query A → Treffer
   ├── Query B → Treffer
   └── Query C → Treffer
              ↓
             Union

Damit kann Recall steigen.


33. Multi-Query Candidate Union

Beispiel:

Query A findet:

A
B
C

Query B:

B
D
E

Query C:

A
F
G

Union:

A
B
C
D
E
F
G

Danach folgt typischerweise Deduplication und Reranking.


34. Nachteile von Multi-Query

Mehr Queries bedeuten:

  • mehr Embeddings,
  • mehr Suchvorgänge,
  • mehr Kandidaten,
  • mehr Reranking,
  • höhere Latenz.

Ausserdem kann eine generierte Variante die ursprüngliche Frage falsch interpretieren.


35. Query Decomposition

Manche Fragen enthalten mehrere Teilfragen.

Beispiel:

Wie lange dauert die Probezeit und welche Kündigungsfrist gilt dabei?

Man kann daraus erzeugen:

Query 1:
Wie lange dauert die Probezeit?
Query 2:
Welche Kündigungsfrist gilt während der Probezeit?

Das nennt man Query Decomposition.


36. Warum Query Decomposition hilft

Eine lange komplexe Query kann mehrere Informationsbedürfnisse vermischen.

Durch Zerlegung kann jeder Teil gezielter gesucht werden.

Danach werden die Ergebnisse kombiniert.

Das wird besonders wichtig bei Multi-Hop Retrieval, das wir in Teil 7 vertiefen.


37. Multi-Hop Question

Eine Multi-Hop-Frage benötigt Informationen aus mehreren Quellen oder Schritten.

Beispiel:

Welche Kündigungsfrist gilt für Mitarbeiter,
deren Probezeit auf drei Monate verlängert wurde?

Vielleicht steht:

Dokument A:
Die Probezeit kann auf drei Monate verlängert werden.

und:

Dokument B:
Während der Probezeit beträgt die Kündigungsfrist sieben Tage.

Eine einzelne Passage beantwortet die Frage nicht vollständig.


38. Query Decomposition als Vorbereitung für Multi-Hop

Das System könnte zerlegen:

1. Welche Regeln gelten für eine verlängerte Probezeit?
2. Welche Kündigungsfrist gilt während der Probezeit?

Erst danach werden die Informationen zusammengeführt.


39. HyDE

Ein weiteres interessantes Verfahren ist HyDE:

Hypothetical Document Embeddings

Die Idee klingt zunächst ungewöhnlich.

Statt die Benutzerfrage direkt einzubetten, erzeugt ein LLM zunächst eine hypothetische Antwort beziehungsweise ein hypothetisches Dokument.

Dieses wird dann eingebettet.


40. HyDE-Beispiel

Frage:

Wie lange ist die Kündigungsfrist während der Probezeit?

Das Modell erzeugt hypothetisch:

Während der Probezeit gilt eine kurze Kündigungsfrist.
Die genaue Dauer ist im Personalreglement festgelegt.

Dieser Text wird eingebettet.

Hypothetischer Text
        ↓
Embedding
        ↓
Vector Search

41. Warum HyDE funktionieren kann

Eine Frage und eine relevante Passage besitzen unterschiedliche sprachliche Formen.

Frage:

Wie lange ist die Kündigungsfrist?

Dokument:

Während der Probezeit beträgt die Frist sieben Tage.

HyDE erzeugt zunächst Text, der eher wie ein Dokument aussieht.

Dadurch kann die Embedding-Repräsentation näher an realen Dokumentpassagen liegen.


42. HyDE benötigt keine faktisch richtige Hypothese

Das klingt paradox.

Die hypothetische Antwort muss nicht zwingend korrekt sein.

Sie soll primär eine semantische Repräsentation erzeugen, die besser zum Dokumentraum passt.

Trotzdem besteht natürlich das Risiko, dass eine falsche Hypothese das Retrieval in eine falsche Richtung lenkt.


43. HyDE ist Retrieval, nicht Antwortgenerierung

Wichtig:

Der hypothetische Text wird nicht als finale Antwort ausgegeben.

Er dient nur als Suchhilfe.

Pipeline:

Question
   ↓
LLM
   ↓
Hypothetical Document
   ↓
Embedding
   ↓
Retrieval
   ↓
echte Quellen
   ↓
Antwort

44. Query2Doc

HyDE gehört zu einer grösseren Familie von Verfahren, bei denen Queries in dokumentähnliche Repräsentationen transformiert werden.

Die Grundidee:

Query-Sprache
≠
Dokument-Sprache

Durch Transformation versucht man diese Lücke zu verkleinern.


45. Query Expansion mit LLMs

Ein LLM kann auch explizit zusätzliche Suchbegriffe erzeugen.

Beispiel:

User:
Wie kündige ich in der Probezeit?

Expansion:

Probezeit
Kündigung
Kündigungsfrist
Arbeitsvertrag
Beendigung Arbeitsverhältnis

Diese Begriffe können besonders Sparse Retrieval verbessern.


46. LLM-basierte Query Transformation ist nicht kostenlos

Jeder zusätzliche Modellaufruf erzeugt:

  • Latenz,
  • Kosten,
  • potenzielle Fehler.

Deshalb sollte Query Transformation gezielt eingesetzt werden.

Ein einfacher Exact-ID-Query braucht beispielsweise kein komplexes LLM-Rewrite.


47. Query Classification

Ein System kann zunächst Queries klassifizieren.

Beispiel:

Identifier Query
Semantic Query
Multi-Hop Query
Follow-up Query
Structured Query

Danach wird eine geeignete Retrieval-Strategie gewählt.

Das ist Query Classification beziehungsweise Teil von Query Routing.


48. Adaptive Retrieval

Wenn das System je nach Query unterschiedliche Strategien verwendet, spricht man oft von Adaptive Retrieval.

Beispiel:

exakte ID
→ Sparse Search
semantische Frage
→ Hybrid Search
komplexe Frage
→ Multi-Query + Reranking

Das kann effizienter sein als für jede Frage die maximal komplexe Pipeline auszuführen.


49. Query Router

Ein Query Router entscheidet, welcher Retriever oder Workflow verwendet wird.

Schematisch:

Query
  ↓
Router
  ├── Dense
  ├── Sparse
  ├── Hybrid
  ├── SQL
  └── Graph

Damit nähert man sich bereits modularen RAG-Systemen.


50. Retrieval Strategy

Eine Retrieval Strategy umfasst mehr als nur den Suchalgorithmus.

Sie kann beinhalten:

  • Query Rewrite,
  • Query Expansion,
  • Dense Search,
  • Sparse Search,
  • Filter,
  • Multi-Query,
  • Fusion,
  • Reranking,
  • Deduplication,
  • Context Expansion.

Das gesamte Zusammenspiel bestimmt die Retrieval-Qualität.


51. Context Selection

Nach dem Reranking besitzen wir beispielsweise:

Top 10 Chunks

Aber der Prompt bietet vielleicht nur Platz für:

Top 4

Jetzt muss entschieden werden, welche Chunks tatsächlich übernommen werden.

Das ist Context Selection.


52. Context Selection ist nicht dasselbe wie Reranking

Reranking beantwortet:

Welcher Kandidat ist relevanter?

Context Selection beantwortet:

Welche Kombination von Kandidaten soll das LLM erhalten?

Das ist ein subtiler, aber wichtiger Unterschied.


53. Beispiel Context Selection

Reranker:

1. Kündigungsfrist: sieben Tage
2. Kündigungsfrist: sieben Tage
3. Probezeit: drei Monate
4. Nach Probezeit andere Kündigungsfristen
5. Kündigungsfrist: 7 Kalendertage

Wenn nur drei Chunks Platz haben, wäre:

1
3
4

möglicherweise informativer als:

1
2
5

obwohl 2 und 5 höhere Relevance Scores besitzen.


54. Relevance-Diversity Trade-off

Context Selection optimiert deshalb häufig:

Relevanz
+
Diversität
+
Informationsabdeckung
+
Tokenkosten

Das ist komplexer als simples Top-k.


55. Context Budget

Das Context Budget beschreibt, wie viele Tokens für retrievten Kontext verfügbar sind.

Beispiel:

Modellkontext: 32'000 Tokens

System Prompt: 2'000
Chatverlauf: 8'000
User Query: 500
Antwortreserve: 4'000

verfügbar für Retrieval:
17'500 Tokens

Damit kann nicht unbegrenzt Kontext übernommen werden.


56. Token-aware Selection

Eine Auswahlstrategie kann deshalb tokenbewusst arbeiten.

Beispiel:

Chunk A: 300 Tokens
Chunk B: 2'500 Tokens
Chunk C: 450 Tokens

Chunk B muss einen entsprechend hohen Informationswert liefern, um seinen grossen Platzverbrauch zu rechtfertigen.


57. Context Packing

Context Packing bezeichnet das Zusammenstellen ausgewählter Chunks in einen Prompt.

Dabei stellen sich Fragen wie:

  • Reihenfolge,
  • Quellenmarkierung,
  • Trennzeichen,
  • maximale Länge,
  • Nachbar-Chunks,
  • Parent-Kontext.

Das behandeln wir in Teil 6 noch ausführlicher.


58. Chunk Expansion

Ein hochrangiger Retrieval-Chunk kann vor der Prompt-Erstellung erweitert werden.

Beispiel:

gefunden:
Chunk 42

danach:

laden:
Chunk 41
Chunk 42
Chunk 43

Das ist die bereits bekannte Neighbor Expansion.


59. Parent Expansion

Alternativ:

Child Chunk gefunden
       ↓
Parent Section laden

Das ist Parent-Child Retrieval beziehungsweise Small-to-Big.

Teil 2 hat die Ingestion-Seite davon beschrieben.

Hier sehen wir jetzt die Query-Seite.


60. Retrieval Unit versus Context Unit

Diese Unterscheidung wird hier besonders wichtig.

Retrieval Unit:
kleiner Chunk
Context Unit:
grösserer Abschnitt

Die beste Einheit für Suche muss nicht die beste Einheit für Antwortgenerierung sein.


61. Passage Aggregation

Mehrere relevante Chunks können aus demselben Dokument stammen.

Man kann sie gruppieren.

Beispiel:

Document A
├── Chunk 7
├── Chunk 8
└── Chunk 12

Statt drei einzelne Quellen zu behandeln, kann ein System einen zusammenhängenden Abschnitt rekonstruieren.

Das nennt man allgemein Passage Aggregation beziehungsweise Kontextzusammenführung.


62. Overlapping Chunks zusammenführen

Durch Chunk Overlap können Treffer enthalten:

Chunk A:
... Kündigungsfrist beträgt sieben Tage ...
Chunk B:
... beträgt sieben Tage. Nach der Probezeit ...

Beide enthalten denselben Satz.

Vor der Prompt-Erstellung sollte dieser Overlap idealerweise nicht doppelt erscheinen.


63. Context Deduplication

Context Deduplication entfernt redundante Informationen aus dem finalen Kontext.

Das spart:

  • Tokens,
  • Aufmerksamkeit,
  • Promptplatz.

Es erhöht ausserdem die Informationsdichte.


64. Document Diversity

Manchmal möchte man bewusst Treffer aus unterschiedlichen Dokumenten.

Beispielsweise:

Richtlinie
Vertrag
FAQ

statt fünf Chunks aus derselben Datei.

Das kann helfen, mehrere Perspektiven oder ergänzende Evidenz zu erhalten.


65. Source Diversity ist nicht immer besser

Bei einer sehr spezifischen Frage kann eine einzige autoritative Quelle besser sein als mehrere ähnliche oder weniger zuverlässige Quellen.

Diversität ist deshalb kein Selbstzweck.

Sie muss zur Frage passen.


66. Source Authority

Retrieval kann auch Quellenqualität berücksichtigen.

Beispielsweise:

offizielle Richtlinie

sollte möglicherweise höher gewichtet werden als:

informelle Notiz

Das ist ein zusätzliches Ranking-Signal.


67. Relevance versus Authority

Eine informelle FAQ kann die Query exakt beantworten.

Eine offizielle Richtlinie kann allgemeiner formuliert sein.

Dann entsteht ein Trade-off:

Relevanz
vs.
Autorität

Ein robustes RAG-System muss solche Signale bewusst modellieren.


68. Freshness

Auch Aktualität kann Teil der Auswahl sein.

Beispiel:

Richtlinie 2026

gegen:

Richtlinie 2024

Wenn beide semantisch ähnlich sind, sollte die aktuelle Quelle möglicherweise bevorzugt werden.


69. Version Conflicts

Ein schwieriger Fall:

Quelle A:
Kündigungsfrist = 7 Tage
Quelle B:
Kündigungsfrist = 14 Tage

Ein Reranker kann beide als hochrelevant bewerten.

Das Retrieval-Problem ist damit nicht gelöst.

Jetzt geht es um:

  • Versionierung,
  • Autorität,
  • Aktualität,
  • Konflikterkennung.

Das wird später beim Grounding besonders wichtig.


70. Query-Document Interaction

Cross-Encoder verbessern Ranking, weil sie Query und Passage gemeinsam betrachten.

Ein moderner Reranker kann dadurch feine Muster erkennen:

Query verlangt Zahl
→ Passage enthält konkrete Zahl

oder:

Query fragt nach Ausnahme
→ Passage beschreibt nur allgemeine Regel

Diese Interaktion ist bei reiner Vektorähnlichkeit schwächer.


71. Pairwise Ranking

Manche Rankingmodelle lernen nicht direkt einen absoluten Score.

Sie lernen:

Ist A relevanter als B?

Das nennt man Pairwise Ranking.

Beispiel:

Query + Passage A + Passage B
→ A > B

72. Pointwise Ranking

Beim Pointwise Ranking wird jeder Kandidat einzeln bewertet.

Query + Passage
→ Score

Danach werden die Scores sortiert.

Viele Reranking-Modelle können so verwendet werden.


73. Listwise Ranking

Beim Listwise Ranking betrachtet das Verfahren eine ganze Kandidatenliste und optimiert deren Reihenfolge direkt.

Das kann theoretisch besser zur eigentlichen Ranking-Aufgabe passen.

Es ist aber oft komplexer.


74. LLM als Reranker

Auch ein generatives LLM kann zum Reranking verwendet werden.

Beispielsweise:

Frage
+
10 Passagen
+
Anweisung:
Ordne die Passagen nach Relevanz.

Das Modell gibt:

3 > 1 > 7 > 2 > ...

zurück.


75. Vorteile eines LLM-Rerankers

Ein grosses LLM kann:

  • komplexe Semantik verstehen,
  • Bedingungen erkennen,
  • mehrere Kriterien berücksichtigen,
  • natürliche Sprache flexibel interpretieren.

Es kann besonders bei komplizierten Queries stark sein.


76. Nachteile eines LLM-Rerankers

LLM-Reranking ist typischerweise:

  • langsamer,
  • teurer,
  • weniger deterministisch,
  • schwieriger zu skalieren.

Für viele Systeme ist ein spezialisierter Cross-Encoder daher attraktiver.


77. RankGPT-artige Ansätze

Es existieren Verfahren, bei denen generative LLMs Ranglisten erzeugen oder Kandidaten iterativ vergleichen.

Die Grundidee ist nicht auf ein bestimmtes Modell beschränkt:

LLM
→ Rankingentscheidung

Solche Verfahren gehören zur Familie LLM-basierter Reranking-Ansätze.


78. Sliding-Window Reranking

Wenn zu viele Kandidaten für einen einzigen LLM-Prompt vorhanden sind, kann man sie in Fenstern bewerten.

Beispiel:

Kandidaten 1–20
Kandidaten 11–30
Kandidaten 21–40

Ergebnisse werden anschliessend zusammengeführt.

Das erhöht jedoch Komplexität und Kosten.


79. Reranker Calibration

Auch Reranker-Scores sind nicht automatisch Wahrscheinlichkeiten.

Ein Score wie:

0.91

bedeutet nicht zwingend:

91 % relevant

Die Interpretation hängt vom Modell und dessen Output ab.


80. Relevance Threshold

Man kann nach dem Reranking einen Mindestscore verlangen.

Beispiel:

Reranker Score ≥ 0.6

Treffer darunter werden verworfen.

Das kann helfen, bei schlechten Queries keinen irrelevanten Kontext an das LLM zu geben.

Der Threshold muss aber evaluiert werden.


81. No-Relevant-Context Decision

Nach dem Reranking kann ein System feststellen:

Kein Kandidat ist ausreichend relevant.

Das ist eine wichtige Entscheidung.

Denn dann sollte das System möglicherweise gar keine wissensgebundene Antwort erzeugen.


82. Retrieval Confidence

Manche Systeme berechnen eine Art Retrieval Confidence.

Das kann basieren auf:

  • Top Score,
  • Score-Abstand,
  • Anzahl guter Treffer,
  • Retriever-Übereinstimmung,
  • Reranker-Score.

Aber auch hier gilt:

Confidence ist nicht automatisch eine echte Wahrscheinlichkeit.


83. Score Gap

Ein mögliches Signal ist der Abstand zwischen Rang 1 und Rang 2.

Beispiel:

Top 1 = 0.97
Top 2 = 0.52

Das sieht anders aus als:

Top 1 = 0.81
Top 2 = 0.80

Der zweite Fall kann auf Ambiguität hinweisen.


84. Retriever Agreement

Bei Hybrid Search kann auch die Übereinstimmung mehrerer Retriever ein Signal sein.

Beispiel:

Dense Rank 1
Sparse Rank 1
Reranker Rank 1

Das ist ein starkes konsistentes Signal.

Aber auch das garantiert keine faktische Richtigkeit.


85. Query Ambiguity

Manche Fragen sind mehrdeutig.

Beispiel:

Wie lange gilt die Frist?

Ohne Kontext könnte gemeint sein:

  • Kündigungsfrist,
  • Zahlungsfrist,
  • Einsprachefrist,
  • Garantiefrist.

Ein Retrieval-System sollte diese Ambiguität nicht einfach erraten.


86. Clarification versus Retrieval Expansion

Bei mehrdeutigen Queries existieren zwei Möglichkeiten.

Clarification

Welche Frist meinen Sie?

oder:

breiteres Retrieval

mehrere Interpretationen suchen

Welche Strategie besser ist, hängt von der Anwendung ab.


87. Query Intent Preservation

Jede Query-Transformation muss die ursprüngliche Benutzerabsicht erhalten.

Das ist besonders wichtig bei LLM-basierten Rewrites.

Aus:

Kann ich während der Probezeit sofort kündigen?

darf nicht werden:

Wie lange dauert die Probezeit?

Beide hängen thematisch zusammen.

Die Informationsabsicht ist aber unterschiedlich.


88. Hallucinated Query Expansion

LLMs können beim Query Rewrite Begriffe hinzufügen, die der Benutzer nie gemeint hat.

Beispiel:

Original:
Wie lange gilt die Kündigungsfrist?

Expansion:

Kündigungsfrist bei fristloser Kündigung

„fristlos“ wurde erfunden.

Das kann Retrieval verzerren.


89. Conservative Rewrite

Eine robuste Strategie ist deshalb ein conservative rewrite.

Das Modell soll:

  • Referenzen auflösen,
  • Grammatik verbessern,
  • Kontext ergänzen,

aber keine neuen fachlichen Annahmen einführen.


90. Multi-Query Diversity

Bei Multi-Query sollen Varianten nicht bloss minimale Wortänderungen sein.

Schlecht:

Wie lange ist die Kündigungsfrist?
Wie lang ist die Kündigungsfrist?
Welche Länge hat die Kündigungsfrist?

Besser:

Welche Kündigungsfrist gilt während der Probezeit?
Wie schnell kann das Arbeitsverhältnis in der Probezeit beendet werden?
Welche Fristen gelten bei einer Kündigung in den ersten Beschäftigungsmonaten?

Die Varianten decken unterschiedliche Ausdrucksweisen ab.


91. Multi-Query und Sparse Search

Multi-Query kann auch Sparse Retrieval verbessern.

Ein Dokument enthält vielleicht:

Beendigung des Arbeitsverhältnisses

während die Originalquery nur:

kündigen

enthält.

Eine alternative Query kann diese lexikalische Lücke schliessen.


92. Multi-Query und Dense Search

Auch Dense Retrieval kann profitieren.

Obwohl Embeddings semantische Varianten bereits abdecken, erzeugen unterschiedliche Formulierungen leicht unterschiedliche Query-Vektoren.

Dadurch können zusätzliche relevante Regionen des Vektorraums erreicht werden.


93. Fusion nach Multi-Query

Die Ergebnisse mehrerer Queries können wieder mit Verfahren wie RRF kombiniert werden.

Query A Ranking
Query B Ranking
Query C Ranking
       ↓
      RRF
       ↓
kombiniertes Ranking

RRF ist also nicht nur für Dense + Sparse nützlich.

Es kann allgemein mehrere Ranglisten fusionieren.


94. Retrieval Explosion

Wenn man kombiniert:

3 Query Varianten
×
2 Retriever
×
Top 50

entstehen potenziell:

300 Rohkandidaten

vor Deduplication.

Das zeigt, wie schnell Retrieval-Komplexität wachsen kann.


95. Mehr ist nicht automatisch besser

Eine Pipeline kann theoretisch enthalten:

  • Rewrite,
  • Multi-Query,
  • Dense,
  • Sparse,
  • Learned Sparse,
  • Fusion,
  • Reranker,
  • MMR,
  • Expansion,
  • Compression.

Das bedeutet nicht automatisch bessere Qualität.

Jede Stufe:

  • erhöht Komplexität,
  • erhöht Latenz,
  • kann neue Fehler erzeugen.

Die einfachste Pipeline, die das Qualitätsziel erreicht, ist häufig vorzuziehen.


96. Retrieval Ablation Testing

Deshalb sollte man Komponenten einzeln testen.

Beispiel:

Baseline:
Hybrid Search

gegen:

Hybrid + Reranker

gegen:

Rewrite + Hybrid + Reranker

gegen:

Multi-Query + Hybrid + Reranker

Dann misst man, welcher Schritt tatsächlich verbessert.


97. Reranker Gain

Ein sinnvoller Vergleich ist:

MRR vor Reranking
vs.
MRR nach Reranking

oder:

nDCG@10

Diese Metriken behandeln wir in Teil 8 ausführlich.


98. Retrieval Latency Budget

Ein RAG-System besitzt ein Latenzbudget.

Beispiel:

Query Rewrite       100 ms
Dense Retrieval      30 ms
Sparse Retrieval     20 ms
Fusion                5 ms
Reranking            80 ms
Generation         1500 ms

Die Zahlen sind nur illustrative Beispiele.

Wichtig ist die Denkweise:

Jede zusätzliche Retrieval-Stufe kostet Zeit.


99. Parallel Retrieval

Dense und Sparse Retrieval können häufig parallel ausgeführt werden.

             Query
              │
      ┌───────┴───────┐
      ▼               ▼
    Dense           Sparse
      │               │
      └───────┬───────┘
              ▼
            Fusion

Damit muss ihre Latenz nicht zwingend addiert werden.


100. Sequential Retrieval

Query Rewrite muss dagegen typischerweise vorher erfolgen:

Original Query
      ↓
Rewrite
      ↓
Retrieval

Das erhöht die kritische Pfadlänge.

Pipeline-Design ist deshalb auch Performance-Design.


101. Query Rewrite Cache

Bei wiederkehrenden Queries könnten bestimmte Query-Transformationen gecacht werden.

Das ist aber nur sinnvoll, wenn:

  • Kontext identisch,
  • Rewrite deterministisch genug,
  • Benutzerkontext nicht relevant

ist.

Bei Chat-Follow-ups ist Caching oft schwieriger.


102. Reranking Cache

Auch Query-Passage-Bewertungen können theoretisch gecacht werden.

Schlüssel:

Query Hash
+
Chunk ID
+
Reranker Version

In stark dynamischen Systemen kann der Nutzen begrenzt sein.


103. Contextual Compression

Nach Retrieval kann ein grosser Chunk auf die queryrelevante Information reduziert werden.

Original:

Die Probezeit dauert drei Monate.
Während dieser Zeit beträgt die Kündigungsfrist sieben Tage.
Ferien werden anteilig berechnet.
Homeoffice muss vereinbart werden.

Frage:

Wie lange ist die Kündigungsfrist?

Komprimiert:

Während der Probezeit beträgt die Kündigungsfrist sieben Tage.

Das nennt man häufig Contextual Compression.


104. Extractive Compression

Bei Extractive Compression werden relevante Teile des Originaltexts ausgewählt.

Es wird möglichst nichts neu formuliert.

Beispiel:

Originalsatz auswählen

Das ist für quellengebundene Systeme besonders interessant, weil weniger neue Information erzeugt wird.


105. Abstractive Compression

Bei Abstractive Compression wird der Inhalt zusammengefasst oder neu formuliert.

Beispiel:

Original:

Während der Probezeit kann das Arbeitsverhältnis
mit einer Frist von sieben Kalendertagen beendet werden.

Komprimiert:

Kündigungsfrist in der Probezeit: 7 Tage.

Das spart Tokens.

Aber es erzeugt neue Modellgenerierung vor der eigentlichen Antwort.


106. Risiko abstraktiver Compression

Ein Modell könnte aus:

sieben Kalendertage

versehentlich machen:

sieben Arbeitstage

Dadurch wäre bereits der Kontext verfälscht.

Für stark quellengebundene Systeme ist Extractive Compression deshalb oft sicherer.


107. Contextual Compression ist Query-abhängig

Ein Chunk kann für zwei Fragen unterschiedlich komprimiert werden.

Frage A:

Wie lange dauert die Probezeit?

Die Probezeit dauert drei Monate.

Frage B:

Wie lange ist die Kündigungsfrist?

Die Kündigungsfrist beträgt sieben Tage.

Die zugrunde liegende Quelle ist dieselbe.

Die relevante Evidenz unterscheidet sich.


108. Sentence Selection

Eine einfache Form der Compression besteht darin, relevante Sätze innerhalb eines Chunks zu ranken.

Chunk
 ├── Satz 1
 ├── Satz 2 ← relevant
 ├── Satz 3
 └── Satz 4

Nur Satz 2 und eventuell Nachbarsätze werden übernommen.


109. Passage Extraction

Ähnlich können kleinere Spans aus grossen Texten extrahiert werden.

Das reduziert den Kontext auf die eigentliche Evidenz.

Dabei darf aber notwendiger Kontext nicht verloren gehen.


110. Compression versus Small-to-Big

Interessanterweise gibt es zwei entgegengesetzte Bewegungen.

Small-to-Big

kleinen Chunk finden
→ Kontext vergrössern

Contextual Compression

grossen Chunk finden
→ Kontext verkleinern

Beide versuchen dasselbe Ziel:

Die richtige Informationsmenge für die Antwort finden.


111. Optimal Context Granularity

Die optimale Kontextgrösse liegt häufig irgendwo zwischen:

zu wenig Kontext

und:

zu viel Rauschen

Retrieval und Context Selection versuchen genau diesen Bereich zu treffen.


112. Retrieval Noise

Retrieval Noise bezeichnet irrelevante oder wenig hilfreiche Informationen, die zusammen mit relevanter Evidenz in den Kontext gelangen.

Beispiel:

1 relevanter Satz
+
2'000 irrelevante Tokens

Das kann die Generation verschlechtern.


113. Signal-to-Noise Ratio

Eine hilfreiche Perspektive ist das Signal-to-Noise Ratio.

Signal:
Information, die zur Antwort beiträgt

Noise:
Information, die nicht beiträgt

Ein guter Kontext besitzt möglichst viel Signal und wenig Noise.


114. Warum mehr Kontext nicht automatisch besser ist

Es ist verführerisch zu denken:

mehr Chunks
=
mehr Wissen
=
bessere Antwort

Aber zusätzliche Chunks können:

  • widersprechen,
  • ablenken,
  • relevante Information verdrängen,
  • Tokenbudget verbrauchen.

Deshalb wird Context Selection immer wichtiger, je grösser das Korpus wird.


115. Retrieval Position

Auch die Position eines relevanten Chunks im finalen Prompt kann eine Rolle spielen.

Ein Treffer kann korrekt retrieved sein, aber ungünstig platziert werden.

Dieses Thema hängt mit Lost in the Middle zusammen und wird in Teil 6 ausführlich behandelt.


116. Query-Focused Context

Das Ziel ist letztlich ein query-fokussierter Kontext.

Nicht:

alles über Probezeit

sondern:

genau die Informationen,
die zur konkreten Frage über Kündigungsfristen benötigt werden

Das ist der Übergang von Retrieval zu Augmentation.


117. Reranking Failure

Ein Reranker kann ebenfalls Fehler machen.

Beispiel:

Relevanter Chunk:

Die Kündigungsfrist beträgt sieben Tage.

Hard Negative:

Die Probezeit dauert drei Monate.

Wenn der Reranker den Hard Negative höher bewertet, verschlechtert er die Pipeline.

Reranking ist deshalb kein garantierter Qualitätsgewinn.


118. Reranker Domain Mismatch

Ein allgemeiner Reranker kann in Spezialdomänen schlechter funktionieren.

Beispiele:

  • juristische Sprache,
  • medizinische Dokumente,
  • Source Code,
  • wissenschaftliche Formeln.

Auch Reranker müssen gegen den eigenen Korpus evaluiert werden.


119. Multilingual Reranking

Bei mehrsprachigem Retrieval stellt sich zusätzlich die Frage:

deutsche Query
+
französische Passage

Kann der Reranker beide zuverlässig vergleichen?

Ein multilingualer Dense Retriever allein genügt nicht, wenn der Reranker nur eine Sprache gut beherrscht.


120. Reranker Input Length

Cross-Encoder besitzen ebenfalls Kontextlimits.

Ein extrem langer Chunk kann abgeschnitten werden.

Wenn die relevante Information am Ende liegt, kann sie dem Reranker fehlen.

Chunk-Grösse aus Teil 2 beeinflusst also auch hier die Qualität.


121. Truncation

Truncation bedeutet, dass Input abgeschnitten wird, weil er länger als das Modelllimit ist.

Beispiel:

Query + Passage = 900 Tokens
Reranker Limit = 512 Tokens

Dann gehen Teile verloren.

Das kann Ranking-Ergebnisse verfälschen.


122. Head-only Truncation

Wenn nur die ersten Tokens behalten werden:

[Anfang..............................]

kann relevante Information am Ende verschwinden.

Deshalb können lange Passagen spezielle Strategien benötigen.


123. Chunking wirkt durch die ganze Pipeline

Wir sehen jetzt erneut:

Chunking
→ Retrieval
→ Reranking
→ Context Selection
→ Generation

Eine schlechte Chunking-Entscheidung kann jede spätere Stufe beeinflussen.

RAG-Komponenten sind eng gekoppelt.


124. Reranker versus Answerability Model

Ein Reranker bewertet:

Wie relevant ist diese Passage?

Ein Answerability Model bewertet eher:

Enthält diese Passage genügend Information, um die Frage zu beantworten?

Das ist ähnlich, aber nicht identisch.


125. Relevante Passage ohne Antwort

Frage:

Wie hoch ist der Ferienanspruch?

Passage:

Ferien müssen frühzeitig geplant und genehmigt werden.

Das ist relevant zum Thema Ferien.

Aber nicht answerable.

Ein reiner Relevance-Reranker kann den Chunk trotzdem hoch bewerten.


126. Answerability als zusätzliche Stufe

Eine Pipeline könnte deshalb so aussehen:

Retrieval
 ↓
Reranking
 ↓
Answerability Check
 ↓
Context Selection

Nicht jedes System benötigt eine separate Stufe.

Das Konzept ist aber wichtig.


127. Entailment

Ein weiterer verwandter Begriff ist Entailment.

Eine Passage entails eine Aussage, wenn die Aussage logisch aus ihr folgt.

Beispiel:

Passage:

Während der Probezeit beträgt die Kündigungsfrist sieben Tage.

Behauptung:

Die Kündigungsfrist in der Probezeit beträgt sieben Tage.

Die Passage unterstützt die Behauptung direkt.

Entailment wird später beim Grounding und bei Faithfulness relevant.


128. Evidence Selection

Nach Retrieval und Reranking kann man die final ausgewählten Chunks auch als Evidence bezeichnen.

Dann lautet der Prozess:

Search
 ↓
Candidate Ranking
 ↓
Evidence Selection
 ↓
Generation

Diese Perspektive ist besonders hilfreich bei streng quellengebundenen Systemen.


129. Retrieval soll Evidenz finden, nicht nur Text

Ein zentraler Denkwechsel lautet deshalb:

Nicht:

Welche Texte sind ähnlich?

Sondern:

Welche Passagen liefern Evidenz für die konkrete Antwort?

Embeddings, BM25, Hybrid Search und Reranking sind Werkzeuge, um dieses Ziel zu erreichen.


130. Retrieval Pipeline in ihrer erweiterten Form

Wir können die Pipeline jetzt deutlich vollständiger darstellen:

                    USER QUERY
                        │
                        ▼
                  Query Processing
                        │
            ┌───────────┴───────────┐
            │                       │
            ▼                       ▼
      Query Rewrite            Multi-Query
            │                       │
            └───────────┬───────────┘
                        ▼
                 Candidate Search
                ┌────────┴────────┐
                ▼                 ▼
             Dense              Sparse
                │                 │
                └────────┬────────┘
                         ▼
                       Fusion
                         ↓
                    Candidates
                         ↓
                      Reranker
                         ↓
                   Deduplication
                         ↓
                         MMR
                         ↓
                Context Expansion
                         ↓
               Context Compression
                         ↓
                 Evidence Selection
                         ↓
                  Context Packing
                         ↓
                         LLM

Nicht jede Pipeline braucht alle diese Komponenten.

Aber fast alle modernen Retrieval-Techniken lassen sich irgendwo in dieser Landkarte einordnen.


131. Eine einfachere Produktionspipeline

Eine pragmatische Pipeline könnte beispielsweise lauten:

Query
 ↓
Standalone Rewrite
 ↓
Dense + BM25
 ↓
RRF
 ↓
Top 40
 ↓
Cross-Encoder
 ↓
Top 8
 ↓
Deduplication
 ↓
Top 5 Context
 ↓
LLM

Das ist bereits deutlich leistungsfähiger als naive reine Vektorsuche.


132. Wann reicht einfache Dense Search?

Nicht jede Anwendung benötigt all diese Techniken.

Dense Search kann völlig ausreichend sein, wenn:

  • Korpus klein,
  • Dokumente sauber,
  • Queries einfach,
  • keine exakten IDs,
  • geringe Ambiguität,
  • hohe semantische Übereinstimmung.

Komplexität sollte durch gemessene Probleme gerechtfertigt werden.


133. Wann wird Reranking besonders wertvoll?

Reranking hilft besonders, wenn:

  • viele semantisch ähnliche Chunks existieren,
  • Hard Negatives auftreten,
  • Dense Ranking unpräzise ist,
  • Hybrid Candidate Sets gross sind,
  • hohe Precision benötigt wird.

134. Wann hilft Query Rewrite?

Query Rewrite ist besonders nützlich bei:

  • Chat-Follow-ups,
  • Pronomen,
  • implizitem Kontext,
  • langen unstrukturierten Benutzerfragen.

135. Wann hilft Multi-Query?

Multi-Query kann helfen bei:

  • schwierigen Paraphrasen,
  • breiten Fragen,
  • unterschiedlichen Terminologien,
  • hohem Recall-Bedarf.

Bei einfachen Queries ist der zusätzliche Aufwand oft unnötig.


136. Wann hilft HyDE?

HyDE kann interessant sein, wenn:

  • Query und Dokumentstil stark unterschiedlich sind,
  • reine Query-Embeddings schwachen Recall liefern,
  • semantisches Dense Retrieval dominiert.

Auch HyDE sollte anhand realer Retrieval-Metriken evaluiert werden.


137. Wann hilft MMR?

MMR lohnt sich vor allem, wenn:

  • viele Near-Duplicates,
  • redundante Chunks,
  • ähnliche Dokumentversionen,
  • breitere Informationsfragen

auftreten.


138. Wann hilft Contextual Compression?

Compression hilft, wenn:

  • Retrieval-Chunks gross sind,
  • nur kleine Textbereiche relevant sind,
  • Kontextbudget knapp ist,
  • hohe Informationsdichte benötigt wird.

Bei kleinen fokussierten Chunks kann sie unnötig sein.


139. Nicht jede Optimierung gleichzeitig aktivieren

Ein häufiger Fehler besteht darin, jede bekannte RAG-Technik einzubauen:

Rewrite
+
Multi-Query
+
HyDE
+
Dense
+
BM25
+
RRF
+
Cross-Encoder
+
MMR
+
Compression

Das Ergebnis kann:

  • teuer,
  • langsam,
  • schwer testbar,
  • schwer debugbar

werden.

Die richtige Reihenfolge lautet eher:

Baseline bauen
      ↓
Fehler messen
      ↓
konkrete Ursache erkennen
      ↓
gezielte Technik hinzufügen
      ↓
erneut messen

140. Retrieval Debugging

Wenn ein RAG-System falsch antwortet, kann man nun wesentlich genauer diagnostizieren.

Fall 1

Der relevante Chunk fehlt bereits im First-Stage Retrieval.

→ Retrieval Recall Problem

Mögliche Ursachen:

  • Chunking,
  • Embeddings,
  • BM25,
  • Query Rewrite,
  • Top-k.

Fall 2

Chunk ist im Kandidatenpool, aber Reranker sortiert ihn schlecht.

→ Reranking Problem

Fall 3

Chunk rankt hoch, wird aber nicht in den Kontext übernommen.

→ Context Selection Problem

Fall 4

Korrekter Kontext erreicht das LLM, Antwort ist trotzdem falsch.

→ Generation / Grounding Problem

Diese Trennung ist für echtes RAG-Debugging entscheidend.


141. Traces

Ein Retrieval-Trace sollte idealerweise zeigen:

Original Query
Rewritten Query
Dense Results
Sparse Results
Fusion Scores
Reranker Scores
Selected Context
Final Prompt

Damit wird sichtbar, an welcher Stufe Information verloren ging.


142. Warum End-to-End-Tests allein nicht reichen

Wenn man nur prüft:

Frage → richtige Antwort?

weiss man bei einem Fehler nicht, warum er passiert ist.

Besser ist zusätzlich:

War relevante Passage retrieved?
War sie nach Reranking noch vorhanden?
Wurde sie in den Prompt aufgenommen?
Hat die Antwort sie korrekt verwendet?

Damit werden Fehler lokalisierbar.


143. Retrieval-Evaluation vor LLM-Evaluation

Man kann Retrieval vollständig testen, ohne überhaupt ein Antwortmodell aufzurufen.

Query
 ↓
Retrieval Pipeline
 ↓
Top-k

Dann wird geprüft:

Ist die Gold-Passage enthalten und wie hoch rankt sie?

Das macht Tests schneller, günstiger und reproduzierbarer.


144. Retrieval Dataset

Ein Testdatensatz kann enthalten:

Query
Expected Document
Expected Chunk
Optional Relevant Alternatives

Damit können:

  • Recall@k,
  • MRR,
  • nDCG

berechnet werden.

Diese Metriken behandeln wir in Teil 8.


145. Hard-Negative Dataset

Für Reranking-Tests sind Hard Negatives besonders wertvoll.

Beispiel:

Query:

Wie lange ist die Kündigungsfrist in der Probezeit?

Positive:

Kündigungsfrist = sieben Tage.

Hard Negatives:

Probezeit = drei Monate.
Nach Probezeit = drei Monate Kündigungsfrist.
Während Probezeit gelten besondere Ferienregeln.

Damit wird getestet, ob der Reranker wirklich fein unterscheiden kann.


146. Reranking und Chunking gemeinsam evaluieren

Ein Reranker kann nur bewerten, was im Chunk steht.

Wenn der relevante Satz über zwei Chunks geteilt wurde, kann auch ein perfekter Reranker Schwierigkeiten haben.

Deshalb muss die Retrieval-Pipeline als Gesamtsystem betrachtet werden.


147. Retrieval ist nicht nur Modellwahl

Es ist verführerisch zu fragen:

Welches Embedding-Modell ist das beste?

oder:

Welcher Reranker ist der beste?

Die tatsächliche Qualität hängt jedoch von der Kombination ab:

Parsing
+
Chunking
+
Query Processing
+
Retrieval
+
Fusion
+
Reranking
+
Context Selection

Ein einzelnes Modell kann eine schlechte Pipeline nicht automatisch reparieren.


148. Die drei Retrieval-Ebenen

Eine nützliche mentale Struktur ist:

Ebene 1: Candidate Generation

Finde möglichst alle plausiblen Kandidaten.

Werkzeuge:

  • Dense,
  • Sparse,
  • Hybrid,
  • Multi-Query.

Ebene 2: Candidate Ranking

Welche Kandidaten sind wirklich relevant?

Werkzeuge:

  • Cross-Encoder,
  • LLM Reranking.

Ebene 3: Evidence Selection

Welche Kombination soll das LLM erhalten?

Werkzeuge:

  • MMR,
  • Deduplication,
  • Parent Expansion,
  • Compression,
  • Token-aware Selection.

Diese Dreiteilung hilft enorm beim Verständnis komplexer RAG-Pipelines.


149. Begriffe dieses Teils

BegriffBedeutung
Candidate Retrievalerste breite Auswahl plausibler Treffer
Candidate GenerationErzeugung einer Kandidatenmenge
Rerankingerneute Bewertung und Sortierung von Kandidaten
Cross-EncoderModell, das Query und Passage gemeinsam verarbeitet
Bi-Encodergetrennte Kodierung von Query und Passage
Retrieve-then-Rerankschnelle Suche gefolgt von präzisem Reranking
Reranking DepthAnzahl Kandidaten, die genauer bewertet werden
MMRAuswahl unter Berücksichtigung von Relevanz und Diversität
Query RewriteUmformulierung einer Query für besseres Retrieval
Standalone Querykontextunabhängig verständliche Suchanfrage
Query ExpansionErgänzung einer Query um verwandte Begriffe
Multi-Querymehrere Query-Varianten für dieselbe Informationsfrage
Query DecompositionZerlegung einer komplexen Query in Teilfragen
HyDERetrieval über ein hypothetisch erzeugtes Dokument
Query RoutingAuswahl einer geeigneten Retrieval-Strategie
Adaptive Retrievalqueryabhängige Wahl von Retrieval-Verfahren
Context SelectionAuswahl der final an das LLM gegebenen Treffer
Context Budgetverfügbare Tokenmenge für Retrieval-Kontext
Context PackingZusammenstellung des finalen Kontextes
Context DeduplicationEntfernen redundanter Informationen
Contextual CompressionReduktion eines Chunks auf queryrelevante Inhalte
Extractive CompressionAuswahl vorhandener Originalpassagen
Abstractive Compressiongenerierte Zusammenfassung relevanter Inhalte
Evidence SelectionAuswahl der finalen Belege für die Antwort
Retrieval Confidencegeschätzte Sicherheit der Retrieval-Ergebnisse
Hard Negativethematisch ähnlicher, aber nicht relevanter Kandidat
AnswerabilityFrage, ob der Kontext tatsächlich eine Antwort erlaubt

150. Die vollständige Retrieval-Pipeline

Nach Teil 5 lässt sich Retrieval wesentlich vollständiger darstellen:

                         USER QUERY
                             │
                             ▼
                      Query Processing
                             │
              ┌──────────────┼──────────────┐
              │              │              │
              ▼              ▼              ▼
          Rewrite        Multi-Query    Decomposition
              │              │              │
              └──────────────┴──────────────┘
                             │
                             ▼
                    Candidate Retrieval
                 ┌───────────┴───────────┐
                 ▼                       ▼
              Dense                    Sparse
                 │                       │
                 └───────────┬───────────┘
                             ▼
                           Fusion
                             ↓
                         Candidates
                             ↓
                          Reranker
                             ↓
                        Deduplication
                             ↓
                            MMR
                             ↓
                    Context Expansion
                             ↓
                 Contextual Compression
                             ↓
                      Evidence Selection
                             ↓
                       Context Packing
                             ↓
                         AUGMENTATION

Und erst danach:

Context
+
Query
+
Instructions
      ↓
     LLM
      ↓
   Antwort

Damit haben wir den Retrieval-Teil der Serie weitgehend komplett.


151. Die wichtigste Erkenntnis aus Teil 5

Der erste Retriever muss nicht perfekt sein.

Er muss den relevanten Chunk finden.

Der Reranker muss ihn anschliessend erkennen.

Die Context-Selection-Stufe muss ihn behalten.

Und erst dann kann das LLM ihn verwenden.

Damit lautet die Pipeline:

Find
 ↓
Rank
 ↓
Select
 ↓
Generate

Jede dieser Stufen kann unabhängig scheitern.

Genau deshalb ist ein gutes RAG-System nicht einfach:

Vector Search
+
Prompt

sondern eine Kette unterschiedlicher Informationsentscheidungen.

Und jetzt gelangen wir an die letzte Grenze zwischen Retrieval und Generation.

Wir besitzen hochwertige Evidenz.

Aber nun stellen sich neue Fragen:

Wie viel davon geben wir dem Modell?

In welcher Reihenfolge?

Wie verhindern wir, dass relevante Informationen im langen Kontext untergehen?

Wie zwingt man das Modell dazu, sich an die Quellen zu halten?

Wann darf es überhaupt antworten?

Was bedeuten Grounding, Faithfulness und Answerability technisch?

Genau darum geht es in Teil 6: Kontext, Grounding und Antworten.

RAG von Grund auf

Teil 1 – RAG verstehen
LLM, parametrisches Wissen, Kontext, Retrieval, Augmentation, Generation und Grounding.

Teil 2 – Dokumente, Parsing und Chunking
Ingestion, Parser, OCR, Dokumentstruktur, Chunks, Overlap, Structured Chunking, Parent-Child und Small-to-Big.

Teil 3 – Embeddings und Vektorsuche
Embeddings, Dense Vectors, Bi-Encoder, Cosine Similarity, ANN, HNSW und Vector Stores.

Teil 4 – Information Retrieval und Hybrid Search
TF, IDF, TF-IDF, BM25, Sparse Retrieval, Hybrid Search und Reciprocal Rank Fusion.

Teil 5 – Reranking und Retrieval-Strategien
Cross-Encoder, Retrieve-then-Rerank, MMR, Query Rewrite, Multi-Query, Query Decomposition, HyDE, Context Selection und Compression.

Teil 6 – Kontext, Grounding und Antworten
Kontextfenster, Token-Budget, Lost in the Middle, Prompt Construction, Grounding, Faithfulness, Citations und Answerability.

Teil 7 – Advanced RAG
Naive RAG, Advanced und Modular RAG, Multi-Hop, Self-RAG, CRAG, RAPTOR, GraphRAG, ColBERT und Agentic RAG.

Teil 8 – Evaluation, Sicherheit und Abgrenzung
Recall, Precision, Hit@k, MRR, nDCG, RAG-Evaluation, Prompt Injection, RAG Poisoning, Fine-Tuning und Tool Calling.