> Fragengeneration aus Chunks, Hard Negatives, Answerability-Labels, deutsche und ungarische Abdeckung, Kontamination und menschliche Stichproben.
>
> Web page: https://balazscsorba.com/de/blog/synthetic-test-data-rag-evals · Language: Deutsch · Also available in: [English](https://balazscsorba.com/blog/synthetic-test-data-rag-evals.md) · [Magyar](https://balazscsorba.com/hu/blog/synthetic-test-data-rag-evals.md)
> Author: Balázs Csorba · Published: 2026-10-17 · Keywords: synthetic test data RAG, RAG evaluation dataset, question generation from chunks, hard negatives retrieval evaluation, answerability filter, RAG test set generation, synthetic QA pairs, RAG eval data contamination, multilingual RAG evaluation German Hungarian, retrieval metrics recall ndcg, LLM judge human spot check, unanswerable questions RAG

[Blog](https://balazscsorba.com/de/blog)/Retrieval & Suche

# Synthetische Testdaten für RAG-Evaluierungen erzeugen

Fragengeneration aus Chunks, Hard Negatives, Answerability-Labels, deutsche und ungarische Abdeckung, Kontamination und menschliche Stichproben.

[Balázs Csorba](https://balazscsorba.com/de/about)·17\. Oktober 2026·10 Min. Lesezeit

-   RAG
-   Evaluation
-   Synthetic data
-   Retrieval
-   Testing

![Eine sechsstufige Pipeline von Dokumenten-Chunks zu Fragen, evolutionierten Queries, begründeten Antworten, einem Groundedness-Filter und dem Gold-Kontext, mit abzweigenden Hard Negatives.](https://balazscsorba.com/images/blog/synthetic-test-data-rag-evals/cover.webp?v=faf8a453de)

## Das Wichtigste in Kürze

-   Aus den eigenen Chunks mit der Produktions-Chunking-Strategie generieren; Frage, Antwort und Gold-Kontext gehören in jeden Datensatz.
-   Hard Negatives und unbeantwortbare Fragen sind der Grund, warum ein Set überhaupt scheitern kann.
-   Deutsch und Ungarisch jeweils pro Sprache generieren, nicht eine englische Frageliste übersetzen.
-   Vor Kontamination schützen: Set privat halten, ganze Dokumente statt Chunks herauslösen, Ngram-Überlappung mit dem Gold-Chunk prüfen.
-   Den Generator weiter bewerten: 30 bis 50 stratifizierte menschliche Labels, nach jeder Änderung von Modell oder Prompt neu.

Auf dieser Seite

1.  [Warum handgelabelte Sets zu Ende gehen](https://balazscsorba.com/#why-hand-labeled)
2.  [Die Generierungs-Pipeline](https://balazscsorba.com/#generation-pipeline)
3.  [Fragetypen, die sich zu erzeugen lohnen](https://balazscsorba.com/#question-shapes)
4.  [Hard Negatives: Tests, die scheitern können](https://balazscsorba.com/#hard-negatives)
5.  [Answerability-Labels](https://balazscsorba.com/#answerability-labels)
6.  [Abdeckung auf Deutsch und Ungarisch](https://balazscsorba.com/#multilingual-coverage)
7.  [Das Set kontaminationsfrei halten](https://balazscsorba.com/#contamination)
8.  [Menschliche Stichproben, die mitwachsen](https://balazscsorba.com/#human-spot-checks)
9.  [Was die Zahlen messen müssen](https://balazscsorba.com/#metrics)
10.  [Zur wiederholbaren Aufgabe machen](https://balazscsorba.com/#repeatable-job)
11.  [Quellen](https://balazscsorba.com/#sources)

Diesen Artikel anhören

0:000:00

Jedes RAG-Team stößt auf dieselbe Wand: der Code kommt schnell ins Produkt, der Eval-Datensatz nicht. Frage, Antwort und Gold-Kontext von Hand zu labeln dauert Wochen, und wenn das Set fertig ist, hat sich die Wissensbasis bereits weiterentwickelt. Red Hats Beitrag vom Februar 2026 beschreibt den üblichen Zustand: Teams stimmen Embeddings, Retriever, Chunking und Prompts ab, während sie sich weiterhin auf manuelle Stichproben, kleine handgelabelte Datensätze oder generische LLM-as-a-Judge-Werte verlassen, und das System funktioniert scheinbar, bis echter Traffic kommt.

Synthetische Testdaten sind der Weg, auf den sich die Branche geeinigt hat: Fragen, Antworten und Gold-Kontexte aus den eigenen Chunks erzeugen, die Fehlgriffe des Generators filtern und eine kleine menschliche Stichprobe behalten, um den Generator selbst zu bewerten. Dieser Beitrag führt den ganzen Weg: die Pipeline, die Fragetypen, die sich lohnen, Hard Negatives, Answerability-Labels, die Abdeckung auf Deutsch und Ungarisch, Kontamination, Stichproben und die Metriken, die daraus ein CI-Gate statt eines Dashboards machen.

## Warum handgelabelte Sets zu Ende gehen

RAG-Evaluierung ist aus einem langweiligen Grund schwerer als die Bewertung eines Modells für sich: Zwei Komponenten fallen gleichzeitig aus. Ohne bekannten Ground-Truth-Kontext lässt sich nicht unterscheiden, ob der Retriever die falschen Dokumente geholt hat oder der Generator trotz korrektem Kontext halluziniert hat, und das Debugging wird zur Ratespielerei. Synthetische Triplets lösen genau das: Weil die Frage aus einem bestimmten Chunk gebaut wurde, weiß man, welcher Chunk gewinnen muss, Retrieval und Generierung lassen sich also getrennt bewerten statt über einen verwaschenen Gesamtwert zu streiten.

Red Hat nennt die anderen Schwachstellen statischer, selbst gebauter Sets: Sie sind teuer und langsam zu produzieren, sie tragen selten Ground-Truth-Kontext, sie veralten, sobald sich die Dokumente ändern, und generische Fragen verfehlen genau die domänenspezifischen Fehler, die zählen. Es gibt einen Vorbehalt. Rahmani und Kollegen zeigten auf der CIKM 2025, dass auf LLM-generierten Testkollektionen berechnete Eval-Ergebnisse bei absoluter Systemleistung verzerrt sind, während der relative Vergleich zwischen Systemen deutlich besser trägt. Synthetische Werte liest man als Trendlinie, nicht als Note.

## Die Generierungs-Pipeline

Jeder ernsthafte Generator folgt derselben Form. Red Hats Open-Source-Projekt SDG Hub liefert einen RAG-Evaluation-Flow mit sechs Schritten: Topic-Extraction als Anker der Evaluierung, Fragengeneration geführt durch ein Dokument-Outline, Question Evolution in realistische Nutzer-Anfragen, streng im Quelltext begründete Antwortgenerierung, ein Groundedness-Filter, der schwache Paare entfernt, und Context Extraction, die den minimalen Chunk isoliert, der zur Antwort nötig ist. Der Eingabe-Vertrag ist bewusst gesetzt: eine Spalte für das Dokument, das der Produktions-Chunking-Strategie entsprechen muss, und ein kurzes intent-Level-Outline, denn ein gutes Outline ist es, der das Modell davon abhält, banale extraktive Fragen zu schreiben.

Der Filterschritt ist kein Extra: Schwache Frage-Antwort-Paare landen in den Metriken, wenn hier niemand sie entfernt.

Ragas erzeugt dasselbe Ergebnis auf einem anderen Weg. Es macht aus den Dokumenten einen Knowledge Graph mit einem Document Splitter, Extractoren wie Entity- und Keyphrase-Extractoren und Relationship Buildern, wählt dann Szenarien, also Knoten, Query-Länge, Query-Stil und Persona, bevor ein Synthesizer die Frage und ihre Referenzantwort schreibt. Die Standard-Query-Verteilung ist 0,5 single-hop specific, 0,25 multi-hop abstract und 0,25 multi-hop specific. DeepEvals Synthesizer nimmt den geraden Weg: Goldens aus Dokumenten oder Kontexten erzeugen, in härtere Formen entwickeln und als DatenSet speichern, gegen das man pytest laufen lassen kann.

```
from ragas.testset import TestsetGenerator
from ragas.testset.synthesizers import default_query_distribution

generator = TestsetGenerator(llm=generator_llm, embedding_model=generator_embeddings)
dist = default_query_distribution(generator_llm)
# [(SingleHopSpecific, 0.5), (MultiHopAbstract, 0.25), (MultiHopSpecific, 0.25)]
testset = generator.generate(testset_size=100, query_distribution=dist)

df = testset.to_pandas()
# columns you actually need downstream: query, reference_contexts, reference
df.to_json("evals/rag-set-v1.jsonl", orient="records", lines=True)
```

## Fragetypen, die sich zu erzeugen lohnen

Generiere nicht nur eine Frageart. Ein Set nur aus Was-ist-X-Fragen geht brav durch, während die Fehler, die im Produkt ankommen, nie auftauchen: der Vergleich über zwei Dokumente, die Paraphrase ohne gemeinsame Schlüsselwörter und die Frage, die das Corpus schlicht nicht beantworten kann. Ragas hat die Fragetypen entlang zweier Achsen aufgeteilt, single-hop versus multi-hop und specific versus abstract, und seine Szenarien ergänzen Query-Länge, Stil und Persona, damit die Formulierungen nicht alle imselben Register daherkommen.

Typ

Anforderung an das Retrieval

Referenz-Label

Single-hop, specific

Ein Chunk enthält die Antwort

Gold-Kontext plus Antwort

Single-hop, abstract

Ein Chunk, Reasoning umformuliert

Gold-Kontext plus Rubrik

Multi-hop

Zwei oder mehr Chunks, verknüpft über eine Entität

geordnete Gold-Kontexte

Unbeantwortbar

Nichts im Corpus deckt das Thema ab

Answerability nein, erwartete Verweigerung

Hard-Negative-Probe

Gold-Kontext liegt unter Nahe-Duplikaten

Gold-Kontext plus Dekoy-IDs

Schwierigkeit ist die zweite Achse, und sie ist messbar. NVIDIAS synthetische-Daten-Pipeline nimmt ein Embedding-Modell als Judge für die Fragenschwierigkeit: Es filtert erzeugte Fragen über die Kosinus-Ähnlichkeit zu den Kontext-Dokumenten, und niedrigere Schwellwerte erzeugen ein härteres Set. Auf dem FiQA-Benchmark kalibrierte das NVIDIA-Team diesen Filter gegen die menschlich gelabelten Testanfragen und berichtete eine durchschnittliche Abweichung bei Recall@5 von 4,57 Prozent mit dem Schwellwert des 70. Perzentils und 5,65 Prozent mit dem des 75. Perzentils, mit einer Korrelation von 0,91 über die verglichenen Embedding-Modelle. Das ist der Maßstab: Dein synthetisches Set sollte zwei Retriever in derselben Reihenfolge sortieren wie ein handgelabeltes.

## Hard Negatives: Tests, die scheitern können

Eine Frage plus Gold-Chunk beweist nur, dass der richtige Chunk gefunden werden kann. Hard Negatives beweisen, dass der falsche Chunk abgelehnt wird, und sie sind der Hauptgrund, warum ein synthetisches Set überhaupt scheitern kann. NVIDIA definiert Hard Negatives als Dokumente, deren Embeddings nah an der Frage liegen, deren Text aber die Antwort nicht enthält: die angrenzende Preisliste, die vorherige Version einer Richtlinie, derselbe Artikel in der anderen Sprache. Zufällige Negativbeispiele nützen dafür nichts, weil der Abstand einer Frage zu einem irrelevanten Dokument im modernen Embedding-Raum bereits groß ist.

Für Trainingspaare dokumentiert NVIDIA drei Auswahlstrategien, und alle drei gelten auch für Eval-Daten: Top-K-Auswahl nach Kosinus-Ähnlichkeit zur Frage, schwellwertbasierte Auswahl, die nur Negativbeispiele innerhalb eines Mindest- und Höchst-Ähnlichkeitsbands akzeptiert, und positive-aware Mining, das die Negativ-Ähnlichkeit als Prozentsatz der Positiv-Ähnlichkeit begrenzt. Ihre Ablation im NV-Retriever-Paper setzt diese Grenze auf 95 Prozent der Positiv-Ähnlichkeit, um falsche Negativbeispiele zu entfernen. Für Eval heißt dasselbe: die Dekoys auswählen, die ein Retriever am ehesten mit dem Gold-Chunk verwechselt, und ihre IDs neben das Label legen, damit ein Fehler auf eine konkrete Verwechselung zeigt statt auf einen vagen Wertabfall.

```
import numpy as np

def hard_negatives(question, chunks, gold_idx, k=4, cap=0.95):
    """Decoys the retriever ranks near the gold chunk, capped below the gold score."""
    q = embed(question)
    sims = np.array([cosine(q, c.embedding) for c in chunks])
    gold = sims[gold_idx]
    order = np.argsort(-sims)
    picked = [i for i in order if i != gold_idx and sims[i] <= cap * gold]
    return picked[:k]  # store chunk ids as hard_negatives on the record
```

## Answerability-Labels

Unbeantwortbare Einträge trennen einen Suchtest von einem Verweigerungstest. SQuAD 2.0 machte das Muster zum Standard, indem es über 50.000 Fragen hinzufügte, die Crowdworker adversarial so schrieben, dass sie wie beantwortbare aussahen: Ein starkes neuronales System, das auf SQuAD 1,1 86 Prozent F1 erreichte, fiel auf SQuAD 2.0 auf 66 Prozent F1, weil es zusätzlich entscheiden musste, wann der Absatz keine Antwort stützt. Ein RAG-Eval-Set braucht dieselbe Mischung, mit einem dokumentierten Anteil an Fragen, bei denen das richtige Verhalten ist zu sagen, dass das Corpus das Thema nicht abdeckt.

NVIDIAS Answerability-Filter ist eine gute Vorlage für das Label selbst. Menschliche Annotatoren bewerteten eine erzeugte Anfrage mit A, wenn der Chunk sie vollständig beantwortete, mit B, wenn wichtige Informationen fehlten, mit C, wenn die Anfrage relevant war, aber der Kontext sie nicht beantwortete, und mit D, wenn die Anfrage für den Kontext nicht relevant war; nicht standalone formulierte Anfragen bekamen gar keine Bewertung. Gegen diese Rubrik erreichte ein Llama-3.1-70b-Instruct-Judge 94 Prozent Precision und 90 Prozent Recall. Vier Stufen sind hier besser als ein Bool, weil teilweise beantwortbar ein echter Produktionsfall ist, und genau derjenige, der selbstbewusste, halb richtige Antworten produziert.

**Beantwortbar aus dem Chunk, nicht aus dem Gedächtnis des Modells**

Ein Modell, das eine Frage zu einem Chunk schreiben soll, schreibt ohne Weiteres eine, die es aus dem Pretraining beantworten kann, mit dem Chunk als Dekoration. Deshalb ist der Groundedness-Filter ein eigener Pipeline-Schritt: Die Antwort darf nur vom Gold-Kontext getragen sein, und das Answerability-Label muss mit dem Chunk vor dem Judge entschieden werden, nicht gegen das eigene Wissen des Modells. Den Anteil der unbeantwortbaren Fragen explizit in der Konfiguration halten, und ein Set ohne Negativbeispiele und ohne Verweigerungen als defekt behandeln: Ein Set, das nicht scheitern kann, misst nichts.

## Abdeckung auf Deutsch und Ungarisch

Wenn das Produkt auf Deutsch und Ungarisch antwortet, wird auf Deutsch und Ungarisch generiert. Eine übersetzte englische Frageliste liefert englische Satzbau mit deutschen Wörtern, und das ist nicht das, was Menschen tippen; außerdem versteckt sie die Suchprobleme, die jeder Sprache eigen sind: deutsche Komposita, die sich anders teilen als die Query, ungarische Agglutination, die mehrere Suffixe an einen Stamm hängt, und der cross-linguale Fall, bei dem eine ungarische Frage ein deutsches Dokument treffen soll. Jeden Eintrag mit Query-Sprache und Dokument-Sprache versehen und das cross-linguale Segment separat bewerten.

Öffentliche mehrsprachige Benchmarks sind ein Sanity-Check, kein Ersatz. MMTEB, die auf der ICLR 2025 angenommene Community-Erweiterung von MTEB, deckt über 500 qualitätskontrollierte Eval-Tasks über mehr als 250 Sprachen ab, und sie zeigt auch, wie stark die Task-Auswahl zählt: Retrieval-Tasks werden optimiert, indem Hard Negatives gesampelt werden, um kleinere Splits zu bauen, die die Modell-Rangfolge erhalten. Nationale Erweiterungen von MTEB gibt es für Deutsch und mehrere andere Sprachen, und sie helfen bei der Wahl des Embedding-Modells; für Ungarisch stützt man sich vor allem auf das eigene generierte Set, ein weiterer Grund, es ehrlich zu halten. Die Retrieval-Seite davon behandelt [mehrsprachiges RAG für Deutsch und Ungarisch](https://balazscsorba.com/de/blog/multilingual-rag-german-hungarian).

## Das Set kontaminationsfrei halten

Kontamination beißt zweimal. Der erste Biss ist der Public-Benchmark-Fall: Tauchen Eval-Einträge in den Trainingsdaten eines Modells auf, ist die Zahl Fiktion. Der klassische Detektor ist Ngram-Überlappung, die Methode, mit der das GPT-3-Paper Eval-Sets mit mehr als 13 Tokens Überlappung zu Trainingsdaten markierte, und die Studie Infini-gram mini auf der EMNLP 2025 lief exakte Ngram-Suche über 83 Terabyte Internettext und fand Kern-Benchmarks stark kontaminiert, bis zu 74,2 Prozent bei GSM8K. Ein Survey aus dem Jahr 2025 gruppiert die Abwehr in Data Updating, Data Rewriting und Prevention und die Detektionsmethoden in White-Box, Gray-Box und Black-Box.

Der zweite Biss ist privat: Das eigene generierte Set sickert in das System ein, das man misst. Drei Regeln decken das. Kein Prompt und keine Chunking-Regel auf dem Eval-Set abstimmen und dann auf demselben Set eine Zahl berichten, also für Tuning-Arbeiten ganze Dokumente statt Chunks herauslösen und die Eval-Einträge aus dem Index halten, der für Prompt-Experimente genutzt wird. Die Überlappung zwischen jeder erzeugten Frage und ihrem Gold-Chunk prüfen, denn eine aus dem Chunkwortlaut kopierte Frage lässt einen extraktiven Retriever besser aussehen, als er ist. Und neu erzeugen, wenn sich das Corpus wesentlich ändert, mit einem Corpus-Hash auf jedem Eintrag, damit eine alte Zahl rückverfolgbar bleibt.

## Menschliche Stichproben, die mitwachsen

Stichproben sind die Art, wie man den Generator bewertet, und die günstige Version funktioniert. Evidentlys praxisnaher Guide zur Angleichung eines Judges an menschliche Labels empfiehlt, mit 30 bis 50 gelabelten Beispielen zu starten, Labels binär oder in wenigen Klassen zu halten statt auf einer Skala von 1 bis 10, und den Judge mit Accuracy, Precision, Recall und Cohen's Kappa zu messen. Im eigenen durchgerechneten Beispiel stimmte der erste Judge-Prompt nur mit 67 Prozent der Labels mit menschlichen Experten überein, und es brauchte Iteration an Prompt und Modell, bis der Judge brauchbar war. Rechne mit dieser Iteration, statt den ersten Judge-Prompt für fertig zu halten.

Stratifiziert statt zufällig sampeln: alle Sprachen, alle Label-Typen und das unbeantwortbare Segment abdecken, und nach jeder Änderung am Generator-Modell oder seinem Prompt neu prüfen. Dazu kommt ein bestimmter Bias, vor dem man sich hüten muss. Panickssery, Bowman und Feng zeigten, dass LLM-Bewerter ihre eigenen Generierungen erkennen und bevorzugen, und dass Feinexperimente eine lineare Korrelation zwischen Selbsterkennungsfähigkeit und Stärke des Self-Preference-Bias erzeugen. Praktisch: Fragen und Antworten niemals mit derselben Modellfamilie bewerten, die sie geschrieben hat, und die Judge-Übereinstimmung als gemessene Zahl aktualisieren statt als angenommene Eigenschaft.

## Was die Zahlen messen müssen

Mit Gold-Kontexten in der Hand ist die Metrik-Liste kurz, und jeder Eintrag benennt eine Ebene, und genau darum geht es beim Bau des Sets. Das Retrieval bekommt Recall@k, MRR und nDCG, dazu Context Precision und Recall, wenn man die Antwortspans kennt und nicht nur die Chunk-IDs. Die Generierung bekommt Faithfulness, also ob die Antwort vom abgerufenen Kontext getragen wird, Answer Relevance und Abstention Accuracy über die unbeantwortbaren Einträge. Eine Zahl, die man keiner der beiden Ebenen zuordnen kann, ist ein Dashboard, kein Diagnosewerkzeug; die breitere Taxonomie steht in [RAG evaluieren](https://balazscsorba.com/de/blog/rag-evaluation-metrics).

Metrik

Ebene

Was das synthetische Set liefern muss

Recall@k, MRR, nDCG@10

Retrieval

Gold-Kontext-ID je Frage

Context Precision und Recall

Retrieval

Gold-Spans, nicht nur IDs

Faithfulness

Generierung

Antwort plus abgerufener Kontext

Answer Relevance

Generierung

Frage plus Referenzantwort

Abstention Accuracy

Generierung

Labels für unbeantwortbare Fragen

Zwei Gewohnheiten halten die Zahlen ehrlich: erstens den relativen Vergleich, Konfiguration A gegen Konfiguration B auf demselben Set, als Ergebnis zuerst zu melden, weil die CIKM-2025-Analyse zeigte, dass absolute Leistung auf synthetischen Kollektionen die fragile Zahl ist. und zweitens einen kleinen menschlich gelabelten Anteil dauerhaft behalten: Er ist das Kalibrierungsgewicht, das verrät, ob das synthetische Set von dem abgedriftet ist, was Nutzer wirklich fragen, und er ist zugleich das Regressionsset für den Judge.

## Zur wiederholbaren Aufgabe machen

Synthetische Daten zahlen sich erst dann aus, wenn sie langweilig sind: dieselbe Pipeline, dieselben Prompts, dieselben Filter, die laufen, sobald sich das Corpus genug geändert hat. Jeder Eintrag bekommt einen Corpus-Hash, eine Generator-Modell-ID und eine Prompt-Version, sodass eine Zahl, die man nicht reproduzieren kann, auf die Änderung zurückverfolgbar ist, die sie verursacht hat. Die Schleife unten ist die ganze Praxis: erzeugen, filtern, eine stratifizierte Stichprobe per Hand prüfen, die Evaluierung fahren, gegen die vorherige Basislinie vergleichen und nur dann neu erzeugen, wenn sich die Daten bewegt haben.

Der Rückpfeil ist das, was Teams auslassen, und genau er hält die Basislinie aussagekräftig, nachdem sich die Wissensbasis geändert hat.

```
{
  "id": "hu-0042",
  "corpus_hash": "8f3c1a9",
  "generator": "<model id>",
  "prompt_version": "qgen-v4",
  "query_lang": "hu",
  "doc_lang": "de",
  "question": "<generated question>",
  "answer": "<answer grounded in the gold context>",
  "gold_context": "chunk-118",
  "hard_negatives": ["chunk-117", "chunk-203"],
  "answerability": "answerable",
  "checked_by": "human"
}
```

Dieser letzte Pfeil ist der, den Teams auslassen. Ein synthetisches Set hat ein Ablaufdatum, das an der Wissensbasis hängt, und das Drift-Argument, das für Produktionsdokumente gilt, gilt für die Testdaten genauso: Statische Sets veralten fast sofort. Im CI auf relativen Zahlen gate-en, auf einem Rückgang von Recall@5 oder Faithfulness gegenüber dem letzten Lauf, und den Build nur dann failen, wenn die menschliche Stichprobe bestätigt, dass sich wirklich etwas geändert hat. Die umgebende Verkabelung, Schwellwerte und CI-Verdrahtung sind Thema von [LLM-Evals für Produkt-Features](https://balazscsorba.com/de/blog/llm-evals-for-product-features), und [Ragas](https://balazscsorba.com/de/tools/ragas), DeepEval und Red Hats SDG Hub sind die drei Generatoren, die ich zuerst greife.

## Quellen

1.  [Red Hat Developers: Synthetic data for RAG evaluation (Feb 23, 2026)](https://developers.redhat.com/articles/2026/02/23/synthetic-data-rag-evaluation-why-your-rag-system-needs-better-testing)
2.  [Ragas docs: Testset Generation for RAG](https://docs.ragas.io/en/stable/getstarted/rag_testset_generation/)
3.  [Ragas docs: Testset generation concepts (query types, scenarios)](https://docs.ragas.io/en/stable/concepts/test_data_generation/rag/)
4.  [NVIDIA Technical Blog: Evaluating and Enhancing RAG Pipeline Performance Using Synthetic Data (Apr 7, 2025)](https://developer.nvidia.com/blog/evaluating-and-enhancing-rag-pipeline-performance-using-synthetic-data/)
5.  [DeepEval docs: Datasets and the Synthesizer](https://deepeval.com/docs/evaluation-datasets)
6.  [Rajpurkar, Jia, Liang: Know What You Don't Know: Unanswerable Questions for SQuAD (ACL 2018)](https://arxiv.org/abs/1806.03822)
7.  [Rahmani et al.: Towards Understanding Bias in Synthetic Data for Evaluation (CIKM 2025)](https://arxiv.org/abs/2506.10301)
8.  [Cheng et al.: A Survey on Data Contamination for Large Language Models (2025)](https://arxiv.org/abs/2502.14425)
9.  [Xu et al.: Infini-gram mini: Exact n-gram Search at the Internet Scale (EMNLP 2025)](https://aclanthology.org/2025.emnlp-main.1268/)
10.  [Panickssery, Bowman, Feng: LLM Evaluators Recognize and Favor Their Own Generations](https://arxiv.org/abs/2404.13076)
11.  [Enevoldsen et al.: MMTEB, Massive Multilingual Text Embedding Benchmark (ICLR 2025)](https://arxiv.org/abs/2502.13595)
12.  [Evidently AI: How to align an LLM judge with human labels (Nov 14, 2025)](https://www.evidentlyai.com/blog/how-to-align-llm-judge-with-human-labels)

## Häufige Fragen

Wie groß sollte ein synthetisches RAG-Eval-Set sein?

Klein anfangen und so lange wachsen lassen, bis die Zahl, nach der man geht, nicht mehr springt. Der Ragas-Quickstart erzeugt 10 Einträge, um die Pipeline zu beweisen; ein Arbeitsset ist größer, aber die nützliche Größe ist die, bei der zusätzliche Fragen den Vergleich zwischen zwei Retrievern nicht mehr verändern. Abdeckung über Sprachen, Fragetypen und Label-Formen zählt mehr als die reine Anzahl.

Kann synthetische Daten das menschliche Labeling vollständig ersetzen?

Nein. Forschung zu synthetischen Testkollektionen zeigt, dass absolute Systemleistung auf LLM-generierten Daten verzerrt ist, während der relative Vergleich zwischen Systemen deutlich stabiler bleibt. Nutze das synthetische Set, um Konfigurationen zu vergleichen, und behalte einen kleinen menschlich gelabelten Anteil als Kalibrierung, an dem auch der Generator-Judge gemessen wird.

Soll dasselbe Modell die Daten erzeugen und bewerten?

Besser nicht. LLM-Bewerter erkennen und bevorzugen ihre eigenen Generierungen, und Experimente zeigen eine lineare Korrelation zwischen dieser Selbsterkennung und der Stärke des Self-Preference-Bias. Generieren mit einer Modellfamilie, bewerten mit einer anderen, und die Übereinstimmung des Judges gegen menschliche Labels messen statt sie vorauszusetzen.

Reicht es, ein englisches Testset nach Deutsch und Ungarisch zu übersetzen?

Das ist ein Anfang, testet aber übersetzte Formulierungen statt dessen, was Nutzer tippen. Fragen sprachlich aus den gleichen Chunks generieren, jedes Eintrag mit Query-Sprache und Dokument-Sprache versehen und das cross-linguale Segment separat bewerten, weil dort Komposita und Agglutination das Suchverhalten verändern.

Wann sollte das Eval-Set neu erzeugt werden?

Wenn sich die Wissensbasis wesentlich geändert hat, wenn sich der Prompt oder das Generator-Modell ändert oder wenn der auf den Einträgen gespeicherte Corpus-Hash nicht mehr passt. Statische Testsets veralten schnell: Set neben dem Corpus versionieren und eine Neuerzeugung als neue Basislinie behandeln, die vor dem Zahlenvergleich per Stichprobe geprüft wird.

Geschrieben von Balázs Csorba

Senior Fullstack & AI Engineer in der Steiermark – über 10 Jahre Vue, Nuxt, Node.js und PHP, heute baue ich Werkzeuge für KI-Agenten.

[KI-Entwicklung & MCP-Server →](https://balazscsorba.com/de/expertise/ai-engineer)[Über mich →](https://balazscsorba.com/de/about)

## Weitere Artikel

-   [Embedding-Modell wählen 2026: Leaderboards, Kosten und ein Vergleichstest mit eigenen Daten](https://balazscsorba.com/de/blog/embedding-model-selection-2026)
-   [Contextual Retrieval und Late Chunking: RAG-Chunks ihren Kontext zurückgeben](https://balazscsorba.com/de/blog/contextual-retrieval-late-chunking)
-   [Zugriffskontrolle für RAG: berechtigungsbewusstes Retrieval ohne Datenlecks](https://balazscsorba.com/de/blog/rag-access-control-permissions)
-   [RAG über Produktkataloge: aus PIM-Daten Antworten machen, die halten](https://balazscsorba.com/de/blog/rag-product-catalog-pim-data)

## Klingt nach dem, was du suchst?

Erzähl mir von deinem Projekt oder deiner Stelle – ich freue mich, von dir zu hören.

[Kontakt aufnehmen](mailto:contact@balazscsorba.com) [Auf LinkedIn vernetzen](https://www.linkedin.com/in/balazs-csorba)
