KI-Schema-Generierung - Entity Enricher-Dokumentation

KI-Schema-Generierung

Generieren Sie strukturierte JSON-Schemas aus Beispieldaten mithilfe von KI, mit automatischer Selbstkorrektur und intelligenter Nachbearbeitung.

So funktioniert es

Die Schemagenerierung wandelt rohe Entitätsdaten in ein typisiertes, annotiertes JSON-Schema um, das genau definiert, welche Informationen bei der Anreicherung extrahiert werden sollen. Anstatt Schemas manuell zu schreiben, fügen Sie Beispiel-JSON ein und lassen die KI die Struktur analysieren, Typen ableiten, Fachbereiche zuweisen und Verbesserungen vorschlagen.

Die Generierungs-Pipeline

Die Generierung ist kein einziger großer Prompt. Sie ist eine Folge kleiner Aufrufe mit jeweils genau einem Anliegen, die größtenteils parallel laufen — genau das ermöglicht es kleinen und günstigen Modellen, ein brauchbares Schema zu erzeugen, denn jeder Aufruf beantwortet eine eng umrissene Frage zu Material, das er vollständig überblicken kann.

  1. Das Sample kanonisieren (kein LLM) – ein Wert, der seine Einheit mitführt, wird zu einer Zahl mit der Einheit im Namen ("8.275 h" wird zu half_life_seconds: 29790), und ein Datum, das kein nativer Typ abbilden kann, wird zu einer ganzzahligen Jahreszahl. Jeder beobachtete Wert muss die Annahme belegen, sonst bleibt die Eigenschaft Text. Gespeichert wird das umgeschriebene Sample.
  2. Identitäts-Scoping – ein Aufruf, der vor allen anderen läuft, weil er als Letzter Ihr Sample verändern darf. Wenn ein Element in einem verknüpften Array Fakten über diese Entität mit Fakten über ihre Zuordnung zum übergeordneten Objekt vermischt, wird das Element umstrukturiert: Die Zuordnungsfakten bleiben an Ort und Stelle, die eigenen Fakten der Entität werden in ein benanntes Unterobjekt verschoben. Ohne dies teilen sich beide Arten von Fakten eine einzige Identität.
  3. Das Grundgerüst ableiten (kein LLM) – Eigenschaftsbaum, JSON-Typen und Nullbarkeit ergeben sich direkt aus dem oder den Sample(s); wiederkehrende Strukturen und entitätsartige Array-Elemente werden zu wiederverwendbaren Definitionen. Lokalisierte Objekte (wie {"en": "...", "fr": "..."}) werden zu einem einzigen mehrsprachigen Wert zusammengefasst.
  4. Die parallelen Fragen stellen — separate gleichzeitige Aufrufe klären Identität und Benennung der Entity, die Verhaltens-Flags (Schlüssel, Beibehalten, mehrsprachig, nullable, plus Formatvorschläge), ob Ganzzahlfelder wirklich diskret sind, welche Strings aus einem geschlossenen Vokabular stammen und wie Eigenschaften den Fachdomänen zugeordnet werden.
  5. Die Dokumentation schreiben – ein Aufruf pro Fachgebiet, in der Persona dieses Fachgebiets, der Beschreibung und Beispiele jeder Eigenschaft erzeugt – und eine eigene Zweitmeinung dazu, ob der Wert tatsächlich fehlen kann.
  6. Zusammensetzen, validieren, speichern (kein LLM) – die Fragmente werden zusammengeführt, die 8 Validierungsregeln laufen als Sicherheitsnetz, eine deterministische Nachverarbeitung löst Flag-Konflikte auf, und das Schema wird gespeichert – dedupliziert über den Content-Hash, sodass identische Schemas nicht doppelt abgelegt werden.

Jeder Schritt wiederholt sich eigenständig (3 Versuche), und seine Antworten summieren sich über die Versuche hinweg, sodass auch ein Modell, das in Fragmenten antwortet, konvergiert. Danach akzeptiert der Schritt das Erreichte und die Lücken werden deterministisch gefüllt — ein schwaches Modell verschlechtert somit die Beschreibungen, statt die Generierung scheitern zu lassen. Nur Identität und Fachgebiets-Routing dürfen den gesamten Lauf scheitern lassen. Jeder Aufruf wird als eigener Prompt abgerechnet und protokolliert, sodass der Datensatz genau zeigt, wofür was ausgegeben wurde.

Sie können statt eines einzigen mehrere Beispiele desselben Entity-Typs übergeben – das Schema deckt dann die Vereinigung ihrer Felder ab, alles, was in einem Beispiel fehlt, wird nullbar, und die über alle Beispiele hinweg gesehenen Werte werden zu echten Beispielwerten. Die Feldnamen müssen übereinstimmen: Beispiele, die unterschiedliche Entity-Typen beschreiben, werden abgelehnt, ebenso Objekte innerhalb eines Arrays, die kein einziges gemeinsames Feld haben, da nichts mehr übrig bliebe, um ihre Zeilen zu identifizieren. Der Beispiel-Editor markiert jeden solchen Unterschied, bevor Sie eine Generierung verbrauchen.

Werte mit einer eigenen Einheit werden in Zahlen umgewandelt, bevor das Schema abgeleitet wird, denn eine Spalte mit "8.275 h" und "85 ms" lässt sich nicht sortieren, nach Bereich filtern oder aggregieren. Die Einheit wandert in den Eigenschaftsnamen (half_life_seconds), ein nicht-numerischer Platzhalter wie "stable" wird zu null, und Datumsangaben vor dem Jahr 1 werden zu einer ganzzahligen Jahresangabe (negativ für v. Chr.), die kein Datumstyp speichern kann und die als Text falsch sortiert. Ihr Beispielbereich wird entsprechend aktualisiert, sodass er stets das vom Schema beschriebene Beispiel zeigt. Alles, was die Umwandlung nicht mit Sicherheit lesen kann, bleibt exakt so, wie Sie es geschrieben haben.

Selbstkorrektur, Schritt für Schritt

Da jeder Schritt genau eine eng gefasste Frage beantwortet, kann auch die Korrektur eng gefasst sein: Der Validator eines Schritts behält alles Brauchbare aus der Antwort und fragt nur das Fehlende erneut ab. Nichts wird von Grund auf neu erzeugt — eine teilweise korrekte Antwort ist damit ein Fortschritt und kein vergeudeter Versuch.

Beispiel: der Flags-Schritt bei 30 Eigenschaften

Versuch 1Das Modell antwortet für 22 davon und verteilt seine Antwort auf mehrere Tool-Aufrufe – ein häufiger Fehlermodus bei kleinen Modellen. Alle 22 werden übernommen.
WiederholenDie Nachfrage fordert nur die 8 verbleibenden Eigenschaften an – eine kürzere Frage, die eher vollständig beantwortet wird.
Versuch 26 weitere treffen ein. Die letzten 2 greifen auf deterministische Standardwerte zurück, und die Lücke wird im Generierungs-Datensatz vermerkt, statt ihn scheitern zu lassen.

Die acht Validierungsregeln laufen weiterhin als abschließende Prüfung über das zusammengesetzte Schema – Typkorrektheit, Expertise-Zuweisung, Referenzintegrität, Vollständigkeit. Zu diesem Zeitpunkt sind sie eher ein Sicherheitsnetz als der Korrekturmechanismus. Mehr zu jeder Regel finden Sie im Leitfaden Validierungsregeln.

Was das Schema enthält

Ein generiertes Schema ist mehr als eine einfache Typdefinition. Jede Eigenschaft enthält Metadaten, die den Anreicherungsprozess steuern:

Typ

JSON-Schema-Typ (string, number, integer, boolean, array, object)

Beschreibung

Kontextbezogene Beschreibung, die der KI mitteilt, welche Informationen zu finden sind

Expertise

Welche Expertendomäne (finanziell, regulatorisch usw.) diesen Wert liefert

Schlüssel

Ob dieses Feld Teil dessen ist, was die Instanz identifiziert. Schlüssel erfüllen beide Aufgaben zugleich: Sie richten den Anreicherungs-Prompt auf die richtige Entität aus, und anhand ihrer gleicht die Fusion Array-Elemente ab. Ein Schlüssel darf dennoch nullable sein – ein Qualifikator, der ähnlich aussehende Geschwister unterscheidet, bleibt identifizierend, auch wenn er ganzen Familien tatsächlich fehlt

Geschlossenes Vokabular

Wo die Werte eines Strings aus einer kleinen, vollständig aufzählbaren Menge stammen (Status, Bewertungen, Klassifizierungscodes), schlägt die Generierung die Mitglieder vor – in der Schreibweise Ihrer Beispiele –, sodass die Anreicherung nicht zu einem Synonym abdriften kann

Nullable

Ob das Feld null sein darf – nicht nullbare Felder sind für die Aufnahme in die Datenbank erforderlich

Mehrsprachig

Ob das Feld in mehreren Sprachen angereichert werden soll

Beibehalten

Ob der ursprüngliche Wert während der Anreicherung unverändert beibehalten werden soll

Beispiele

Realistische Beispielwerte, die die KI zum richtigen Format führen

Format / Muster

Maschinell prüfbare Form für String-Werte: Fehlerhafte Antworten werden abgelehnt und erneut angefordert, gespeicherte Werte behalten die kanonische Form. Die Generierung nennt nur ein benanntes Format (date, time, date-time, uuid, email, uri, ipv4, ipv6), das durch ihre Stichproben belegt ist — ein Regex-Muster ist eine Vorhersage über Werte, die noch niemand gesehen hat, und ein falsches lässt jede Anreicherung des Felds scheitern; dieses fügen Sie daher selbst im Editor hinzu

Erkennung von Expertisebereichen

Die KI gruppiert Schema-Eigenschaften anhand ihrer semantischen Bedeutung in Expertisebereiche. Ein Schema für ein Pharmaunternehmen könnte beispielsweise Bereiche wie „Finanzanalyst“, „Regulierungsexperte“ und „Unternehmensinformationen“ enthalten. Diese Bereiche werden von der Multi-Expertise-Strategie genutzt, um parallele, spezialisierte LLM-Aufrufe für tiefergehende Ergebnisse durchzuführen.

Grenzwerte für die Anzahl der Fachgebiete

Die Anzahl der Fachbereiche wird basierend auf der Eigenschaftsanzahl Ihrer Daten automatisch begrenzt, um eine Überfragmentierung zu verhindern:

5 Eigenschaften
1 Domäne
12 Eigenschaften
2 Domänen
30 Eigenschaften
5 Domains
60 Eigenschaften
10 Domänen

Nachbearbeitung

Sobald die Fragmente zusammengesetzt sind, klären deterministische Schritte alles, was nicht einem Modell überlassen werden sollte — mit Ihren tatsächlichen Eingabedaten als Beleg:

Nullable-Erweiterung

Ein Feld, das in irgendeinem Beispiel fehlt oder null ist, wird nullable — unabhängig davon, was das Modell geantwortet hat. So ist ein unbekannter Wert eine zulässige Antwort und kein Datenqualitätsfehler. Beispiele können nur erweitern: Eine Handvoll Beispiele belegt das Vorhandensein für genau diese Instanzen, nie für jede Instanz des Typs — deshalb hat auch das Modell eine Stimme, und beide werden mit ODER verknüpft.

Auflösung von Flag-Konflikten

Attribute, die nicht nebeneinander bestehen können, werden per Regel aufgelöst statt durch erneutes Nachfragen: „preserve“ setzt sich gegen „multilingual“ und „nullable“ durch, ein erhalten gebliebenes geschlossenes Vokabular hebt „multilingual“ auf, und eine Schlüsseleigenschaft behält nie ein Enum.

Schlüsselreparatur für Array-Elemente

Jedes Objekt innerhalb eines Arrays hat garantiert mindestens eine Schlüsseleigenschaft — sie ist die Einheit, auf der die Fusion dedupliziert; ein Array-Element ohne Schlüssel würde das Zusammenführen der Antworten zweier Modelle unmöglich machen.

Expertise-Sammlung

Alle eindeutigen Fachgebiete werden aus dem Schema für Metriken und die Strategiekonfiguration erfasst.

Die Sprache, in der ein Schema verfasst ist

Ein Schema beschreibt sich selbst in einer Sprache — seine Typnamen, Eigenschaftsbeschreibungen, Fachgebietsbezeichnungen und Vorschläge. Das ist etwas anderes als die Sprachen, in die Sie anreichern. Geben Sie bei der Generierung eine Sprache an, oder lassen Sie sie weg, dann entscheidet die Sprache der Eigenschaftsnamen Ihres Beispiels: Ein französisches Beispiel erzeugt kein englisches Schema mehr. Die Wahl wird gespeichert, sodass spätere KI-Bearbeitungen in derselben Sprache weiterschreiben, statt wieder ins Englische abzudriften.

Die Samples selbst erzeugen

Für den Start benötigen Sie keine Beispieldaten. Beschreiben Sie den Entitätstyp – optional mit Dokumenten als Grundlage oder mit Websuche zum Abgleich mit der Realität – und die Plattform schreibt die Beispiele für Sie. Fordern Sie mehrere an, erhalten Sie mehrere unterschiedliche Instanzen und nicht dieselbe Instanz in anderen Worten.

Alle Instanzen werden auf einmal ausgewählt

Das erste Sample legt im selben Aufruf auch fest, worum es in den übrigen gehen wird. Fragt man N-mal unabhängig nach „einem Beispiel“, erhält man zuverlässig N-mal dieselbe berühmte Instanz; erst die vorab benannte Gesamtbesetzung macht sie unterschiedlich.

Das erste Sample legt die Struktur fest

Die übrigen Samples werden parallel gegen die Struktur von Sample 1 als Vertrag erzeugt – sie werden nicht nur gebeten, dazu zu passen –, sodass eine Variante kein Feld umbenennen, hinzufügen oder weglassen kann. Was dennoch doppelt oder fehlerhaft zurückkommt, wird in einer begrenzten Wiederholungswelle erneut angefordert; wird die volle Anzahl nicht erreicht, werden Sie darüber informiert, statt stillschweigend weniger zu erhalten.

Sprache und Ihre eigenen Anweisungen

Die Sprache steht standardmäßig auf auto und wird aus den Worten Ihrer eigenen Anfrage abgeleitet, danach aus einem etwaigen angehängten Dokument. Zusätzliche Anweisungen, die Sie ergänzen, sind verbindlich: Sie werden befolgt, oder die Antwort nennt Ihnen, was nicht befolgt werden konnte und warum — nie wird etwas stillschweigend verworfen.

Mehrdeutigkeitsprüfung

Lesen Sie einen Eigenschaftsnamen im Kontext seines übergeordneten Objekts und zählen Sie, nach wie vielen verschiedenen Dingen er fragen könnte. Eines ist eindeutig. Bei zwei oder mehr entscheidet sich jedes Modell für ein anderes, und die Spalte vermischt am Ende Antworten auf verschiedene Fragen – annual_revenue bei einem Unternehmen kann die Gruppe oder die Entität meinen, brutto oder netto, in einer von mehreren Währungen. Gar keines – ein Name für etwas, das dieses übergeordnete Objekt schlicht nicht besitzt – ist schlimmer: Da es nichts nachzuschlagen gibt, erfindet das Modell einen Wert.

Die Generierung geht doppelt dagegen vor: Der Prompt selbst fordert Namen, die nur eine Lesart zulassen, und ein Nachlauf über das fertige Schema kennzeichnet jene, bei denen das noch nicht der Fall ist. In diesem Stadium ist die Abhilfe eine Umbenennung – die Beschreibungen wurden aus den Namen erzeugt, eine Beschreibung kann den Namen, aus dem sie stammt, also nicht eindeutig machen, und noch hängt nichts vom Schema ab. Die Beispiel-Generierung führt dieselbe Prüfung am Beispiel durch und wendet die Umbenennungen an, bevor Sie es überhaupt zu sehen bekommen. Fließtext – eine Beschreibung, eine Zusammenfassung, Notizen – wird nie markiert: Die Formulierung variiert, aber die gestellte Frage ist klar.

Markierte Eigenschaften erhalten im Workflow-Editor ein Badge „mehrdeutig“, das die Lesarten auflistet, die der Name zulässt. Sobald das Schema live ist, besteht die Abhilfe stattdessen in einer neu formulierten Beschreibung, die eine Bedeutung festlegt, ohne den Datenvertrag zu brechen. Das vollständige Bewertungsraster und die zugehörigen Abhilfen finden Sie im Leitfaden Mehrdeutigkeitsprüfung.

Beim Generieren einer Beispiel-Entität aus einer Beschreibung können Sie „Websuche verwenden“ aktivieren, damit das Modell aktuelle Fakten im Web nachschlägt, statt sich allein auf seine Trainingsdaten zu verlassen. Dies erzeugt frischere, genauere Beispielwerte – besonders bei schnelllebigen Fakten wie Preisen, Mitarbeiterzahlen oder jüngsten Veröffentlichungen. Die Option erscheint nur bei Modellen, deren Provider integrierte Websuche unterstützt, und Suchaufrufe werden vom Provider wie jede andere Modellnutzung abgerechnet.

KI-Schemabearbeitung

Nach der Generierung können Sie Schemas mit Anweisungen in natürlicher Sprache ändern. Geben Sie einen Befehl ein, und die KI wendet die Änderung an, während Ihre bestehende Schemastruktur erhalten bleibt. Jede Bearbeitung erzeugt außerdem 5 Vorschläge für weitere Verbesserungen.

Beispiel-Bearbeitungsbefehle

Fügen Sie ein Integer-Feld employee_count hinzu
Erstellen Sie ein verschachteltes Adressobjekt mit Stadt und Land
Französische Beschreibungen zu allen Textfeldern hinzufügen
Eine Referenz auf das Mutterunternehmen mit $defs definieren
Markieren Sie das Website-Feld als nullable

KI-Bearbeitungen werden mit einer Teilmenge der Generierungsregeln validiert (Typprüfung, Referenzintegrität, Expertise-Konsistenz), ohne einen Vergleich mit den Eingabedaten, da Sie Felder absichtlich hinzufügen oder entfernen können.

KI-Vorschläge

Sowohl die Schemagenerierung als auch die KI-Bearbeitung liefern 5 gezielte Vorschläge, die verschiedene Verbesserungskategorien abdecken:

DatenvollständigkeitFehlende Felder, die Ihre Entität anreichern könnten
DatenqualitätGeschlossene Vokabulare, Nullbarkeit, Typkorrekturen
BeziehungenVerschachtelte Strukturen, Entity-Referenzen über $defs
InternationalisierungMehrsprachige Übersetzungen, Locale-Unterstützung
GeschäftskontextFachgebietsspezifische Felder und Expertise-Gruppierungen

Vorschläge erscheinen im Workflow Editor als anklickbare Chips – klicken Sie auf einen, um das KI-Bearbeitungsfeld automatisch auszufüllen und anzuwenden.

Nächste Schritte