Wird geladen

Nachdem du deine Tool-Funktion geschrieben hast, besteht der nächste Schritt darin, ein JSON-Schema zu erstellen, das Claude mitteilt, welche Argumente deine Funktion erwartet und wie sie zu verwenden ist. Dieses Schema fungiert als Dokumentation, die Claude liest, um zu verstehen, wann und wie es deine Tools aufrufen soll.

JSON Schema verstehen

JSON Schema ist nicht spezifisch für KI oder Tool-Aufrufe - es ist eine weit verbreitete Datenvalidierungsspezifikation, die es schon seit Jahren gibt. Die KI-Community hat sie übernommen, weil sie eine praktische Möglichkeit bietet, Funktionsparameter zu beschreiben und Daten zu validieren.

Die vollständige Tool-Spezifikation besteht aus drei Hauptteilen:

  • name - Der Funktionsname (wie „get_weather")
  • description - Was das Tool tut und wann es verwendet werden soll
  • input_schema - Das eigentliche JSON-Schema, das die Argumente beschreibt

Effektive Beschreibungen schreiben

Das Feld description ist entscheidend, um Claude zu helfen, dein Tool zu verstehen. Befolge diese Best Practices:

  • Erkläre, was das Tool tut, wann es verwendet werden soll und was es zurückgibt
  • Strebe 3-4 Sätze an
  • Stelle auch detaillierte Beschreibungen für jedes Argument bereit

Der Abschnitt input_schema beschreibt die Parameter deiner Funktion im Standard-JSON-Schema-Format, einschließlich Typinformationen und detaillierter Beschreibungen für jedes Argument.

Der einfache Weg: Lass Claude dein Schema schreiben

Anstatt JSON-Schemas von Grund auf zu schreiben, kannst du Claude selbst verwenden, um sie zu generieren. Hier ist der Ablauf:

  1. Kopiere deine Tool-Funktion
  2. Gehe zu Claude und bitte es, ein JSON-Schema für Tool-Aufrufe zu schreiben
  3. Füge die Anthropic-Dokumentation zur Tool-Nutzung als Kontext hinzu
  4. Lass Claude ein korrekt formatiertes Schema generieren, das den Best Practices folgt

Der Prompt sollte etwa so aussehen: „Schreibe eine gültige JSON-Schema-Spezifikation für Zwecke des Tool-Aufrufs für diese Funktion. Befolge die Best Practices, die in der angehängten Dokumentation aufgeführt sind."

Das Schema im Code implementieren

Sobald Claude dein Schema generiert hat, kopiere es in deine Codedatei. Verwende ein einheitliches Benennungsmuster wie function_name_schema, um die Übersicht zu behalten:

python
get_current_datetime_schema = {
    "name": "get_current_datetime",
    "description": "Returns the current date and time formatted according to the specified format",
    "input_schema": {
        "type": "object",
        "properties": {
            "date_format": {
                "type": "string",
                "description": "A string specifying the format of the returned datetime. Uses Python's strftime format codes.",
                "default": "%Y-%m-%d %H:%M:%S"
            }
        },
        "required": []
    }
}

Typsicherheit hinzufügen

Für eine bessere Typprüfung importiere und verwende den Typ ToolParam aus der Anthropic-Bibliothek:

python
from anthropic.types import ToolParam

get_current_datetime_schema = ToolParam({
    # dein Schema-Wörterbuch hier
})

Dies ist für die Funktionalität nicht unbedingt erforderlich, verhindert aber Typfehler, wenn du das Schema später in deinem Code verwendest.

Die Kombination aus einer gut geschriebenen Tool-Funktion und einem detaillierten JSON-Schema gibt Claude alles, was es braucht, um deine Tools in Gesprächen zu verstehen und korrekt zu verwenden.