+140 XP

Strukturierten Output anfordern: Listen, Tabellen, JSON

Fügen Sie diesen unsortierten Textblock in ChatGPT ein: *„Sarah Lee, sarah@acme.io, Marketing Lead, seit März 2023 dabei. Dann ist da Raj Patel (raj.patel@acme.io), der den Vertrieb leitet, seit 2021 hier. Ach ja, und Mia, unsere Designerin, mia.d@acme.io, hat letzten Herbst angefangen.“*

Ergänzen Sie jetzt einen Satz: *„Mach daraus eine Tabelle mit den Spalten Name, Email, Role, Start Year.“*

Innerhalb von Sekunden bekommen Sie das zurück:

NameEmailRoleStart Year
Sarah Leesarah@acme.ioMarketing Lead2023
Raj Patelraj.patel@acme.ioSales2021
Miamia.d@acme.ioDesigner2025

Das ist die ganze Lektion in Kurzform: Wenn Sie eine bestimmte Form wollen, fragen Sie nach dieser Form. Das Modell strukturiert Ihren Text bereitwillig um. Es muss nur das Ziel kennen.

Warum Struktur wichtig ist

Standardmäßig antworten KI-Modelle in Fließtext: Absätze, Erklärungen, freundliche Füllsätze. **Zum Lesen ist das in Ordnung. Zum *Weiterverwenden* ist es furchtbar.**

Wenn Sie:

  • Optionen schnell überfliegen wollen, fragen Sie nach einer Liste.
  • Elemente nebeneinander vergleichen wollen, fragen Sie nach einer Tabelle.
  • Daten in Excel oder Google Sheets laden wollen, fragen Sie nach CSV.
  • Daten an ein anderes Programm übergeben wollen, fragen Sie nach JSON.

Jedes Format ist nur ein anderer Container für dieselben Informationen. Wer das richtige wählt, spart sich später das Aufräumen nach dem Copy-and-paste.

Die vier Formate, einfach erklärt

Listen

Die einfachste Struktur. Gut für Schritte, Optionen oder kurze Einträge.

*„Gib mir 5 Betreffzeilen für eine Launch-E-Mail. Stichpunkte, keine Erklärungen.“*

Ergänzen Sie „keine Erklärungen“ oder „nur die Liste“, damit das Modell nicht jeden Punkt mit Kommentaren aufbläht.

Tabellen

Ideal, wenn jedes Element dieselben Felder hat. Der eigentliche Kniff: Benennen Sie die Spalten.

*„Fasse diese drei Laptops in einer Tabelle zusammen. Spalten: Modell, Preis, Akkulaufzeit, Gewicht.“*

Wenn Sie Spalten benennen, füllt das Modell genau diese und nichts darüber hinaus. Benennen Sie sie nicht, rät es, und das Ergebnis wird unordentlicher.

Csv

CSV steht für „comma-separated values“. Es ist reiner Text, bei dem jede Zeile ein Datensatz ist und Kommas die Felder trennen. Es ist die universelle Sprache von Tabellenkalkulationen.

*„Gib die Kontaktliste als CSV mit Kopfzeile aus.“*
Name,Email,Role,Start Year
Sarah Lee,sarah@acme.io,Marketing Lead,2023
Raj Patel,raj.patel@acme.io,Sales,2021
Mia,mia.d@acme.io,Designer,2025

Kopieren Sie das, fügen Sie es in eine .csv-Datei ein (oder direkt in Google Sheets über Datei > Importieren), und Sie haben eine funktionierende Tabelle.

Json

JSON („JavaScript Object Notation“) ist das Format, mit dem Programme Daten untereinander austauschen. Sie müssen nicht programmieren können, um es zu erkennen: Es besteht aus Bezeichnern und Werten in geschweiften und eckigen Klammern.

*„Gib dieselben Kontakte als JSON-Array von Objekten aus, mit den Keys: name, email, role, start_year.“*
json
[
  { "name": "Sarah Lee", "email": "sarah@acme.io", "role": "Marketing Lead", "start_year": 2023 },
  { "name": "Raj Patel", "email": "raj.patel@acme.io", "role": "Sales", "start_year": 2021 },
  { "name": "Mia", "email": "mia.d@acme.io", "role": "Designer", "start_year": 2025 }
]

Zu JSON greifen Sie, wenn ein anderes Tool den Output lesen soll: eine Automatisierung in Zapier oder Make, ein Skript oder eine App, die Sie gerade bauen.

Wenn Sie wissen wollen, wie gültiges JSON tatsächlich aussieht: Die [offizielle JSON-Website](https://www.json.org/json-en.html) bietet eine übersichtliche einseitige Referenz.

Die Formulierungen, mit denen Modelle zuverlässig liefern

Modelle können gut mit Struktur umgehen, aber vage Anfragen liefern vage Ergebnisse. Diese Formulierungen machen den Output zuverlässig präziser.

Benennen Sie Ihre Felder. „Spalten: Name, E-Mail, Rolle“ schlägt „mach eine Tabelle“.

Nennen Sie das Format ausdrücklich. „Ausgabe als CSV.“ „Gib gültiges JSON zurück.“ „Verwende eine Markdown-Tabelle.“

Setzen Sie Grenzen. „Keine Erklärung, nur die Tabelle.“ „Keine Zusammenfassung hinzufügen.“ Damit fallen die geschwätzige Einleitung und das „Sag Bescheid, wenn du noch etwas brauchst!“ am Ende weg.

Regeln Sie fehlende Daten vorab. „Wenn ein Feld unbekannt ist, schreib N/A.“ Sonst erfindet das Modell Werte oder lässt unregelmäßige Lücken.

Fixieren Sie die Struktur, wenn es darauf ankommt. „Jedes Objekt muss dieselben Keys haben, auch wenn sie leer sind.“ So verliert keine Zeile unbemerkt ein Feld.

Zusammengesetzt sieht ein starker Prompt so aus:

*„Extrahiere aus dem folgenden Text jede Person. Gib gültiges JSON zurück: ein Array von Objekten mit den Keys name, email, role, start_year. Fehlt ein Wert, verwende null. Kein Kommentar, nur JSON.“*

Dieser Prompt ist absichtlich langweilig. Langweilige Prompts erzeugen verlässliche Struktur.

Ein echter Workflow: von chaotischen Notizen zur sauberen Tabelle

Angenommen, Sie haben eine Seite mit Event-Anmeldungen als chaotischen Absatz kopiert. So gehen Sie komplett vor.

Schritt 1. Fügen Sie den unsortierten Text ein.

Schritt 2. Prompt:

*„Extrahiere alle Teilnehmer als CSV. Kopfzeile, Spalten: Name, Firma, E-Mail, Ticketart. Fehlt ein Feld, lass es leer. Nur CSV, kein zusätzlicher Text.“*

Schritt 3. Kopieren Sie das Ergebnis in ein neues Google Sheet (Einfügen, dann bei Bedarf Daten > Text in Spalten aufteilen; beim CSV-Import wird meist automatisch aufgeteilt).

Schritt 4. Wenn ein paar Zeilen falsch aussehen, prompten Sie nicht alles neu. Sagen Sie einfach: *„In Zeile 4 steht die Firma in der E-Mail-Spalte, korrigiere nur diese Zeile.“*

Diese Schleife (extrahieren, kurz prüfen, eine Sache korrigieren) ist schneller, als Daten von Hand zu bereinigen, und deutlich weniger fehleranfällig, als es im Kopf zu erledigen.

Wissenscheck

1. Was ist laut der Lektion das Grundprinzip, um strukturierten Output von einem KI-Modell zu bekommen?

2. Sie möchten eine Kontaktliste mit möglichst wenig Nacharbeit in Google Sheets laden. Welches Format sollten Sie von der KI anfordern?

3. Warum nennt die Lektion das Benennen der Spalten bei einer Tabellenanfrage den entscheidenden Kniff?

MEHRFACHAUSWAHL

4. Wählen Sie ALLE zutreffenden Aussagen dazu, welches Output-Format laut der Lektion zu welchem Zweck passt.

Wählen Sie alle richtigen Antworten aus.

MEHRFACHAUSWAHL

5. Wählen Sie ALLE zutreffenden Aussagen dazu, warum strukturierter Output wichtig ist und wie man ihn anfordert.

Wählen Sie alle richtigen Antworten aus.

Struktur über die API (für leicht technisch Versierte)

Wenn Sie KI in ein Programm einbinden, brauchen Sie Output, auf den Sie sich *jedes Mal* verlassen können. OpenAI, Anthropic (Claude) und Google (Gemini) bieten alle eine „Structured Output“-Funktion, die das Modell zwingt, gültiges JSON passend zu einem von Ihnen definierten Schema zurückzugeben. Kein Parsen kaputter Klammern mehr.

Hier ein minimales Beispiel mit der Python-Bibliothek von OpenAI. Sie beschreiben die Form mit einem Schema, und mit "strict": True ist das Modell gezwungen, sich daran zu halten.

python
from openai import OpenAI
client = OpenAI()

messy = "Sarah Lee, sarah@acme.io, marketing lead, joined 2023. Raj Patel raj.patel@acme.io runs sales since 2021."

response = client.chat.completions.create(
    model="gpt-5",
    messages=[
        {"role": "system", "content": "Extract people as JSON."},
        {"role": "user", "content": messy},
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "contacts",
            "strict": True,
            "schema": {
                "type": "object",
                "properties": {
                    "people": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {"type": "string"},
                                "email": {"type": "string"},
                                "role": {"type": "string"},
                                "start_year": {"type": "integer"}
                            },
                            "required": ["name", "email", "role", "start_year"],
                            "additionalProperties": False
                        }
                    }
                },
                "required": ["people"],
                "additionalProperties": False
            }
        }
    }
)

print(response.choices[0].message.content)

Zwei Details sind wichtig. "strict": True schaltet die Durchsetzung des Schemas ein; ohne diese Option ist das Schema nur ein starker Hinweis. Der Strict-Modus erwartet außerdem "additionalProperties": False bei jedem Objekt und dass jedes Feld in required aufgeführt ist.

Der Nutzen: Der Output ist gültiges JSON mit genau diesen Keys. Ihre nächste Codezeile kann ihn laden, ohne abzustürzen. Eine Einschränkung: Die Form ist garantiert, die Fakten sind es nicht. Ein Schema hindert das Modell nicht daran, ein falsches Startjahr zu raten, prüfen Sie die Werte also trotzdem stichprobenartig. Claude und Gemini unterstützen dasselbe Muster über ihre eigenen Structured-Output- und Tool-Calling-Funktionen, das Vorgehen lässt sich also auf andere Tools übertragen.

Wenn Sie nicht programmieren, bekommen Sie den Großteil dieses Nutzens schon, indem Sie im Chatfenster einen präzisen Prompt schreiben. Die API macht das Ganze lediglich absolut zuverlässig für wiederholten, automatisierten Einsatz.

Structured Outputs with the OpenAI API

Watch on YouTube

Häufige Fehler und schnelle Lösungen

Das Modell schreibt Geplauder rund um Ihre Tabelle. Ergänzen Sie „Gib nur die Tabelle aus, kein Text davor oder danach.“

Zahlen kommen als Text zurück (etwa „2,023“ mit Komma). Geben Sie vor: „start_year als einfache Ganzzahl, ohne Formatierung.“

Zeilen haben uneinheitliche Spalten. Sagen Sie: „Jede Zeile muss alle Spalten haben; verwende null für fehlende Werte.“

Die Tabelle ist zu breit zum Lesen. Lassen Sie sie drehen: „Mach daraus eine vertikale Tabelle mit einem Attribut pro Zeile“ bei einem einzelnen Element, oder teilen Sie sie in zwei Tabellen auf.

CSV bricht, weil ein Feld ein Komma enthält (etwa „Lee, Sarah“). Sagen Sie: „Setze jedes Feld, das ein Komma enthält, in doppelte Anführungszeichen.“ Das ist Standardverhalten bei CSV, und Tabellenkalkulationen erwarten es.

Die Haltung

Stellen Sie sich vor, Sie geben dem Modell ein leeres Formular. Je klarer das Formular (benannte Spalten, angegebenes Format, Regeln für leere Felder), desto besser füllt es es aus. Sie hoffen nicht auf guten Output. Sie *spezifizieren* ihn.

Sobald das sitzt, akzeptieren Sie keine Textwüsten mehr. Sie sagen „als Tabelle“, „als CSV“, „als JSON“ und bekommen Daten, mit denen Sie tatsächlich arbeiten können.

Das Wichtigste in Kürze

  • Nennen Sie Format und Felder. „Tabelle mit den Spalten X, Y, Z“ oder „gültiges JSON mit den Keys a, b, c“ schlägt jede vage Anfrage.
  • Unterbinden Sie das Geplauder mit „keine Erklärung, nur der Output“. Das allein macht Copy-and-paste sauber.
  • Wählen Sie das Format passend zum Ziel: Listen zum Lesen, Tabellen zum Vergleichen, CSV für Tabellenkalkulationen, JSON für Programme.
  • Planen Sie fehlende Daten ein, indem Sie dem Modell sagen, was es mit leeren Feldern tun soll (N/A, null oder leer), damit Sie nie erfundene Werte bekommen.
  • Nutzen Sie für wiederkehrende oder automatisierte Arbeit den Structured Output der API mit aktiviertem Strict-Modus, um die Form jedes Mal zu garantieren. Prüfen Sie die Werte trotzdem.

Was Sie aus dieser Lektion umsetzen

Diese Maßnahmen sind im Playbook der Rolle zusammengefasst.

  • Benennen Sie die genauen Felder und das Format, passend zum Zielort
  • Festlegen, wie fehlende Daten in strukturierten Outputs behandelt werden
  • Für automatisierte Arbeit structured output oder JSON mode der API nutzen
Vollständiges Action Playbook ansehen →

Verwandte Artikel

Aktuelle Blogartikel, die auf dieser Lektion aufbauen.