Vordenker
Wie man zuverlÃĪssige RAG-Systeme aufbaut: Eine tiefe Analyse von 7 Fehlerpunkten und Evaluationsframeworks
Retrieval-Augmented Generation (RAG) ist fÞr moderne KI-Architekturen von entscheidender Bedeutung und dient als grundlegendes Framework fÞr den Aufbau von kontextbewussten Agenten.
Aber der Ãbergang von einem grundlegenden Prototyp zu einem produktionsreifen System beinhaltet die Ãberwindung erheblicher HÞrden bei der DatenrÞckgewinnung, Kontextkonsolidierung und Antwortsynthese.
Dieser Artikel bietet eine tiefe Analyse von sieben typischen RAG-Fehlerpunkten und Evaluationsmetriken mit praktischen Code-Beispielen.
Die Anatomie des RAG-Zusammenbruchs â 7 Fehlerpunkte (FPs)
Laut den Forschern Barnett et al. stoÃen Retrieval Augmented Generation (RAG) Systeme auf sieben spezifische Fehlerpunkte (FPs) im gesamten Prozess.
Das folgende Diagramm veranschaulicht diese Stadien:

Abbildung A. Indexierungs- und Abfrageprozesse, die fÞr die Erstellung eines RAG-Systems erforderlich sind. Der Indexierungsprozess wird wÃĪhrend der Entwicklung durchgefÞhrt und die Abfragen zur Laufzeit. Die in dieser Studie identifizierten Fehlerpunkte sind in roten KÃĪstchen dargestellt (Quelle)
Lassen Sie uns jeden FP in der Reihenfolge des Prozesses erkunden, beginnend mit der oberen linken Ecke und fortschreitend in Richtung der unteren rechten Ecke, wie in Abbildung A gezeigt.
FP1. Fehlendes Inhalt
Fehlender Inhalt tritt auf, wenn das System eine Frage gestellt wird, die nicht beantwortet werden kann, weil die relevanten Informationen nicht im verfÞgbaren Vektor-Speicher vorhanden sind.
Der Fehler tritt auf, wenn ein LLM eine plausibel klingende, aber falsche Antwort liefert, anstatt zu sagen, dass es es nicht weiÃ.
FP2. Verpasste Top-Ranked-Dokumente
Dies ist eine Situation, in der ein korrektes Dokument im Vektor-Speicher vorhanden ist, aber der Abruf-Algorithmus es nicht hoch genug bewertet, um es in die Top-k-Dokumente aufzunehmen, die als Kontext an ein LLM weitergegeben werden.
Infolgedessen erreicht die korrekte Information niemals das LLM.
FP3. Nicht im Kontext (Konsolidierungsstrategie-BeschrÃĪnkungen)
Dies ist eine Situation, in der ein korrektes Dokument vorhanden ist und aus dem Vektor-Speicher abgerufen wird, aber wÃĪhrend des Konsolidierungsprozesses ausgeschlossen wird.
Dies geschieht, wenn zu viele Dokumente zurÞckgegeben werden und das System sie filtern muss, um sie innerhalb des Kontextfensters eines LLM, der Token-Grenzwerte oder Rate-Grenzwerte zu passen.
FP4. Nicht extrahiert
Dies ist eine Situation, in der ein LLM es nicht schafft, die korrekte Information im Kontext zu identifizieren, obwohl die korrekte Information im Vektor-Speicher vorhanden war und erfolgreich abgerufen und konsolidiert wurde.
Dies geschieht, wenn der Kontext zu laut oder widersprÞchliche Informationen enthÃĪlt, die das LLM verwirren.
FP5. Falsches Format
Dies ist eine Situation, in der die Speicherung, Abruf, Konsolidierung und LLM-Interpretation erfolgreich durchgefÞhrt werden, aber das LLM die spezifischen Formatierungsanweisungen im Prompt nicht befolgt, wie z. B. eine Tabelle, eine AufzÃĪhlung oder ein JSON-Schema.
FP6. Falsche SpezifitÃĪt
Die Ausgabe eines LLM ist technisch vorhanden, aber entweder zu allgemein oder zu komplex im Vergleich zu den BedÞrfnissen des Benutzers.
Zum Beispiel generiert ein LLM einfache Antworten auf eine Benutzeranfrage mit einem komplexen professionellen Ziel.
FP7. UnvollstÃĪndige Antworten
Dies ist eine Situation, in der ein LLM eine Ausgabe generiert, die nicht unbedingt falsch ist, aber wichtige Informationen fehlen, die im Kontext verfÞgbar waren.
Zum Beispiel, wenn ein Benutzer eine komplexe Frage wie âWas sind die wichtigsten Punkte in den Dokumenten A, B und C?â stellt, beantwortet das LLM nur einen oder zwei der Quellen.
Wie FPs die Leistung von RAG-Pipelines beeintrÃĪchtigen
Jeder dieser FPs beeintrÃĪchtigt die Leistung von RAG-Pipelines:
DatenintegritÃĪt und Vertrauensfehler
Wenn fehlende oder falsche Informationen vorhanden sind, ist das System nicht lÃĪnger eine zuverlÃĪssige Informationsquelle. PrimÃĪre FPs sind:
- FP1 (Fehlendes Inhalt): Die Antwort ist nicht im Dokument vorhanden.
- FP4 (Nicht extrahiert): Das LLM ignoriert die korrekte Antwort im Dokument.
- FP7 (UnvollstÃĪndig): Das LLM liefert Halbwahrheiten, wichtige Teile fehlen.
Abruf- und Effizienzbottlenecks
Die RAG-Pipeline kann ineffizient sein, wenn sie wichtige Informationen in den Abruf- und Konsolidierungsstadien verpasst. PrimÃĪre FPs sind:
- FP2 (Verpasste Top-Ranked): Das Embedding-Modell kann die Top-k-Embeddings nicht auswÃĪhlen.
- FP3 (Konsolidierungsstrategie): Das Skript, das Dokumente auf die LLM-Grenzwerte filtert, entfernt die wichtigsten Teile.
Benutzererfahrung und Formatierungsfehler
Obwohl korrekt, kann eine Ausgabe mit schlechter Lesbarkeit oder im falschen Format die Benutzererfahrung beeintrÃĪchtigen. PrimÃĪre FPs sind:
- FP5 (Falsches Format): Das LLM folgt nicht dem spezifischen Ausgabeformat wie JSON.
- FP6 (Falsche SpezifitÃĪt): Das LLM generiert eine umfangreiche Ausgabe fÞr eine einfache Ja/Nein-Frage oder umgekehrt (zu kurze Antwort fÞr eine komplexe Frage).
Die Evaluations-Stack: Frameworks zur Minderung von FPs
Evaluationsmetriken sind darauf ausgelegt, diese FPs systematisch zu mindern.
Dieser Abschnitt erforscht wichtige Evaluationsmetriken mit praktischen Anwendungsbeispielen.
Wichtige RAG-Evaluationsmetriken:
- DeepEval
- RAGAS
- TruLens
- Arize Phoenix
- Braintrust
DeepEval â Der Unit-Test vor der Bereitstellung
DeepEval berechnet eine gewichtete Punktzahl basierend auf den Kriterien.
Ein LLM-as-a-Richter (z. B. GPT-4o) bewertet jedes Kriterium gegen die Ausgabe eines LLM:

DeepEval nutzt G-eval, ein chain-of-thought (CoT)-Framework, das einen mehrstufigen Ansatz zur Ausgabe-Bewertung verwendet:
- Definieren Sie ein Kriterium zur Messung (z. B. âKohÃĪrenzâ, âFlÞssigkeitâ oder âRelevanzâ).
- Erstellen Sie Bewertungsschritte (mit einem Bewertungs-LLM).
- Folgen Sie dem Bewertungsschritt und analysieren Sie die Eingabe und die LLM-Ausgabe.
- Berechnen Sie eine erwartete gewichtete Summe der Punktzahl jedes Kriteriums.
Ãbliches Szenario in der Praxis
- Situation: Ein technischer Dokumentations-Assistent (Bot) fÞr ein komplexes Software-Produkt scheint jedes Mal zu funktionieren, wenn das Ingenieur-Team die Code-Basis aktualisiert.
- Problem: Kein quantitativer Beweis, ob der Bot immer noch die Benutzeranfrage beantworten kann (Sie denken nur, dass es funktioniertâĶ).
- LÃķsung: Integrieren Sie eine PyTest-Funktion als CI/CD-Regressionstest in Github Action, in der DeepEval
G-Evalund andere Metriken Þber einen Testfall ausfÞhrt:
- Erwartete Ergebnisse: Wenn die Punktzahl einer der Metriken unter die Schwelle (0,85) fÃĪllt, lÃķst PyTest einen
AssertionErroraus â der CI-Build wird sofort fehlschlagen und verhindert, dass der stille Regressionsfehler in die Produktion gelangt.
Vorteile und Nachteile
- Es stehen eine Vielzahl von Metriken (50+) zur VerfÞgung, einschlieÃlich spezieller Voreingenommenheits- und ToxizitÃĪtsprÞfungen.
- Seamlose Integration in bestehende CI/CD-Pipelines.
- Keine Referenz erforderlich. Bewerten Sie eine Ausgabe allein auf der Grundlage des Prompts und des bereitgestellten Kontexts.
- Die QualitÃĪt der Bewertung hÃĪngt stark von den FÃĪhigkeiten des Richter-LLMs ab.
- Rechenintensiv, wenn der Richter-LLM ein High-End-Modell ist.
Entwickler-Hinweis â Der Testfall fÞr DeepEval
Ein Satz vonLLMTestCase-Objekten definiert den Testfall, den DeepEval ausfÞhrt.In der Praxis sollte dieser Testfall die meisten wichtigen Benutzeranfragen und gelabelte Ausgaben mit dem abgerufenen Kontext enthalten.
Diese kÃķnnen aus einer JSON- oder CSV-Datei abgerufen werden.
RAGAS â Der Nadel-im-Heuhaufen-Optimierer
Retrieval Augmented Generation Assessment (Ragas) zielt darauf ab, RAG ohne menschlich annotierte DatensÃĪtze zu bewerten, indem synthetische Testsets generiert werden.
Dann werden Flaggschiff-Metriken berechnet:

Abbildung B. Das RAGAS-Evaluations-Triade-Diagramm, das Frage, Kontext und Antwort Þber PrÃĪzision, Recall, Treue und Relevanz-Metriken verbindet (Erstellt von Kuriko IWAI)
Die Flaggschiff-Metriken sind in drei Gruppen unterteilt:
- Abfrage-Pipeline (schwarze, durchgezogene Linie, Abbildung B): Kontext-PrÃĪzision, Kontext-Recall.
- Generierungs-Pipeline (schwarze, gepunktete Linie, Abbildung B): Treue, Antwort-Relevanz.
- Ground-Truth (roter Kasten, Abbildung B): Antwort-Semantik-Ãhnlichkeit, Antwort-Korrektheit.
Ãbliches Szenario in der Praxis
- Situation: Das RAG-System fÞr RechtsvertrÃĪge fehlt wichtige Klauseln. Sie sind sich nicht sicher, ob das Problem im Such- (Abruf-) oder Leseprozess (Generator) liegt.
- Problem: Keine Ahnung von der optimalen Top-k (Anzahl der abgerufenen Chunks).
- LÃķsung: Verwenden Sie RAGAS, um ein synthetisches Testset mit 100 Paaren von Fragen und Beweisen zu erstellen. Dann fÞhren Sie die RAG-Pipeline gegen das Testset aus, um Kontext-Recall und Kontext-PrÃĪzision zu berechnen:
- Erwartetes Ergebnis: Je nach Metrik-Ergebnis kann der Aktionsplan wie folgt aussehen:
| Metric | Punktzahl | Diagnose | Aktionsplan |
| Kontext-Recall | Niedrig | Der Abruf-Algorithmus hat die korrekte Information verpasst. | â ErhÃķhen Sie Top-k. â Versuchen Sie hybride Suche (BM25 + Vektor). |
| Kontext-PrÃĪzision | Niedrig | Die Top-k-Chunks enthalten zu viel Filter und Rauschen â was das LLM verwirrt. | â Verringern Sie Top-k â Implementieren Sie einen Reranker (z. B. Cohere). |
| Treue | Niedrig | Der Generator halluziniert, obwohl er Daten hat. | â Anpassen Sie das System-Prompt. â ÃberprÞfen Sie die Kontext-Fenster-Grenzwerte. |
Tabelle 1. RAGAS-Diagnose-Aktionsplan â Zuordnung von Punktzahlen zu System-Anpassungen.
Vorteile und Nachteile
- Hervorragend fÞr ein FrÞhprojekt ohne Ground-Truth-DatensÃĪtze (Wie wir im Code-Snippet gesehen haben, kann RAGAS ein synthetisches Testset erstellen).
- Das synthetische Testset kann nuancierte faktische Fehler verpassen.
- Ein robuster Extraktions-Modell ist erforderlich, um Antworten in einzelne Behauptungen zu zerlegen (Ich habe im Beispiel
gpt-4overwendet).
TruLens â Der Feedback-Schleifen-Spezialist
TruLens konzentriert sich auf die internen Mechanismen des RAG-Prozesses und nicht nur auf die endgÞltige Ausgabe, indem es Feedback-Funktionen verwendet.
Es verwendet auch eine LLM-basierte Punktzahl, die widerspiegelt, wie gut die Antwort den Intent der Anfrage erfÞllt, mit einer 4-Punkt-Likert-Skala (0-3), was es fÞr die Bewertung der QualitÃĪt verschiedener Suchergebnisse Þberlegen macht.
Ãbliches Szenario in der Praxis
- Situation: Ein medizinischer Berater-Bot beantwortet eine Benutzeranfrage korrekt, aber fÞgt einen Pro-Tipp hinzu, der nicht in der geprÞften PDF-Basis enthalten ist.
- Problem: Der hinzugefÞgte Pro-Tipp kann hilfreich sein, aber nicht fundiert.
- LÃķsung: Verwenden Sie TruLens, um eine Grundierungs-Feedback-Funktion mit einer Schwelle wie
Punktzahl > 0,8zu implementieren.
- Erwartete Ergebnisse: Wenn das LLM eine Antwort generiert, die Informationen enthÃĪlt, die nicht im abgerufenen Chunk vorhanden sind, markiert TruLens den Eintrag in Ihrem Dashboard.
Vorteile und Nachteile
- Visualisiert die Denk-Kette, um genau zu erkennen, wo der Agent vom Weg abgekommen ist.
- Bietet eine integrierte UnterstÞtzung fÞr Grundierung, um Halluzinationen in Echtzeit zu erkennen.
- Lernkurve fÞr die Definition benutzerdefinierter Feedback-Funktionen.
- Das Dashboard kann sich fÞr einfache Skripte ÞbermÃĪÃig komplex anfÞhlen.
Arize Phoenix â Die stille Fehlerkarte
Arize Phoenix ist ein Open-Source-Beobachtungs- und Evaluations-Tool, um LLM-Ausgaben, einschlieÃlich komplexer RAG-Systeme, zu bewerten.
Basierend auf OpenTelemetry von Arize AI konzentriert es sich auf Beobachtbarkeit, indem es die LLM-Evaluierung als Teil von MLOps behandelt.
Im Kontext der RAG-Evaluierung exceliert Phoenix bei der Einbettungs-Analyse, indem es Uniform Manifold Approximation and Projection (UMAP) verwendet, um hochdimensionale Vektor-Einbettungen in 2D/3D-Raum zu reduzieren.
Diese Einbettungs-Analyse zeigt mathematisch, ob die fehlgeschlagenen Abfragen semantisch gruppiert sind, was auf eine LÞcke im Vektor-Datenbestand hinweist.
Ãbliches Szenario in der Praxis
- Situation: Ein Kunden-Support-Bot funktioniert groÃartig fÞr RÞckerstattungen, aber liefert unsinnige Antworten auf Garantie-AnsprÞche.
- Problem: DatenlÞcke im Vektor-Datenbestand (Kann nicht in den Protokollen gefunden werden).
- LÃķsung: Verwenden Sie Arize Phoenix, um eine Umap-Einbettungs-Visualisierung (UEV) zu erstellen, eine 3D-Karte fÞr den Vektor-Datenbestand â um Benutzeranfragen auf die Dokument-Chunks zu Þberlagern.
- Erwartete Ergebnisse: Visualisieren Sie einen Cluster von Benutzeranfragen, die in der dunklen Zone landen, in der keine Dokumente existieren, was darauf hinweist, dass einige Dokumente vergessen wurden, in den Vektor-Speicher hochzuladen.
Vorteile und Nachteile
- OpenTelemetry-nativ; integriert sich mit bestehenden Unternehmens-Ãberwachungs-Stacks.
- Das beste Tool fÞr die Visualisierung von Blindspots im Vektor-Speicher.
- Weniger fokussiert auf Punktzahlen, mehr auf Beobachtung.
- Kann fÞr kleine Anwendungen oder Einzelagenten-Tools Þberkill sein.
Braintrust â Das Prompt-Regression-Sicherheitsnetz
Braintrust ist fÞr Hochfrequenz-Iterierungszyklen konzipiert und verwendet Modell-zu-Modell-Vergleiche.
Gemeinsames Szenario in der Praxis
- Situation: Ein Ingenieur-Team aktualisiert den Prompt von âAntworten Sie auf die Frageâ (Fall A) auf eine komplexere 500-WÃķrter-Systemanweisung (Fall B).
- Problem: Die Verbesserung des Prompts fÞr Fall B kÃķnnte versehentlich Fall A brechen.
- LÃķsung: Verwenden Sie Braintrust, um einen Goldenen Datensatz mit einem Satz von N perfekten Beispielen (z. B.
N = 50) zu erstellen. Lassen Sie Braintrust eine side-by-side-Vergleich jederzeit ausfÞhren, wenn das Team ein einzelnes Wort im Prompt aktualisiert:
- Erwartetes Ergebnis: Ein Differenzbericht, der genau zeigt, welche FÃĪlle besser oder schlechter geworden sind fÞr jeden der Goldenen Datensatz (N = 50).
Vorteile und Nachteile
- Extrem schnell zu testen, bevor es bereitgestellt wird.
- GroÃartige BenutzeroberflÃĪche fÞr nicht-technische Stakeholder, um die Ausgabe zu ÞberprÞfen und zu bewerten.
- ProprietÃĪr/SaaS-fokussiert (obwohl sie Open-Source-Komponenten haben).
- Weniger integrierte tiefere Metriken im Vergleich zu DeepEval oder Ragas.
Zusammenfassung
Wenn RAG mit geeigneten Evaluationsframeworks gehandhabt wird, kann es ein wettbewerbsfÃĪhiges Tool sein, um einen LLM den Kontext zu liefern, der fÞr die Benutzeranfrage am relevantesten ist.
Implementierungsstrategie: Zuordnung von Metriken zu Fehlerpunkten
Obwohl es keine universelle LÃķsung gibt, zeigt Tabelle 2, welche Evaluationsmetriken fÞr jeden FP verwendet werden sollten, den wir in diesem Artikel besprochen haben:
| Fehlerpunkt | Evaluationsmetrik-Idee | Feature zum Verwenden |
| FP1: Fehlendes Inhalt | RAGAS | Treue / Antwort-Korrektheit |
| FP2: Verpasste Top-Ranked | TruLens | Kontext-Recall / PrÃĪzision |
| FP3: Konsolidierung | Arize Phoenix | Abruf-Verfolgung und Latenz-Analyse |
| FP4: Nicht extrahiert | DeepEval | Treue / Kontext-Recall |
| FP5: Falsches Format | DeepEval | G-Eval (Benutzerdefinierte Rubrik) |
| FP6: Falsche SpezifitÃĪt | Braintrust | Manuelle Bewertung und Side-by-Side-Evaluierung |
| FP7: UnvollstÃĪndig | RAGAS | Antwort-Relevanz |
Tabelle 2. Die Fehlerpunkt-Minderungs-Matrix â Welches Tool lÃķst welchen FP?
DeepEval und RAGAS kÃķnnen ihre Treue-Metriken nutzen, um DatenintegritÃĪtsfehler (FP1, FP4, FP7) zu messen.
TruLens nutzt seine Kontext-PrÃĪzision/Recall, um die Kontext-Relevanz fÞr die Ausgabe zu messen â effektiv bewertend FP2.
Arize Phoenix bietet eine visuelle Verfolgung des Abrufprozesses, was es einfach macht, zu sehen, ob das abgerufene Dokument wÃĪhrend der Konsolidierung verloren ging (FP3).
Bei UX-Fehlern erstellt DeepEval benutzerdefinierte Metriken, um UX-Fehler zu bewerten, wÃĪhrend Braintrust bei der Ground-Truth-Datensatz-Vergleich hervorragt.












