0Pricing
AI Agents · Lektion

JSON-Modus und Tool-Call-Ausgaben

Verwenden Sie response_format={'type':'json_object'} oder einen einzelnen Tool-Aufruf, um maschinenlesbare Ausgaben zu erzwingen.

JSON-Modus und Tool-Call-Ausgaben ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Die Notwendigkeit strukturierter Ausgaben

Freier Text von LLMs ist für Code ungeeignet. Produktionsagenten benötigen analysierbare Ausgaben: JSON, XML, Funktionsargumente – niemals „die Antwort lautet …“

JSON-Modus (OpenAI)

Sagen Sie dem Modell: „Gib immer JSON zurück“:

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[
        {'role': 'system', 'content': 'Return a JSON object with name and age.'},
        {'role': 'user', 'content': 'Alice, 30 years old.'}
    ],
    response_format={'type': 'json_object'}
)
import json
data = json.loads(response.choices[0].message.content)

Einschränkung des JSON-Modus

Der JSON-Modus garantiert nur gültiges JSON – nicht Ihre STRUKTUR. Das Modell könnte {} oder {"foo": "bar"} zurückgeben. Validieren Sie daher immer auch die Struktur.

Structured Outputs (Strict)

OpenAI Structured Outputs garantiert, dass die Antwort einem JSON Schema entspricht:

schema = {
    'name': 'person',
    'schema': {
        'type': 'object',
        'properties': {
            'name': {'type': 'string'},
            'age': {'type': 'integer'}
        },
        'required': ['name', 'age'],
        'additionalProperties': False
    },
    'strict': True
}

response = client.chat.completions.create(
    model='gpt-4o-2024-08-06',
    messages=...,
    response_format={'type': 'json_schema', 'json_schema': schema}
)

Funktionsweise des Strict-Modus

Der Strict-Modus schränkt den Decoder so ein, dass das Modell buchstäblich kein ungültiges Token erzeugen kann. Die Ausgabe entspricht zu 100 % dem Schema.

Tool-Aufrufe als strukturierte Ausgabe

Sie können einen bestimmten Tool-Aufruf erzwingen, um strukturierte Daten zu extrahieren:

tools = [{'type': 'function', 'function': {
    'name': 'submit_person',
    'parameters': {
        'type': 'object',
        'properties': {'name': {'type': 'string'}, 'age': {'type': 'integer'}},
        'required': ['name', 'age']
    }
}}]

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=...,
    tools=tools,
    tool_choice={'type': 'function', 'function': {'name': 'submit_person'}}
)
args = json.loads(response.choices[0].message.tool_calls[0].function.arguments)

Anthropic-Tool-Nutzung als Ausgabe

Anthropic verwendet dasselbe Muster mit tool_choice="tool":

tool_choice = {'type': 'tool', 'name': 'submit_person'}
print(tool_choice)

JSON durch Vorbefüllen (Anthropic)

Bei Claude ohne Tools füllen Sie den Assistant-Turn mit { vor:

messages = [
    {'role': 'user', 'content': 'Give me JSON for Alice, 30.'},
    {'role': 'assistant', 'content': '{'}
]
# Output starts with { and likely produces valid JSON.
for m in messages:
    print(f"{m['role']}: {m['content']}")
print("Output starts with { and likely produces valid JSON.")

Pydantic + Strict-Modus

Das OpenAI Python SDK bietet eine Abkürzung für Pydantic:

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

response = client.beta.chat.completions.parse(
    model='gpt-4o-2024-08-06',
    messages=...,
    response_format=Person
)
person = response.choices[0].message.parsed
# Pydantic instance, type-safe

Häufige Fallstricke

  • JSON-Modus ohne Strict-Modus – das Modell kann die falsche Struktur zurückgeben
  • additionalProperties: false im Strict-Modus vergessen
  • Erforderliche Felder sind nicht im Array "required" aufgeführt
  • Der Strict-Modus ist nur ab gpt-4o-2024-08-06 verfügbar

Kosten strukturierter Ausgaben

Der Strict-Modus verursacht durch die grammatikbeschränkte Dekodierung einen geringfügigen Mehraufwand – im Vergleich zum Qualitätsgewinn ist er vernachlässigbar. Aktivieren Sie ihn immer, wenn die Struktur wichtig ist.

Mit Validierung kombinieren

Auch Strict-Ausgaben sollten anschließend mit Pydantic validiert werden. Mehrschichtige Absicherung – so werden Randfälle wie Ganzzahlen außerhalb des zulässigen Bereichs erkannt.

Garantie des Strict-Modus

Was garantiert OpenAI Structured Outputs (Strict-Modus)?

Zusammenfassung

Der JSON-Modus dient für eine permissive Struktur, Strict Outputs für garantierte Strukturen, Tool-Aufrufe für denselben Effekt und Anthropic-Vorbefüllung für Claude. Validieren Sie danach immer.

Häufig gestellte Fragen

Ist die Lektion „JSON-Modus und Tool-Call-Ausgaben“ kostenlos?

Ja — der vollständige Text von „JSON-Modus und Tool-Call-Ausgaben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „JSON-Modus und Tool-Call-Ausgaben“?

Verwenden Sie response_format={'type':'json_object'} oder einen einzelnen Tool-Aufruf, um maschinenlesbare Ausgaben zu erzwingen. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „JSON-Modus und Tool-Call-Ausgaben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. JSON-Modus und Tool-Call-Ausgaben
  2. Pydantic-Schema-Validierung
  3. Reparaturschleifen für fehlerhafte Ausgaben
  4. Instructor / Outlines für garantierte Strukturen
← Zurück zu AI Agents