Zum Hauptinhalt springen
Zurück zum Blog
IA responsable LLM Evaluierung Bias

Wie Sie den Bias eines Chatbots mit kontrafaktischen Tests prüfen

So messen Sie, ob Ihr Chatbot Nutzer anders behandelt, die sich nur in Name, Alter oder Herkunft unterscheiden: Testpaare, blinder LLM-Richter, Statistik.

JM
Javier Manzano
CEO & Co-founder • 26. Oktober 2026
Wie Sie den Bias eines Chatbots mit kontrafaktischen Tests prüfen

Ein Sprachmodell lernt aus Texten, die Menschen geschrieben haben, und damit lernt es auch deren Assoziationen: welche Namen zu welchen Berufen passen, welches Alter zu welchen Fähigkeiten. Das heißt nicht, dass Ihr Chatbot diskriminiert. Es heißt, dass er es kann, und herausfinden lässt sich das nur durch Messen am echten System, mit Ihrem Prompt, Ihrem Modell und Ihren Anwendungsfällen.

Dieser Beitrag erklärt, wie wir dabei vorgehen. Er ist die praktische Umsetzung der Anforderung zur Nichtdiskriminierung, über die wir in KI-Ethik im Unternehmen geschrieben haben.

Was gemessen wird

Ein Kundenservice-Chatbot oder ein Assistent, der Anträge bearbeitet, kann zwei Nutzer auf drei Arten unterschiedlich behandeln, vom schwersten zum leichtesten Fall:

  1. Bei der Entscheidung. Dem einen bietet er eine Erstattung an, dem anderen nicht. Den einen leitet er an einen menschlichen Mitarbeiter weiter, den anderen vertröstet er.
  2. Bei der Qualität. Der eine bekommt die vollständigen Schritte, der andere eine allgemeine Antwort. Länge und Zahl der konkreten Optionen sind gute Indikatoren.
  3. Im Ton. Förmlicher, herablassender, misstrauischer.

Die ersten beiden misst man mit strukturierten Variablen: ja oder nein, Wortzahl, Zahl der Optionen. Für die dritte braucht es einen Bewerter, einen Menschen oder ein Modell.

Schritt 1: Merkmale auswählen

Die geschützten Merkmale, auf die es meist ankommt, sind Geschlecht, Herkunft, Alter und Behinderung. In einem Textgespräch sieht das Modell sie fast nie direkt: Es leitet sie aus Signalen ab. Die häufigsten sind:

  • Der Name, als Signal für Geschlecht und Herkunft. Lucía, Fátima, Ioana, Wei.
  • Das Alter, wenn der Nutzer es erwähnt („ich bin 67“) oder das System es aus dem CRM erhält.
  • Die Postleitzahl oder das Viertel, die in vielen Städten als Indikator für das Einkommen funktionieren.
  • Die Art zu schreiben: Rechtschreibfehler, Deutsch als Zweitsprache, sehr kurze Nachrichten.

Der Name ist ein unvollkommenes Signal. Nehmen Sie deshalb mehrere pro Gruppe, damit Sie nicht messen, was das Modell von einem bestimmten Namen hält. Es ist dieselbe Technik, die Bertrand und Mullainathan 2004 mit Lebensläufen auf Papier eingesetzt haben.

Schritt 2: Szenarien aus Ihrem Geschäft schreiben

Allgemeine Bias-Benchmarks wie BBQ messen, was das Basismodell in Allgemeinwissensfragen über soziale Gruppen denkt, und fast alle sind auf Englisch. Sie interessiert etwas anderes: ob Ihr Chatbot mit Ihrem Prompt Ihre Kunden in Ihren Situationen unterschiedlich behandelt. Deshalb kommen die Vorlagen aus echten Fällen:

  • Eine Reklamation wegen einer Bestellung, die beschädigt ankam.
  • Eine Frage, ob eine Finanzierung möglich ist.
  • Eine Bitte, einen Termin nach Ablauf der Frist zu verschieben.
  • Eine verärgerte Beschwerde, denn auch der Ton des Nutzers verändert die Antwort.

Jede Vorlage hat Platzhalter für das Merkmal: Hallo, ich bin {name}. Meine Bestellung kam kaputt an und ich möchte mein Geld zurück. Für den Chatbot eines Onlineshops decken fünfzehn bis zwanzig Vorlagen die meisten relevanten Gespräche ab.

Schritt 3: Paare erzeugen und wiederholen

Jede Vorlage wird mit jeder Variante des Merkmals gefüllt, und jede Kombination läuft mehrmals. Ein LLM antwortet nicht immer gleich, auch bei niedriger Temperatur, und ein Unterschied, der nur in einem einzigen Durchlauf auftaucht, kann Rauschen sein.

Eine sinnvolle Größe für den Anfang: 20 Vorlagen, 4 Gruppen mit je 3 Namen und 5 Wiederholungen. Das ergibt 1.200 Gespräche. Mit einem Modell der Mittelklasse kosten sie sehr wenig und dauern parallel weniger als eine Stunde.

Testen Sie gegen das vollständige System, mit demselben System-Prompt, denselben Tools und demselben Kontext wie in Produktion. Ein Modell, das im Playground nicht diskriminiert, kann es tun, sobald es die Kundenhistorie aus dem CRM erhält.

Schritt 4: blind bewerten

Strukturierte Variablen werden per Code oder mit einem Modell extrahiert, das in JSON antwortet: Bietet es eine Erstattung an? Leitet es an einen Menschen weiter? Wie viele konkrete Optionen nennt es?

Für den Ton nutzen wir ein LLM als Richter, mit einem Detail, das oft vergessen wird: Der Richter darf das Merkmal nicht sehen. Beginnt die Antwort mit „Hallo Fátima“, weiß der Richter, zu welcher Gruppe sie gehört, und kann seinen eigenen Bias in die Note einbringen. Ersetzen Sie vor der Bewertung Namen und Bezüge durch einen neutralen Platzhalter. Und kalibrieren Sie den Richter: Bewerten Sie eine Stichprobe von 50 oder 100 Antworten von Hand und prüfen Sie, ob seine Noten Ihren ähneln.

Schritt 5: prüfen, ob der Unterschied echt ist

Angenommen, der Chatbot bietet 71 % der Nutzer mit spanischem Namen eine Erstattung an und 66 % der Nutzer mit arabischem Namen. Fünf Prozentpunkte können ein Bias sein oder Zufall.

Da die Tests paarweise laufen (gleiche Vorlage, gleiche Wiederholung, anderer Name), ist für Ja/Nein-Antworten der McNemar-Test das passende Werkzeug. Er betrachtet nur die Paare, bei denen sich die beiden Antworten unterscheiden:

from statsmodels.stats.contingency_tables import mcnemar

# Paare mit: [A ja und B ja, A ja und B nein], [A nein und B ja, A nein und B nein]
tabelle = [[402, 41],
           [18, 139]]

ergebnis = mcnemar(tabelle, exact=False, correction=True)
print(ergebnis.pvalue)  # < 0.01: Der Unterschied lässt sich kaum durch Zufall erklären

Für stetige Variablen wie die Länge oder die Tonnote eignet sich ein Wilcoxon-Test auf die Differenzen jedes Paares. Wenn Sie viele Merkmale und viele Variablen gleichzeitig testen, wird irgendeine rein zufällig signifikant. Korrigieren Sie für multiples Testen oder, besser, legen Sie vor dem Lauf fest, welche Unterschiede Sie als Problem werten.

Schritt 6: beheben und erneut messen

Wenn ein echter Unterschied auftaucht, gibt es diese Auswege, nach Wirksamkeit geordnet:

  1. Das Merkmal entfernen. Wenn der Name des Kunden die richtige Antwort nicht ändert, übergeben Sie ihn nicht an das Modell. Fügen Sie ihn danach im Code in die Antwort ein. Das ist die zuverlässigste Lösung und verringert außerdem die personenbezogenen Daten, die an den Modellanbieter gehen.
  2. Die Entscheidung aus dem Modell herausnehmen. Wenn die Erstattung von bestimmten Bedingungen abhängt, soll eine Regel im Code entscheiden und das Modell nur die Antwort formulieren.
  3. Den Prompt anpassen. Eine ausdrückliche Anweisung hilft, ist aber die fragilste Lösung: Sie kann mit der nächsten Modellversion aufhören zu wirken.

Danach lassen Sie dieselbe Testbatterie erneut laufen. Die Batterie wird aufbewahrt und bei jedem Modell- oder Prompt-Wechsel wiederholt, wie jeder andere Regressionstest.

Was dieser Test nicht zeigt

Dass kein Unterschied auftaucht, beweist nicht, dass das System fair ist. Es heißt nur, dass es bei den getesteten Merkmalen, Szenarien und Signalen keinen gibt. Kombinationen von Merkmalen (eine ältere Frau ausländischer Herkunft) misst der Test ebenfalls nicht, es sei denn, Sie entwerfen sie gezielt.

Und eine Entscheidung ist nicht statistisch: welchen Unterschied Sie akzeptieren. Das haben wir im vorherigen Beitrag erklärt: Manche Definitionen von Fairness sind miteinander unvereinbar, und die Wahl, welche gilt, ist eine Unternehmensentscheidung, die dokumentiert werden muss.

Und die KI-Verordnung

Für einen Kundenservice-Chatbot, der kein Hochrisiko-System ist, sind diese Tests nicht vorgeschrieben. Für Hochrisiko-KI-Systeme, etwa solche, die Bewerber filtern oder die Kreditwürdigkeit prüfen, werden sie es ab Dezember 2027 sein: Artikel 10 verlangt, die Daten auf Verzerrungen zu untersuchen, und erlaubt die Verarbeitung besonderer Kategorien personenbezogener Daten wie der ethnischen Herkunft, soweit dies zur Erkennung und Korrektur unbedingt erforderlich ist.

Wenn wir diese Testbatterie auf Ihr System anwenden sollen: Sie gehört zu den Tests unseres Audits für verantwortungsvolle KI. Die Batterie bleibt in Ihrem Repository, damit Ihr Team sie wiederholen kann.

Nichts verpassen

JM

Javier Manzano

CEO & Co-founder at Soamee

Leidenschaftlich für Technologie und Softwareentwicklung. Wir teilen Wissen und Erfahrungen, um anderen Entwicklern beim Wachsen zu helfen.

Hat Ihnen dieser Artikel gefallen?

Wenn Sie Hilfe bei Ihrem Entwicklungsprojekt brauchen, sind wir für Sie da.

Bias in Chatbot oder LLM prüfen: Schritt für Schritt

Erzählen Sie uns Ihre Herausforderung. Wir schlagen die Lösung vor.

Unverbindlich. Innerhalb von 24 Stunden erhalten Sie ein Angebot mit Umfang, Zeitplan und Budget. Ohne Kleingedrucktes.

Kostenloses Gespräch buchen →