Wenn LLMs strukturierte Daten erzeugen, können sie plausibel wirkende Fakten erfinden. Entity Enricher nutzt 8 Verteidigungsebenen, um sicherzustellen, dass Sie korrekte Daten oder keine Daten erhalten – niemals überzeugend klingende Fiktion.
In Freitext ist ein halluzinierter Satz offensichtlich vage. In strukturierter Ausgabe wirkt ein halluziniertes Feld wie "founded_year": 1987 maßgeblich und ist von einem korrekten Wert kaum zu unterscheiden. Drei Faktoren machen dies besonders gefährlich:
Ein halluzinierter JSON-Wert sieht genauso aus wie ein echter. Es gibt keine Einschränkung, kein „ungefähr“ – nur einen sauberen, überzeugend wirkenden Datenpunkt, der zufällig falsch ist.
Pflichtfelder zwingen das LLM, einen Wert zu erzeugen, selbst wenn es kein Wissen dazu hat. Das Modell erfindet Daten, anstatt eine Lücke in der Struktur zu lassen.
Strukturierte Daten fließen direkt in Datenbanken, Analysen und Automatisierungen ein. Ein falscher Wert verbreitet sich durch die Pipelines ohne menschliche Prüfung.
| Muster | Beispiel | Ursache |
|---|---|---|
| Selbstsichere Erfindung | "ceo": "John Smith" | Das LLM füllt ein Pflichtfeld mit einem plausiblen Namen |
| Zeitliche Verwirrung | "revenue": "$2.3B" | Stichtag der Trainingsdaten oder Vermischung von Zeiträumen |
| Entitätszusammenführung | Attribute von Unternehmen A bei Unternehmen B | Ähnliche Namen in überlappenden Trainingsdaten |
| Plausible Standardwerte | "employees": 500 | Das LLM wählt eine „vernünftige“ Zahl, statt Unwissenheit einzugestehen |
| Erfundene Beziehungen | "subsidiary_of": "Alphabet" | Das LLM leitet eine Beziehung ab, die nicht existiert |
Mehrere dieser Muster gehen auf das Schema zurück, nicht auf das Modell: Eine Eigenschaft wie revenue lässt Währung, Zeitraum und den Bezug auf Konzern oder Entität offen, und ein Name für etwas, das die Entität schlicht nicht besitzt, gibt dem Modell überhaupt nichts zum Nachschlagen. Die Mehrdeutigkeitsprüfung kennzeichnet beide Fälle, benennt die Lesarten, die die Eigenschaft zulässt, und schlägt die Umbenennung oder Beschreibung vor, die genau eine davon festlegt.
Entity Enricher verlässt sich nicht auf eine einzige Technik. Es kombiniert 8 unabhängige Schutzschichten, die jeweils auf einen anderen Fehlermodus abzielen. Übersieht eine Schicht eine Halluzination, fängt die nächste sie ab.
Bevor die Anreicherung beginnt, klassifiziert ein schnelles LLM, ob die Entität zum Schematyp passt. Dies verhindert Halluzinationen ganzer Entitäten bereits an der Quelle.
Beispiel: „Titan“ wird gegen ein „Planet“-Schema als Mond gekennzeichnet — Anreicherungsmodelle erhalten diesen Kontext und verwenden null für planetenspezifische Felder.
Alle Strategien weisen das LLM an: „Seien Sie präzise und zurückhaltend – erfinden Sie niemals einen Wert.“ Das Modell deklariert die Felder, die es nicht ermitteln konnte, anstatt Platzhalter einzusetzen, und diese Deklarationen werden in der Ausgabe zu ehrlichen Null-Werten.
Dies begegnet direkt dem Schemadruck – der häufigsten Ursache für strukturierte Halluzinationen. Eine deklarierte Unbekannte macht zudem echte Antworten eindeutig: Eine 0, hinter der das Modell steht, ist Daten, eine deklarierte 0 nicht.
Die Schemaeigenschaften werden nach Fachbereich gruppiert. Jeder LLM-Aufruf sieht nur Felder innerhalb seines Fachbereichs, mit der Anweisung, sich ausschließlich auf diesen Bereich zu konzentrieren.
Ein engerer Fokus bietet weniger Gelegenheit zum Halluzinieren. Ein Finanzexperte rät niemals bei regulatorischen Daten.
Schlüsseleigenschaften (markiert mit is_key: true) werden in Prompts hervorgehoben, um den LLM auf identifizierende Informationen auszurichten, bevor andere Felder ausgefüllt werden.
Dies verankert das Modell an bekannten Fakten und reduziert die Abweichung hin zu erfundenen Details.
Die Ausgabe der Anreicherung wird gegen die Typen, Formate und die Struktur des Schemas validiert. Ein Fehlschlag löst ModelRetry aus — der konkrete Fehler wird zur Korrektur an das LLM zurückgesendet, und die Reparatur erfolgt punktgenau: Nur die Blätter, die falsch zurückkamen, werden erneut abgefragt, nicht die gesamte Antwort.
Bis zu 5 automatische Korrekturversuche innerhalb eines einzelnen Agentenlaufs. (Die Schema-Generierung korrigiert sich anders – pro Schritt, mit deterministischen Fallbacks.)
Felder mit der Markierung preserve: true (IDs, SKUs, Import-Kennungen) werden nach der Anreicherung auf ihre ursprünglichen Eingabewerte zurückgesetzt — das LLM kann verlässliche Ausgangsdaten nicht überschreiben. Anreicherungsanfragen müssen für jedes beibehaltene Feld einen Wert liefern, sodass nichts jemals auf null gesetzt oder erfunden wird.
Innerhalb von Arrays werden angereicherte Elemente anhand ihrer Schlüsselfelder wieder Ihren Eingabeelementen zugeordnet; Elemente, die die KI neu entdeckt, erhalten null statt einer erfundenen Kennung.
Dieselbe Entität durch 2 oder mehr unabhängige Modelle laufen lassen und die Ausgaben Feld für Feld vergleichen. Abweichungen werden als potenzielle Halluzinationen markiert.
Wenn Claude einen Umsatz von 2,3 Mrd. $ angibt und GPT-4 1,8 Mrd. $ – wird dieser Konflikt erkannt und angezeigt.
Erkannte Konflikte werden durch regelbasierte Abstimmung (Mehrheit, Median, Vereinigung) oder durch einen dedizierten LLM-Arbitrator gelöst, der Genauigkeit, Vollständigkeit und Konsistenz bewertet.
Jede Arbitration-Entscheidung enthält eine Begründung und ein Konfidenzniveau — vollständige Transparenz darüber, wie Konflikte aufgelöst wurden.
Grundprinzip
Fehlende Daten sind immer besser als falsche Daten. Jede Ebene verstärkt dieses Prinzip – das System ist darauf ausgelegt, null zurückzugeben, statt eine plausibel klingende Erfindung zu liefern.