Structured Output

Modellantworten als verlässliche Daten weiterverarbeiten

Eine Technik, bei der LLMs ihre Antworten in einem vordefinierten Format (meist JSON) ausgeben, statt freiem Text – für zuverlässige Integration in Anwendungen.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. LLM-Ausgaben in validem JSON, XML oder anderen strukturierten Formaten
  2. Ermöglicht zuverlässige Weiterverarbeitung in Code und Pipelines
  3. Moderne APIs bieten native Unterstützung mit JSON Schema Validation

Sofortantwort

Structured Output einfach erklärt

LLMs geben Antworten in vordefinierten Formaten wie JSON aus.

Kurz gesagt
LLM-Ausgaben in validem JSON, XML oder anderen strukturierten Formaten
Typischer Einsatz
Datenextraktion, API-Responses, Automatisierte Pipelines
Wichtig zu wissen
Moderne APIs bieten native Unterstützung mit JSON Schema Validation

Structured Output im Überblick

Structured Output bedeutet, dass ein LLM seine Antwort in einem vordefinierten Format ausgibt – meist JSON mit einem festen Schema. Das macht LLM-Ausgaben zuverlässig für die Weiterverarbeitung in Code.

Warum ist das wichtig?

Ohne Structured Output variiert die Ausgabe: Mal kommt “Der Preis ist 29,99€”, mal “29.99 EUR”, mal eine Tabelle. Mit Structured Output bekommst du immer {"price": 29.99, "currency": "EUR"}.

Beispiel:

Prompt: Extrahiere Produktinfos aus diesem Text: "Das iPhone 15 Pro 
        kostet 1199€ und hat 256GB Speicher."

Ohne Structured Output:
"Das Produkt ist ein iPhone 15 Pro. Es kostet 1199 Euro und 
 bietet 256 Gigabyte Speicherplatz."

Mit Structured Output:
{
  "name": "iPhone 15 Pro",
  "price": 1199,
  "currency": "EUR",
  "storage_gb": 256
}

Technisch betrachtet

Native API-Unterstützung (OpenAI)

from openai import OpenAI
from pydantic import BaseModel

class Product(BaseModel):
    name: str
    price: float
    currency: str
    storage_gb: int | None

client = OpenAI()
response = client.beta.chat.completions.parse(
    model="gpt-5",
    messages=[{"role": "user", "content": "Extrahiere: iPhone 15 Pro, 1199€, 256GB"}],
    response_format=Product
)
product = response.choices[0].message.parsed

Prompt-basierter Ansatz

Wenn keine native Unterstützung verfügbar:

Antworte ausschließlich als gültiges JSON mit diesem Schema:
{
  "name": string,
  "price": number,
  "currency": "EUR" | "USD",
  "storage_gb": number | null
}
Kein Text außerhalb des JSON-Objekts.

Best Practices

  • Native APIs bevorzugen: Zuverlässiger als Prompt-basierte Lösungen
  • Schemas einfach halten: Weniger Felder = weniger Fehler
  • Validierung einbauen: Auch bei nativer Unterstützung Ergebnisse prüfen
  • Fallback planen: Was passiert bei ungültiger Ausgabe?

Schritt für Schritt

Von freiem Text zu prüfbaren Daten

Structured Output definiert, welche Felder eine Antwort haben darf. Das macht die Form zuverlässig, nicht automatisch die Aussage wahr.

  1. Datenschema entwerfen

    Schema

    Die Anwendung beschreibt Felder, Datentypen, erlaubte Werte und Pflichtangaben aus Sicht der Weiterverarbeitung.

    Felder + Typen + Grenzen
  2. Aufgabe und Quelle bereitstellen

    Eingabe

    Das Modell erhält klaren Eingabetext und eine Anweisung, nur die geforderte Struktur zurückzugeben.

    Quelle → strukturierte Extraktion
  3. Antwort gegen Schema prüfen

    Validierung

    Die API oder Anwendung validiert, ob Felder, Werte und Formate der vereinbarten Struktur entsprechen.

    Antwort → valide oder Fehler
  4. Inhalt fachlich absichern

    Fachlogik

    Geschäftsregeln, Plausibilitätschecks und Quellenverweise prüfen zusätzlich, ob die Daten sinnvoll und zulässig sind.

    Schema gültig ≠ fachlich korrekt

Konkretes Beispiel

Beispiel: Daten aus einer Rechnung extrahieren

Eine Anwendung soll Rechnungsnummer, Datum, Betrag und Währung aus einem Dokument übernehmen.

Freie Textantwort

Das Modell beschreibt die Rechnung in einem Satz. Der Code muss Format und Werte anschließend aus Text herauslesen.

Definierte Datenstruktur

Das Modell liefert Felder für Nummer, Datum, Betrag und Währung. Die Anwendung prüft Zahlenbereiche und gleicht die Werte mit dem Dokument ab.

Eine feste Struktur vereinfacht Automatisierung. Für kritische Daten braucht sie immer fachliche Validierung und gegebenenfalls eine menschliche Prüfung.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Macht LLM-Antworten direkt für Code und Workflows nutzbar.
  • Reduziert fehleranfälliges Parsing von freiem Text.
  • Klärt bereits beim Entwurf, welche Informationen wirklich benötigt werden.
  • Ermöglicht maschinelle Validierung und gezielte Fehlerbehandlung.

Das solltest du beachten

  • Ein valides Schema garantiert keine inhaltlich richtige Aussage.
  • Komplexe Schemas können Modell und Anwendung unnötig belasten.
  • Fehlende oder mehrdeutige Quellendaten bleiben ein Fachproblem.
  • Änderungen am Schema brauchen Versionierung in allen Verbrauchern.
Vertiefung · für Fortgeschrittene

Verarbeitungsweg strukturierter Modellantworten

Das Schema ist der Vertrag zwischen Modellantwort und Anwendung.

Wissenskarte

Form erzwingen

Strukturierte Ausgaben sollten Fehlerfälle ausdrücklich behandeln, statt sie stillschweigend mit leeren Werten zu überdecken. Structured Output gliedert sich in: Quelle, Schema, LLM, Parser, Validierung, Workflow.

01Einsatzbereiche

Wann ist Structured Output sinnvoll?

Geeignet für

  • DatenextraktionStrukturierte Informationen aus unstrukturiertem Text extrahieren
  • API-ResponsesLLM-Antworten direkt als API-Response verwenden
  • Automatisierte PipelinesLLM-Ausgaben ohne manuelle Nachbearbeitung weiterverarbeiten

↑ Inhalt

02Werkzeuge

Womit Structured Output umgesetzt wird

↑ Inhalt

Merksatz

Structured Output ist wie ein Formular statt eines Freitextfelds

Statt 'Schreib mir was über das Produkt' bekommst du definierte Felder wie Name, Preis, Beschreibung – immer im gleichen Format.

  1. LLM-Ausgaben in validem JSON, XML oder anderen strukturierten Formaten
  2. Ermöglicht zuverlässige Weiterverarbeitung in Code und Pipelines
  3. Moderne APIs bieten native Unterstützung mit JSON Schema Validation

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Structured Output

Was ist der Unterschied zwischen JSON Mode und Structured Output?

JSON Mode garantiert nur valides JSON. Structured Output garantiert valides JSON UND Einhaltung eines spezifischen Schemas (bestimmte Felder, Typen, Constraints). Structured Output ist strenger und zuverlässiger.

Funktioniert Structured Output bei allen LLMs?

Native Unterstützung gibt es bei OpenAI, Anthropic und einigen anderen. Bei Modellen ohne native Unterstützung kann man es per Prompt erzwingen, aber mit geringerer Zuverlässigkeit.

Was passiert bei Schema-Verletzungen?

Bei nativer Unterstützung: Die API gibt einen Fehler zurück oder versucht automatisch zu korrigieren. Bei Prompt-basiertem Ansatz: Du musst selbst validieren und ggf. neu anfragen.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Prompt Engineering

    Die Technik, Anweisungen für KI-Modelle optimal zu gestalten.

  • Technisch vertiefen

    Guardrails

    Regeln zur Sicherstellung des korrekten Verhaltens von KI.

↑ Inhalt