Zum Hauptinhalt springenZur Navigation springen
    Entwickler & APIs · J

    JSON Schema

    JSON Schema ist ein offener Standard, der die erlaubte Struktur von JSON-Dokumenten formal beschreibt. Ein Schema legt fest, welche Felder vorkommen dürfen oder müssen, welche Datentypen sie haben, welche Wertebereiche gelten und wie verschachtelte Objekte und Arrays aufgebaut sind. Damit lässt sich automatisiert prüfen, ob ein konkretes JSON-Dokument den Erwartungen entspricht. In KI-Anwendungen ist JSON Schema heute der zentrale Mechanismus, um die Ausgaben von Sprachmodellen über Structured Outputs und die Parameter beim Function Calling verlässlich zu strukturieren. Da der Standard sprachunabhängig ist, dient dasselbe Schema gleichzeitig als Vertrag zwischen Diensten, als Validierungsregel im Backend und als maschinenlesbare Dokumentation der Datenschnittstelle, was Integrationsfehler früh sichtbar macht und die Zusammenarbeit zwischen Teams erleichtert.

    Auch bekannt als: JSON-Schema, JSON-Validierungsschema

    Was ist JSON Schema?

    JSON Schema ist selbst in JSON geschrieben und beschreibt deklarativ den Aufbau anderer JSON-Daten. Ein Schema definiert über Schlüsselwörter wie type, properties, required, enum oder items, welche Form gültige Daten annehmen dürfen. Ein Validator vergleicht ein eingehendes Dokument mit dem Schema und meldet jede Abweichung präzise zurück.

    Der Standard ist sprach- und plattformunabhängig und wird in zahlreichen Versionen (Drafts) gepflegt. Validatoren existieren für nahezu jede Programmiersprache, sodass dasselbe Schema in Frontend, Backend und Datenpipeline identisch eingesetzt werden kann. Das schafft eine gemeinsame, eindeutige Vertragsbasis zwischen Systemen.

    Damit übernimmt JSON Schema für JSON eine ähnliche Rolle wie eine Typdefinition in einer Programmiersprache: Es macht implizite Annahmen über Datenformate explizit und überprüfbar.

    Wichtige Schlüsselwörter

    Das Schlüsselwort type legt den Datentyp fest, etwa object, array, string, number oder boolean. Mit properties werden die einzelnen Felder eines Objekts samt ihrer eigenen Teilschemata beschrieben, während required angibt, welche dieser Felder zwingend vorhanden sein müssen.

    Für Werteinschränkungen sorgen Schlüsselwörter wie enum (eine feste Auswahl erlaubter Werte), minimum und maximum für Zahlen, minLength und maxLength für Zeichenketten sowie pattern für reguläre Ausdrücke. Mit additionalProperties lässt sich steuern, ob über die definierten Felder hinaus weitere erlaubt sind.

    Kombinatoren wie anyOf, oneOf und allOf erlauben es, mehrere Bedingungen zu verknüpfen und so auch komplexe, variantenreiche Datenstrukturen präzise zu beschreiben. Mit Referenzen über das Schlüsselwort $ref lassen sich wiederkehrende Teilschemata zudem auslagern und an mehreren Stellen wiederverwenden, was umfangreiche Schemata übersichtlich und wartbar hält.

    JSON Schema in KI-Anwendungen

    Beim Function Calling beziehungsweise Tool Use beschreiben Entwickler die Parameter einer Funktion über ein JSON Schema. Das Sprachmodell erhält dieses Schema als Beschreibung und liefert daraufhin Argumente, die exakt der vorgegebenen Struktur entsprechen. So weiß die Anwendung verlässlich, welche Felder es erwarten kann, bevor sie die eigentliche Funktion ausführt.

    Mit Structured Outputs gehen moderne Modelle noch weiter: Die Generierung wird so eingeschränkt, dass die Ausgabe garantiert dem hinterlegten JSON Schema folgt. Das beseitigt eine der größten Hürden produktiver LLM-Integration, nämlich unvorhersehbar formatierte Antworten, und macht das nachgelagerte Parsen robust.

    In der Praxis bedeutet das: Ein einmal definiertes Schema dient gleichzeitig als Modellanweisung, als Validierungsregel und als Dokumentation der Datenschnittstelle.

    Vorteile und Praxis

    JSON Schema reduziert Integrationsfehler, weil ungültige Daten früh und mit klarer Fehlermeldung abgefangen werden. Es ersetzt manuelle Prüfroutinen durch eine zentrale, deklarative Regelbasis und dient zugleich als lebende Dokumentation einer Schnittstelle.

    In der professionellen Softwareentwicklung wird ein Schema oft aus Typdefinitionen generiert und automatisiert getestet. Bei LLM-gestützten Systemen empfiehlt es sich, Schemata bewusst eng zu fassen, klare Beschreibungen pro Feld zu hinterlegen und die Modellausgaben zusätzlich serverseitig zu validieren, bevor sie weiterverarbeitet werden.

    Ein häufiger Fehler ist, Schemata zu locker zu definieren. Erlaubt man über additionalProperties beliebige Zusatzfelder oder verzichtet auf required, gehen viele Vorteile verloren, weil unerwartete Strukturen unbemerkt durchrutschen. Umgekehrt sollte ein Schema aber auch nicht so starr sein, dass legitime, leicht abweichende Daten fälschlich abgewiesen werden.

    Schema-Design für LLMs

    Damit ein Sprachmodell zuverlässig dem Schema folgt, sind aussagekräftige Feldnamen und Beschreibungen entscheidend. Über das Schlüsselwort description lässt sich jedem Feld eine kurze Erklärung mitgeben, die das Modell wie eine Anweisung interpretiert. Ein Feld liefertdatum mit der Beschreibung "im Format JJJJ-MM-TT" wird so deutlich verlässlicher ausgefüllt als ein unkommentiertes Feld.

    Enumerationen sind ein wirksames Mittel, um Halluzinationen einzugrenzen. Wenn ein Feld nur eine feste Auswahl von Werten annehmen darf, sollte dies über enum erzwungen werden, statt das Modell frei formulieren zu lassen. So bleiben Kategorien, Status oder Prioritäten konsistent und maschinell auswertbar.

    Bei der Tiefe gilt Augenmaß: Übermäßig verschachtelte Schemata erhöhen die Fehleranfälligkeit. Oft ist es robuster, komplexe Strukturen in mehrere klar abgegrenzte Felder aufzuteilen und die eigentliche Zusammensetzung anschließend im Anwendungscode vorzunehmen.

    Häufige Fragen

    Was ist JSON Schema?

    JSON Schema ist ein offener Standard, der die Struktur von JSON-Dokumenten formal beschreibt. Es legt fest, welche Felder erlaubt oder erforderlich sind, welche Datentypen gelten und wie verschachtelte Strukturen aufgebaut sein müssen. Ein Validator prüft damit automatisch, ob ein Dokument gültig ist.

    Wofür wird JSON Schema im KI-Kontext genutzt?

    Es definiert beim Function Calling die Parameter, die ein Sprachmodell zurückgeben soll, und sichert über Structured Outputs ab, dass Modellausgaben garantiert einer festen Struktur folgen. Damit werden LLM-Antworten maschinell zuverlässig weiterverarbeitbar.

    Was ist der Unterschied zwischen JSON und JSON Schema?

    JSON ist das Datenformat selbst, also die konkreten Daten. JSON Schema ist die Beschreibung der erlaubten Struktur dieser Daten. Das Schema ist gewissermaßen die Bauvorschrift, das JSON-Dokument das fertige Gebäude, das gegen die Vorschrift geprüft wird.

    Welche wichtigen Schlüsselwörter gibt es in JSON Schema?

    Zentrale Schlüsselwörter sind type für den Datentyp, properties für die Felder eines Objekts, required für Pflichtfelder und enum für erlaubte Werte. Hinzu kommen Einschränkungen wie minimum, maxLength oder pattern sowie Kombinatoren wie anyOf und oneOf.

    Garantiert JSON Schema fehlerfreie LLM-Ausgaben?

    Structured Outputs erzwingen, dass die Struktur dem Schema entspricht, also keine Felder fehlen oder falsche Typen auftreten. Die inhaltliche Richtigkeit der Werte garantiert das Schema jedoch nicht. Eine zusätzliche serverseitige Validierung der Inhalte bleibt deshalb empfehlenswert.

    Wie gestaltet man ein JSON Schema für ein Sprachmodell optimal?

    Hilfreich sind sprechende Feldnamen und kurze Beschreibungen pro Feld über das Schlüsselwort description, die das Modell wie eine Anweisung interpretiert. Feste Auswahllisten sollten über enum erzwungen werden, um Halluzinationen einzugrenzen. Zu tiefe Verschachtelung erhöht die Fehleranfälligkeit und lässt sich oft besser im Anwendungscode auflösen.

    Verwandte Begriffe

    KI für Ihr Unternehmen nutzen?

    Wir helfen Ihnen, Künstliche Intelligenz strategisch und sicher in Ihre Prozesse, Ihr Marketing und Ihre Website zu integrieren.

    Projekt anfragen

    Stefan

    Ihr Ansprechpartner

    Stefan

    hey@elisabit.de

    Ich freue mich darauf, Ihr Projekt kennenzulernen und gemeinsam die beste Lösung zu finden.

    Datenschutz-Einstellungen

    Wir respektieren Ihre Privatsphäre

    Wir nutzen Cookies, um Ihnen die bestmögliche Erfahrung zu bieten. Einige sind essenziell, andere helfen uns, die Website zu verbessern.