Zum Hauptinhalt springen

Strukturierte Ausgabe

Fortgeschritten
What you'll learn
  • Erklären, warum schema-erzwungene Ausgabe besser ist als das Prompten nach JSON und Hoffen
  • Ein JSON Schema bereitstellen und die Antwort in ein typisiertes Objekt parsen (Pydantic / Zod)
  • Strukturierte Ausgabe von Tool Use anhand der Absicht unterscheiden, nicht anhand des Mechanismus
  • Die vier Tipps für straffe, zuverlässige Schemas anwenden
  • Mit einer Ein-Frage-Faustregel das richtige Werkzeug wählen

Wenn Claudes Ausgabe andere Software speist, brauchst du zuverlässige Struktur — jedes Mal valides JSON, das einer bekannten Form entspricht. Verlasse dich nicht auf „antworte in JSON" und Hoffnung; nutze die Unterstützung der Plattform für strukturierte Ausgabe.

Diese Lektion führt dich von warum Prompt-and-Pray scheitert zu wie du ein Schema durchsetzt und es in ein typisiertes Objekt parst — und wie du strukturierte Ausgabe von Tool Use unterscheidest, wenn sie identisch aussehen. Arbeite sie von oben nach unten durch und teste dich dann mit dem Quiz gegen Ende.

Der zuverlässige Weg

Stelle ein JSON Schema für die Ausgabe bereit und lass die API/das SDK es durchsetzen, parse dann in ein typisiertes Objekt (z. B. Pydantic in Python, Zod in TypeScript). Die Parse-Helfer des SDK liefern dir ein typisiertes Ergebnis statt eines Strings, den du selbst mit JSON.parse verarbeiten und validieren musst.

Guided walkthrough1 of 3
  1. Modelliere die benötigte Ausgabe als JSON Schema — in Python über ein Pydantic BaseModel, in TypeScript über ein Zod-Schema.
# Conceptual shape — see the official docs for the current API surface.
from pydantic import BaseModel

class Ticket(BaseModel):
title: str
priority: str # "low" | "medium" | "high"
tags: list[str]

# Request the model to return data conforming to Ticket's JSON schema,
# then parse the response into a Ticket instance.

Möchtest du eine konkrete Anfrage zum Anpassen? Hier ist die Form dessen, was du dem Modell übergibst — ersetze das Modell durch dein eigenes Schema.

Schemakonforme Ausgabe anfordern

Return the data conforming to this JSON Schema:

{
"title": "string",
"priority": "low | medium | high",
"tags": ["string"]
}

Do not include any prose outside the JSON.

Warum nicht einfach nach JSON prompten?

Du kannst im Prompt nach JSON fragen, und für einfache Fälle funktioniert das — aber es kann abdriften: streunende Prosa, ein nachgestelltes Komma, ein fehlendes Feld. Schema-erzwungene Ausgabe beseitigt diese Fehlerklasse, was in dem Moment zählt, in dem ein nachgelagertes System davon abhängt.

Watch out
  • Geprompttes JSON funktioniert in Demos und bricht in der Produktion: Der Fehler zeigt sich erst, wenn ein nachgelagertes System es parst.
  • Drei klassische Abdriftungen, auf die du achten solltest: streunende Prosa um das JSON herum, ein nachgestelltes Komma, ein fehlendes Pflichtfeld.

Strukturierte Ausgabe vs. Tool Use

Beide Funktionen übergeben dem Modell ein JSON Schema, also sehen sie gleich aus — und Leute wählen die falsche. Der Unterschied liegt in der Absicht, nicht im Mechanismus:

Strukturierte AusgabeTool Use
Was du willstDie endgültige Antwort, in einer festen FormDass das Modell eine Fähigkeit aufruft (eine Funktion aufrufen, Daten abrufen, eine Aktion ausführen)
Wer es konsumiertDein Code, direktDein Code führt das Tool aus und speist das Ergebnis zurück ins Modell
Form des DurchlaufsEine Antwort, fertigEine Schleife: Modell fragt, du führst aus, Modell macht weiter
Typischer EinsatzExtraktion, Klassifizierung, ParsingAgenten, Live-Abfragen, Seiteneffekte

Eine schnelle Faustregel:

Wenn das JSON das Lieferergebnis ist, nutze strukturierte Ausgabe. Wenn das JSON das Modell ist, das deinen Code bittet, etwas zu tun, dann ist das Tool Use. Agenten nutzen oft beides: Tools, um zu handeln, strukturierte Ausgabe, um ein sauberes Endergebnis zurückzugeben.

Tipps

Pro tip
  • Halte Schemas straff — nutze Enums für feste Auswahlmöglichkeiten; markiere Pflichtfelder.
  • Beschreibe Felder — Feldbeschreibungen leiten das Modell wie Mini-Prompts.
  • Validiere trotzdem an der Grenze — defensives Parsing ist eine günstige Versicherung.
  • Für Extraktionsaufgaben schlägt strukturierte Ausgabe + ein klares Schema jedes Mal das Freiform-Format.
Key takeaways
  • Übergib der API/dem SDK ein JSON Schema und parse in ein typisiertes Objekt — kein Prompt-and-Pray.
  • Das Prompten nach JSON kann abdriften (streunende Prosa, nachgestelltes Komma, fehlendes Feld); Schema-Durchsetzung beseitigt diese Fehlerklasse.
  • Strukturierte Ausgabe vs. Tool Use unterscheiden sich durch die Absicht: Das JSON IST die Antwort vs. das JSON fordert eine Aktion an.
  • Straffe Schemas, beschriebene Felder und Validierung an der Grenze machen Extraktion und Klassifizierung zuverlässig.

Die Begriffe festigen

Drücke Enter oder die Leertaste, um die Karte umzudrehen. Nutze die Pfeiltasten links und rechts, um zwischen den Karten zu wechseln.Begriff angezeigt.
1 / 5

Überprüfe dich selbst

0/4
  1. Was ist der zuverlässige Weg, um strukturiertes JSON von Claude zu erhalten?
  2. Warum ist das Prompten nach JSON riskant, sobald ein nachgelagertes System davon abhängt?
  3. Was unterscheidet strukturierte Ausgabe tatsächlich von Tool Use?
  4. Welcher ist ein vernünftiger Rat für den Entwurf von Schemas?

Weiter