Strukturierte Ausgaben und JSON-Schema
Kurz: Bei strukturierten Ausgaben zwingt man das Modell, Antworten in einem festen Format zu liefern, meist als JSON nach einem Schema. So kann ein Programm die Antwort sicher weiterverarbeiten.
Das Problem
Ein Sprachmodell erzeugt Text Token für Token. Bittet man nur freundlich um JSON, kommt manchmal ein Satz davor, ein fehlendes Komma oder ein erfundener Feldname. Für Programme ist das ein Fehler.
Lösungen
- Im Prompt beschreiben und prüfen: einfach, aber unzuverlässig. Immer validieren und bei Fehlern erneut fragen.
- JSON-Modus: Das Modell liefert garantiert gültiges JSON, aber nicht unbedingt das gewünschte Schema.
- Schema-erzwungenes Dekodieren: Beim Erzeugen werden nur Token erlaubt, die zum Schema passen (siehe Dekodierung: Greedy, Beam Search, Top-k und Top-p). Damit stimmen Felder und Typen.
- Werkzeugaufrufe (Function Calling): Das Modell füllt die Parameter einer Funktion aus, siehe Werkzeugnutzung, Agenten und MCP.
Beispiel-Schema
{ "type": "object",
"properties": { "titel": {"type":"string"}, "preis": {"type":"number"} },
"required": ["titel","preis"], "additionalProperties": false }Hinweise
- Ein gültiges Format heißt nicht, dass der Inhalt stimmt. Zahlen und Fakten bleiben prüfbedürftig, siehe Halluzination (KI).
- Einfache Schemata mit klaren Feldnamen und Beschreibungen funktionieren am besten.
Siehe auch: Prompt Injection