Wenn du KI-Anwendungen mit Claude entwickelst, musst du ihm oft Zugriff auf Echtzeitinformationen oder die Fähigkeit geben, Aktionen auszuführen. Hier kommen Tool-Funktionen ins Spiel - das sind Python-Funktionen, die Claude aufrufen kann, wenn es zusätzliche Daten benötigt, um Nutzern zu helfen.

Das obige Bild zeigt drei wesentliche Tools, die wir implementieren werden: das Abrufen des aktuellen Datums/der Uhrzeit, das Hinzufügen einer Dauer zu Daten und das Einstellen von Erinnerungen. Beginnen wir mit dem ersten.
Was sind Tool-Funktionen?
Eine Tool-Funktion ist eine einfache Python-Funktion, die automatisch ausgeführt wird, wenn Claude feststellt, dass es zusätzliche Informationen benötigt, um eine Aufgabe zu erledigen. Wenn ein Nutzer beispielsweise fragt „Wie viel Uhr ist es?", würde Claude dein Datum/Uhrzeit-Tool aufrufen, um die aktuelle Zeit zu erhalten.

Hier ist ein Beispiel für eine Wetter-Tool-Funktion. Beachte, wie sie Eingaben validiert und klare Fehlermeldungen liefert - das sind wichtige Best Practices, die wir befolgen werden.
Best Practices für Tool-Funktionen
Beim Schreiben von Tool-Funktionen solltest du diese Richtlinien beachten:
- Verwende beschreibende Namen: Sowohl dein Funktionsname als auch die Parameternamen sollten ihren Zweck klar erkennen lassen
- Validiere Eingaben: Überprüfe immer, dass erforderliche Parameter vorhanden und gültig sind
- Liefere aussagekräftige Fehlermeldungen: Wenn Claude einen Fehler erhält, könnte es versuchen, deine Funktion erneut mit korrigierten Parametern aufzurufen
Die Fehlerbehandlung ist besonders wichtig, weil Claude aus Fehlern lernen kann. Wenn du eine klare Fehlermeldung wie „Standort darf nicht leer sein" zurückgibst, könnte Claude den Funktionsaufruf mit einem korrekten Standortwert erneut versuchen.
Erstellen deiner ersten Tool-Funktion
Lass uns eine Funktion erstellen, um das aktuelle Datum und die Uhrzeit abzurufen. Diese Funktion akzeptiert einen Formatstring, um zu steuern, wie das Datum angezeigt wird:
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
if not date_format:
raise ValueError("date_format cannot be empty")
return datetime.now().strftime(date_format)Der Standard-Formatstring "%Y-%m-%d %H:%M:%S" erzeugt eine Ausgabe wie „2024-03-15 14:30:45". Du kannst dies anpassen, indem du unterschiedliche Formatstrings übergibst:
# Nur die Uhrzeit abrufen
get_current_datetime("%H:%M") # Returns "14:30"
# Ein anderes Datumsformat abrufen
get_current_datetime("%B %d, %Y") # Returns "March 15, 2024"Eingabevalidierung
Die Validierungsprüfung if not date_format: stellt sicher, dass wir nicht versuchen, ein Datum mit einem leeren String zu formatieren. Obwohl Claude diesen Fehler selten macht, helfen klare Fehlermeldungen der KI zu verstehen, was schiefgelaufen ist und wie es behoben werden kann.
Wenn Claude auf einen Fehler stößt, sieht es die genaue Fehlermeldung. Diese Feedback-Schleife ermöglicht es Claude, seinen Ansatz anzupassen und es mit korrigierten Parametern erneut zu versuchen.
Nächste Schritte
Diese Tool-Funktion ist nur der erste Schritt. Als Nächstes musst du ein JSON-Schema erstellen, das diese Funktion für Claude beschreibt, und sie dann in dein Chat-System integrieren. Die Funktion selbst ist unkompliziertes Python - die Komplexität liegt in der korrekten Anbindung an Claudes Tool-Aufruf-System.