promptgarten 🌱
🌍 EN
Prompt-Pattern●●○5 Min · +40 XP

Ausgabeformate zuverlässig erzwingen

Von der Bitte im Prompt bis zum echten JSON-Schema der API – drei Ebenen, mit denen du ein festes Ausgabeformat erzwingst.

Die einfachste Ebene: der Prompt

Der Klassiker ist eine klare Format-Anweisung im Prompt: „Antworte ausschließlich als JSON mit den Feldern name, alter, stadt" plus ein Beispiel-Output. Das funktioniert oft gut, ist aber nicht garantiert – das Modell kann trotzdem mal einen Satz voranstellen oder ein Feld vergessen.

Die zuverlässigere Ebene: API-Features

Moderne LLM-APIs bieten eigene Mechanismen, die ein Format technisch erzwingen statt nur zu empfehlen. Claude bietet dafür Structured Outputs mit JSON-Schema-Validierung; OpenAI nennt sein Feature ebenso Structured Outputs. Beide garantieren, dass die Antwort exakt dem übergebenen Schema entspricht – kein Nachbessern mehr nötig, um kaputtes JSON zu reparieren.

Wichtige Abgrenzung

Prompt-Anweisungen sind ein Pattern – eine Gewohnheit, die meistens, aber nicht garantiert funktioniert. API-Features wie Structured Outputs sind dagegen eine technische Garantie der Schnittstelle selbst. Für unkritische Formatierung reicht oft der Prompt; für Code, der das Ergebnis weiterverarbeitet, lohnt sich das API-Feature.

Validierung als drittes Sicherheitsnetz

Selbst mit garantierten Formaten bleibt Validierung sinnvoll: Prüfe die Antwort gegen dein Schema und baue bei Fehlern eine Retry-Schleife ein. Das fängt Fälle ab, die außerhalb reiner Formatfragen liegen – etwa gültiges JSON mit inhaltlich unsinnigen Werten.

BEISPIEL

Prompt-Ebene (kein Garant): „Antworte NUR mit gültigem JSON im Format {\"stadt\": string, \"land\": string}, ohne zusätzlichen Text." API-Ebene (garantiert, Pseudocode): output_config={\"format\": {\"type\": \"json_schema\", \"schema\": {\"type\": \"object\", \"properties\": {\"stadt\": {\"type\": \"string\"}, \"land\": {\"type\": \"string\"}}, \"required\": [\"stadt\", \"land\"]}}} – jede Antwort entspricht garantiert diesem Schema.

🛠️ ÜBUNG — MACH DAS BEI DIR

Erzwinge ein festes JSON-Format einmal nur per Prompt und einmal per Schema-Parameter, und vergleiche die Zuverlässigkeit.

  1. Bitte das Modell per Prompt-Anweisung um eine JSON-Antwort mit festen Feldern für 5 Testanfragen.
  2. Prüfe, ob alle 5 Antworten valides, vollständiges JSON ohne zusätzlichen Text sind.
  3. Wiederhole dieselben Anfragen mit einem echten JSON-Schema über ein Structured-Outputs-Feature deiner Wahl.
  4. Vergleiche die Fehlerquote beider Ansätze.

SELBST-CHECK

  • Gab es bei der reinen Prompt-Variante mindestens eine Antwort mit zusätzlichem Text oder fehlendem Feld?
  • War die Schema-Variante in allen 5 Fällen tatsächlich zu 100 % konform?

KURZ-QUIZ

Was ist der zentrale Unterschied zwischen einer Format-Anweisung im Prompt und einem API-Feature wie Structured Outputs?

Teilen:𝕏in💬

QUELLEN

VERWANDTE THEMEN

Structured Outputs ●●○Tool Use: Wie LLMs Werkzeuge aufrufen ●●○Guardrails für autonome Agenten ●●●Few-Shot-Prompting: Mit Beispielen zeigen statt nur beschreiben ●○○