Menu

KI-Halluzinationen: Warum LLMs Dinge erfinden

Eine KI-Halluzination ist eine selbstsichere Antwort, die falsch ist: ein erfundener Fakt, eine erfundene Quelle, Funktion oder ein erfundenes Paket. Sie entsteht, weil ein Sprachmodell wahrscheinlichen Text vorhersagt, statt etwas nachzuschlagen. Prompts können sie seltener machen; nur Prüfen fängt sie ab.

Jeder Prompt auf dieser Seite lässt sich bearbeiten und danach in ChatGPT, Claude oder einer anderen KI-App öffnen.

Eine KI-Halluzination ist eine Antwort, die sicher klingt und falsch ist: ein erfundener Fakt, ein Verweis auf ein Paper, das es nicht gibt, eine Funktion, die eine Bibliothek nie hatte. Jedes Chatmodell tut das, auch ChatGPT, Claude und Gemini. Es ist kein Bug, der irgendwann weggepatcht wird; es folgt daraus, wie Sprachmodelle Text erzeugen. Prompts können Halluzinationen seltener machen, und nur Prüfen fängt die ab, die übrig bleiben.

Warum Sprachmodelle halluzinieren

Ein Sprachmodell schreibt Token für Token, und jedes wird gewählt, weil es wahrscheinlich auf den bisherigen Text folgt. Wahrscheinlich gemessen an allem, was das Modell im Training gesehen hat. Nichts in diesem Ablauf schlägt einen Fakt nach. Wenn die Antwort in den Trainingsdaten häufig war, ist die wahrscheinliche Fortsetzung meist die wahre. Wenn sie selten war, neu oder gar nicht vorkam, erzeugt das Modell trotzdem die plausibelste Fortsetzung, und plausibler Text über einen Fakt, den es nicht hat, ist eine Halluzination.

Manche Arten von Fragen sind anfälliger als andere:

  • Konkrete Details: genaue Zahlen, Daten, Namen, Versionsnummern, Seitenangaben. Die Form der Antwort ist leicht vorherzusagen; das Detail nicht.
  • Quellenangaben und Links. Eine Literaturangabe hat ein vorhersehbares Format (Autoren, Jahr, Titel, Zeitschrift), also kann ein Modell eine sauber formatierte Angabe zu einem Paper erzeugen, das nie geschrieben wurde.
  • Seltene oder neue Themen: eine kleine Bibliothek, eine lokale Vorschrift, alles nach dem Ende der Trainingsdaten des Modells.
  • Fragen mit falscher Voraussetzung. Frag, was eine Funktion tut, und das Modell antwortet meist so, als gäbe es die Funktion.

Flüssigkeit ist kein Zeichen für Richtigkeit. Eine halluzinierte Antwort hat denselben selbstsicheren Ton, dieselbe Formatierung und denselben Detailgrad wie eine richtige, und deshalb übersieht man sie leicht.

Die Falle der falschen Voraussetzung

Die Tabs unten fragen nach DataFrame.smart_merge() in pandas. Diese Methode gibt es nicht. Die erste Frage setzt voraus, dass es sie gibt; die zweite erlaubt dem Modell, das Gegenteil zu sagen.

Was macht DataFrame.smart_merge() in pandas, und wann sollte ich es statt merge() verwenden?
Try it
Example replyReplies vary between models and runs.

DataFrame.smart_merge() führt zwei DataFrames zusammen und erkennt die Join-Schlüssel für dich, indem es Spaltennamen und Datentypen vergleicht. Nutze es, wenn deine DataFrames Schlüsselspalten mit leicht unterschiedlichen Namen haben, zum Beispiel user_id und userId, denn es kann sie automatisch zuordnen.

Für volle Kontrolle über Schlüssel und Join-Typ ist merge() weiterhin die bessere Wahl.

Die erste Antwort ist eine Halluzination aus echten Teilen: pandas führt tatsächlich DataFrames zusammen, und Schlüssel automatisch zuzuordnen, ist ein nachvollziehbarer Wunsch. Die Frage hat die Voraussetzung geliefert, und das Modell eine plausible Funktion, die dazu passt. Aktuelle Modelle erkennen falsche Voraussetzungen öfter als ältere, aber eine Frage, die als Annahme formuliert ist, drängt die Antwort trotzdem in Richtung Zustimmung.

Der zweite Prompt hat zwei Dinge getan. Er hat gefragt, ob es die Methode gibt, bevor er fragt, was sie tut, und er hat ausdrücklich erlaubt, unsicher zu sein. Die Antwort liefert außerdem einen Weg zur Überprüfung, und genau diese Gewohnheit lohnt sich: hasattr prüft die echte Bibliothek in einer Zeile.

Aus der Quelle antworten, mit Zitaten

Der stärkste Weg, Halluzinationen zu reduzieren, ist, die Fakten in den Prompt zu schreiben. Wenn die Antwort in einem Text steht, den das Modell sehen kann, muss es sich an nichts erinnern, und du kannst jede Behauptung an diesem Text prüfen. Die Bitte um ein stützendes Zitat für jede Behauptung macht das Prüfen schnell, und wenn du dem Modell sagst, was es sagen soll, wenn das Dokument schweigt, füllt es die Lücke seltener mit einer Vermutung.

Nur aus dem Dokument antworten
Fill in
Parts
Beantworte die Frage nur anhand des Dokuments unten.
<document> Backups laufen jede Nacht um 02:00 UTC und werden 30 Tage aufbewahrt. Backups der Staging-Datenbank werden 7 Tage aufbewahrt. Wiederherstellungen werden im Kanal #ops angefragt und sind meist innerhalb von vier Stunden erledigt. </document> Frage: Wie lange werden Produktions-Backups aufbewahrt, und kann ich selbst eins wiederherstellen?
Für jeden Teil der Frage: die Antwort, dann der genaue Satz aus dem Dokument, der sie stützt, in Anführungszeichen.
Wenn das Dokument einen Teil nicht beantwortet, schreib für diesen Teil "Steht nicht im Dokument". Füg keine Fakten aus dem Allgemeinwissen hinzu.
Try it
Example replyReplies vary between models and runs.

Wie lange Produktions-Backups aufbewahrt werden: 30 Tage. Das Dokument nennt 30 Tage für Backups allgemein und 7 Tage nur für Staging. "Backups laufen jede Nacht um 02:00 UTC und werden 30 Tage aufbewahrt."

Kann ich selbst eins wiederherstellen: Steht nicht im Dokument. Es sagt nur, wie Wiederherstellungen angefragt werden: "Wiederherstellungen werden im Kanal #ops angefragt und sind meist innerhalb von vier Stunden erledigt." Das deutet darauf hin, dass ein anderes Team sie durchführt, aber das Dokument sagt nicht, ob es eine Selbstbedienung gibt.

Achte darauf, wie die Antwort mit der zweiten Frage umgegangen ist. Ein Modell, das aus dem Allgemeinwissen antwortet, hätte vielleicht einen Befehl zur Wiederherstellung beschrieben. Auf das Dokument beschränkt, hat es getrennt, was der Text sagt und was er nur andeutet. Schalte den Vorgaben-Baustein aus und frag erneut, um zu sehen, ob die Antwort beides trotzdem auseinanderhält.

Die <document>-Tags halten das Quellmaterial von deinen Anweisungen getrennt; Trennzeichen und XML-Tags erklärt, warum das wichtig ist, und Context Engineering zeigt, wie du Modelle im großen Maßstab mit den richtigen Dokumenten versorgst. Dieselbe Idee steckt hinter Chat-Apps mit Websuche oder Datei-Upload: Die Antwort ist nur so gut belegt wie die Quellen im Gespräch, also lies die zitierte Quelle, nicht nur die Zusammenfassung davon.

Weitere Prompt-Gewohnheiten, die helfen

  • Frag, statt vorauszusetzen. "Gibt es eine Möglichkeit, X zu tun?" vor "Wie mache ich X?". Eine falsche Voraussetzung ist die am leichtesten auszulösende Halluzination.
  • Bitte um Angaben zur Unsicherheit. "Markiere jede Behauptung, bei der du dir nicht sicher bist" gibt dir eine Liste der Stellen, die du zuerst prüfen solltest. Die Markierungen sind keine kalibrierten Wahrscheinlichkeiten, zeigen aber oft auf die Schwachstellen.
  • Bitte um Quellen, die du öffnen kannst. Und öffne sie dann. Eine Quellenangabe, die du nicht geöffnet hast, ist nicht geprüft, und ein Link kann existieren und trotzdem etwas anderes sagen als die Behauptung, die er stützen soll.
  • Fang neu an, wenn ein Chat lang wird. Details vom Anfang eines langen Chats können durcheinandergeraten oder verloren gehen, während das Gespräch wächst. Bei Fakten, auf die es ankommt, öffne ein neues Gespräch mit dem relevanten Material; Tokens und Kontextfenster erklärt, warum.
  • Frag ein zweites Mal, frisch. Wenn sich zwei unabhängige Antworten auf dieselbe Faktenfrage widersprechen, ist mindestens eine falsch. Übereinstimmung ist ein schwächerer Beleg, weil ein Modell denselben Fehler wiederholen kann.

Prüf, worauf es ankommt

Kein Prompt beseitigt Halluzinationen, also entscheide danach, was ein Fehler kosten würde, was geprüft werden muss. Ein Brainstorming oder ein erster Entwurf verträgt ein paar Fehler. Eine Zahl in einem Bericht, eine rechtliche oder medizinische Aussage, ein Zitat, das einer Person zugeschrieben wird, oder eine Quellenangabe in deiner Arbeit braucht eine Primärquelle.

Code ist die am leichtesten zu prüfende Ausgabe, weil Ausführen ihn testet. Eine erfundene Methode scheitert mit einem AttributeError oder dem Gegenstück in deiner Sprache, sobald die Zeile läuft, die sie aufruft, also sorg dafür, dass dein Test diese Zeile erreicht. Riskant ist ein erfundener Paketname. Wenn dir ein Modell sagt, du sollst ein Paket installieren, von dem du nie gehört hast, prüf, dass es existiert, dass es das Projekt ist, für das du es hältst, und dass es verbreitet ist, bevor du es installierst. Sicherheitsforscher haben gezeigt, dass Modelle oft immer wieder dieselben falschen Paketnamen erfinden, und ein Angreifer, der ein Paket unter einem dieser Namen veröffentlicht, bekommt seinen Code bei jedem installiert, der dem Vorschlag folgt. Die Prüfungen für KI-geschriebenen Code stehen unter Prompts zum Code schreiben.

Häufig gestellte Fragen

Was ist eine KI-Halluzination?

Eine KI-Halluzination ist eine Antwort eines Sprachmodells, die selbstsicher und flüssig klingt, aber falsch oder unbelegt ist: ein ausgedachter Fakt, ein Verweis auf ein Paper, das es nicht gibt, eine Funktion, die eine Bibliothek nie hatte. Das Modell lügt nicht absichtlich. Es hat den Text erzeugt, der am wahrscheinlichsten aussah, und wahrscheinlich ist nicht dasselbe wie wahr.

Warum erfindet ChatGPT Dinge?

Chatmodelle erzeugen Text, indem sie Token für Token das nächste vorhersagen, auf Basis von Mustern aus dem Training. Solange kein Werkzeug wie eine Websuche oder ein Dokument im Gespräch ist, schlägt nichts die Antwort nach. Wenn die richtige Antwort in den Trainingsdaten selten war oder nie vorkam, erzeugt das Modell trotzdem die plausibelste Fortsetzung, und eine plausible falsche Antwort liest sich genau wie eine richtige.

Kann man KI-Halluzinationen komplett verhindern?

Nein. Aktuelle Modelle halluzinieren weniger als frühere, und Antworten aus Dokumenten, die du bereitstellst, oder aus Suchergebnissen senken die Rate weiter, aber kein Prompt beseitigt das Problem. Behandle jeden Fakt, jede Zahl, jedes Zitat, jede Quelle und jede API, auf die es ankommt, als Behauptung, die du an einer Primärquelle prüfst.

Welche Prompts reduzieren KI-Halluzinationen?

Drei helfen am meisten. Erlaub ausdrücklich, "Ich weiß es nicht" zu sagen. Liefere das Quellmaterial und bitte das Modell, nur daraus zu antworten. Bitte für jede Behauptung um ein wörtliches Zitat, damit du die Behauptung am Text prüfen kannst. Vermeide Fragen, die etwas als wahr voraussetzen, denn das Modell geht meist auf die Annahme ein.

Was sind Beispiele für KI-Halluzinationen beim Programmieren?

Eine Methode aufrufen, die eine Bibliothek nicht hat, eine Option übergeben, die es nicht gibt, ein Paket importieren, das nie veröffentlicht wurde, und das Verhalten einer älteren Version einer Bibliothek als aktuell beschreiben. Bei Code sind viele davon leicht zu entdecken, denn eine erfundene Methode scheitert, sobald die Zeile läuft, die sie aufruft. Gefährlich sind erfundene Paketnamen: Prüf, ob ein Paket echt und bekannt ist, bevor du es installierst.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S