0Pricing
AI Agents · Lektion

Tool-Schemas definieren (JSON Schema)

Schreiben Sie JSON-Schema-Definitionen für Tool-Parameter mit Typen, Beschreibungen, Enums und Pflichtfeldern.

Tool-Schemas definieren (JSON Schema) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 2 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.

Tool-Schemas sind JSON Schema

OpenAI, Anthropic und die meisten anderen verwenden JSON Schema für Tool-Parameter.

Wenn Sie OpenAPI / Swagger verwendet haben, kennen Sie bereits 90 % davon.

Die drei erforderlichen Felder

Jede Tool-Definition enthält:

  1. name – eindeutiger Bezeichner (snake_case)
  2. description – was das Tool tut und wann es verwendet wird
  3. parameters – JSON Schema der Eingaben

Ein minimales Schema

Ein Objekt mit einem erforderlichen Zeichenkettenfeld:

schema = {
    'name': 'search_orders',
    'description': 'Find orders by customer email',
    'parameters': {
        'type': 'object',
        'properties': {
            'email': {
                'type': 'string',
                'description': 'Customer email address'
            }
        },
        'required': ['email']
    }
}
import json
print(json.dumps(schema, indent=2))

JSON-Schema-Typen

  • string – Text
  • integer, number – Zahlen
  • boolean – true/false
  • array – Liste (benötigt außerdem items)
  • object – Dictionary (benötigt außerdem properties)

Enums für geschlossene Mengen

Verwenden Sie enum, wenn genau N zulässige Werte existieren:

unit_param = {
    'unit': {
        'type': 'string',
        'enum': ['C', 'F'],
        'description': 'Temperature unit'
    }
}
# The model will only ever output C or F
print(unit_param)
print("Allowed values:", unit_param['unit']['enum'])

Array-Parameter

Legen Sie für Listeneingaben items fest:

tags_param = {
    'tags': {
        'type': 'array',
        'items': {'type': 'string'},
        'description': 'List of tags to filter by'
    }
}
print(tags_param)

Verschachtelte Objekte

Sie können Objekte verschachteln – halten Sie Schemas für eine zuverlässige Verarbeitung durch das Modell jedoch flach (maximal 2–3 Ebenen):

filter_param = {
    'filter': {
        'type': 'object',
        'properties': {
            'min_price': {'type': 'number'},
            'in_stock': {'type': 'boolean'}
        }
    }
}
print(filter_param)

Beschreibungsfelder sind entscheidend

Das Modell wählt Tools aus und füllt Argumente anhand von description aus. Behandeln Sie Beschreibungen wie API-Dokumentation:

# Bad
bad = {'description': 'gets data'}

# Good
good = {'description': 'Fetch the most recent 50 orders for the given customer email. Returns order_id, status, total. Use this when the user asks about their order history or order status.'}
print("Bad description:", bad['description'])
print("Good description:", good['description'])

required-Array

Kennzeichnen Sie erforderliche Felder explizit. Das Modell füllt diese immer aus; optionale Felder werden nur ausgefüllt, wenn sie relevant sind:

tool_params = {
    'parameters': {
        'properties': {
            'city': {'type': 'string'},
            'unit': {'type': 'string', 'enum': ['C', 'F']}
        },
        'required': ['city']
    }
}
print(tool_params)
print("Required fields:", tool_params['parameters']['required'])

Pydantic -> JSON Schema

Sie können Schemas automatisch aus Pydantic-Modellen generieren:

from pydantic import BaseModel, Field

class SearchArgs(BaseModel):
    email: str = Field(description='Customer email')
    limit: int = Field(50, description='Max orders to return')

schema = SearchArgs.model_json_schema()

Strict Mode (OpenAI Structured Outputs)

Das Hinzufügen von strict: true und additionalProperties: false garantiert, dass die Modellausgabe exakt dem Schema entspricht:

tools = [{
    'type': 'function',
    'function': {
        'name': 'get_weather',
        'strict': True,
        'parameters': {
            'type': 'object',
            'properties': {'city': {'type': 'string'}},
            'required': ['city'],
            'additionalProperties': False
        }
    }
}]
import json
print(json.dumps(tools, indent=2))

Bedeutung der Beschreibung

Warum ist die description eines Tools so wichtig?

Zusammenfassung

Schemas steuern das Modell. Gute Beschreibungen, Enums für geschlossene Mengen, required-Arrays und der Strict Mode sind Ihre Stellschrauben für Zuverlässigkeit.

Häufig gestellte Fragen

Ist die Lektion „Tool-Schemas definieren (JSON Schema)“ kostenlos?

Ja — der vollständige Text von „Tool-Schemas definieren (JSON Schema)“ 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 „Tool-Schemas definieren (JSON Schema)“?

Schreiben Sie JSON-Schema-Definitionen für Tool-Parameter mit Typen, Beschreibungen, Enums und Pflichtfeldern. 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 2 von 4.

Wie lange dauert die Lektion „Tool-Schemas definieren (JSON Schema)“?

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. So funktioniert Function Calling
  2. Tool-Schemas definieren (JSON Schema)
  3. Tools zur Laufzeit auswählen
  4. Ergebnisse an das Modell zurückgeben
← Zurück zu AI Agents