Zum Inhalt springen

Halluzinationen systematisch testen

Wissen

LLMs halluzinieren. Sie generieren Text, der grammatisch korrekt, logisch konsistent und überzeugend klingt -- aber faktisch falsch ist. Das ist kein Fehler im herkömmlichen Sinne. Es ist eine unvermeidliche Eigenschaft probabilistischer Sprachmodelle: Sie optimieren auf "wahrscheinlich klingende nächste Token", nicht auf "faktisch korrekte Aussagen".

Für den Experte-Level ist die relevante Frage nicht "Halluzinieren LLMs?" (ja, immer), sondern: Wie misst du die Halluzinationsrate systematisch? Und wie reduzierst du sie auf ein akzeptables Niveau?

Arten von Halluzinationen

1. Faktische Halluzinationen (Factual Confabulations) -- Das Modell erfindet Fakten: Zitiert nie veröffentlichte Studien, nennt erfundene Statistiken, beschreibt nicht existierende Software-Funktionen.

2. Logische Halluzinationen (Reasoning Errors) -- Korrekte Prämissen mit falschem Schluss, Inkonsistenz innerhalb einer Antwort, getarnte Zirkelschlüsse.

3. Kontextuelle Halluzinationen (Context Drift) -- Beantwortet eine andere Frage als gestellt, fügt Informationen hinzu, die nicht im gegebenen Kontext stehen, widerspricht explizit gegebenem Kontext.

4. Identitäts-Halluzinationen -- Behauptet Fähigkeiten, die es nicht hat, gibt falsche Angaben über sein Training, "erinnert" sich an nie stattgefundene Konversationen.

Benchmark-Ansätze

TruthfulQA: 817 Fragen, die häufige Fehlvorstellungen provozieren. Antworten werden gegen Ground Truth geprüft. Limitation: Statischer Benchmark, der mit der Zeit "gelernt" werden kann (Data Contamination).

HaluEval: Benchmark speziell für Halluzinations-Erkennung in verschiedenen Aufgabentypen (QA, Summarization, Dialog).

RAGAS (RAG Assessment): Framework mit Metriken Faithfulness, Answer Relevancy und Context Precision zur Evaluierung von RAG-Systemen.

Eigene Benchmarks: Für Produktionssysteme brauchst du domänenspezifische Testsets:

1. Sammle 200-500 domänenspezifische Fragen mit verifizierten Antworten
2. Kategorisiere nach Schwierigkeit und Halluzinationsrisiko
3. Automatisiere die Auswertung (LLM-as-Judge oder regelbasiert)
4. Führe den Benchmark bei jedem Modellwechsel und Prompt-Update aus
5. Tracke die Halluzinationsrate über Zeit (Monitoring)

Verstehen

Tippe auf eine Karte, um das Beispiel zu sehen

Automated Testing

LLM-as-Judge -- Ein zweites LLM bewertet die Ausgabe des ersten auf Halluzinationen. Klingt zirkulär, funktioniert aber erstaunlich gut, wenn das Judge-Modell Zugang zur Ground Truth hat, explizite Bewertungskriterien bekommt und stärker ist als das getestete Modell.

judge_prompt = """
Gegeben:
- Frage: {question}
- Kontext (Ground Truth): {context}
- Antwort des Systems: {answer}

Bewerte die Antwort auf einer Skala von 1-5:
1 = Komplett halluziniert, keine Fakten stimmen
2 = Mehrheitlich halluziniert, einzelne Fakten korrekt
3 = Gemischt, einige Halluzinationen
4 = Überwiegend korrekt, minimale Ungenauigkeiten
5 = Vollständig korrekt und durch Kontext gestützt

Begründe deine Bewertung Punkt für Punkt.
"""

Assertion-basiertes Testing -- Explizite Regeln für jede Antwort: Must-Contain (Schlüsselfakten), Must-Not-Contain (bekannte Falschinformationen), Consistency-Check (Zahlen/Daten), Format-Check (JSON-Schema).

CI/CD-Integration -- Halluzinations-Tests gehören in deine Pipeline: Regression-Tests bei Prompt-Updates, vollständiger Benchmark bei Modellwechsel, wöchentliches Sampling aus Produktions-Logs.

Grounding-Strategien

1. RAG (Retrieval-Augmented Generation) -- Reduziert Halluzinationen um 40-70%. Aber: Das Modell kann auch RAG-Kontext falsch interpretieren.

2. Citation-Forcing -- Das Modell muss für jede Aussage eine Quelle angeben. Aussagen ohne Quelle werden automatisch gefiltert.

System-Prompt: "Belege jede faktische Aussage mit einer Quellenangabe
aus dem bereitgestellten Kontext. Verwende das Format [Quelle: Dokument X,
Abschnitt Y]. Wenn du keine Quelle findest, schreibe explizit:
'Keine Quelle verfügbar -- diese Aussage ist nicht verifiziert.'"

3. Constrained Generation -- Structured Output (JSON-Schema), Enum-Fields, Temperatur 0 (reduziert Variabilität, eliminiert Halluzinationen aber nicht).

4. Multi-Model Verification -- Zwei oder mehr Modelle beantworten dieselbe Frage unabhängig. Nur übereinstimmende Aussagen werden akzeptiert.

5. Human-in-the-Loop Verification -- Für die höchste Zuverlässigkeitsstufe: Ein Mensch prüft jede Ausgabe. Skaliert nicht, ist aber für kritische Anwendungen oft die einzige verantwortbare Option.

*Defense in Depth

Keine einzelne Strategie eliminiert Halluzinationen. In der Praxis kombinierst du mehrere Strategien: RAG + Citation-Forcing + Assertion-Tests + Monitoring. Jede Schicht reduziert die Fehlerrate weiter.

Anwenden

Ein Unternehmen setzt RAG ein und stellt fest, dass die Halluzinationsrate um 50% gesunken ist. Trotzdem halluziniert das System noch bei 15% der Anfragen. Was ist der sinnvollste nächste Schritt?

Reflektieren

Halluzinationen sind kein Bug, sondern eine inhärente Eigenschaft probabilistischer Sprachmodelle. Defense in Depth -- die Kombination aus Citation-Forcing, Assertion-Tests und Monitoring -- ist der effektivste Ansatz. Im nächsten Abschnitt schauen wir uns den Energieverbrauch und die Umweltauswirkungen von LLMs an.