Nachdem Claude einen Tool-Aufruf angefordert hat, musst du die Funktion ausführen und die Ergebnisse zurücksenden. Dies vervollständigt den Tool-Nutzungs-Workflow, indem Claude die angeforderten Informationen bereitgestellt werden.
Ausführen der Tool-Funktion
Wenn Claude mit einem Tool-Nutzungsblock antwortet, extrahierst du die Eingabeparameter und rufst deine Funktion auf. So greifst du auf die Tool-Parameter zu:
# Auf den Tool-Nutzung-Block zugreifen
tool_use_block = response.content[1]
# Die Eingabeparameter abrufen
input_params = tool_use_block.input
# Rufe deine Funktion mit den Parametern auf
result = get_current_datetime(**input_params)Das doppelte Sternchen (**) entpackt das Dictionary in Schlüsselwortargumente, die deine Funktion erwartet.
Tool-Ergebnisblock
Nachdem du das Tool ausgeführt hast, sendest du die Ergebnisse mithilfe eines Tool-Ergebnisblocks an Claude zurück. Dieser Block hat mehrere wichtige Eigenschaften:

- tool_use_id - Muss mit der ID aus dem ursprünglichen Tool-Nutzungsblock übereinstimmen
- content - Die Ausgabe deiner Tool-Funktion, in einen String umgewandelt
- is_error - Auf true gesetzt, wenn während der Ausführung ein Fehler aufgetreten ist
Umgang mit mehreren Tool-Aufrufen
Claude kann in einer einzigen Antwort mehrere Tool-Aufrufe anfordern. Wenn ein Nutzer beispielsweise fragt „Was ist 10 + 10 und was ist 30 + 30?", könnte Claude zwei separate Tool-Nutzungsblöcke senden:

Jeder Tool-Nutzungsblock erhält eine eindeutige ID, und du musst diese IDs beim Zurücksenden der Ergebnisse abgleichen:

Dieses ID-System stellt sicher, dass Claude jedes Ergebnis korrekt mit der entsprechenden Anfrage abgleichen kann, selbst wenn die Ergebnisse in einer anderen Reihenfolge eintreffen.
Senden der Folgeanfrage
Deine Folgeanfrage an Claude muss den vollständigen Gesprächsverlauf sowie das neue Tool-Ergebnis enthalten:
messages.append({
"role": "user",
"content": [{
"type": "tool_result",
"tool_use_id": response.content[1].id,
"content": result,
"is_error": False
}]
})Der Gesprächsablauf sieht folgendermaßen aus:

Denke daran, das Tool-Schema in deine Folgeanfrage einzubeziehen, auch wenn Claude wahrscheinlich keine Tools erneut aufrufen muss. Claude benötigt das Schema, um die Tool-Referenzen im Gesprächsverlauf zu verstehen.
Vollständiger Workflow
Hier ist der gesamte Prozess:
- Der Nutzer stellt eine Frage, die Tool-Nutzung erfordert
- Claude antwortet mit einem Tool-Nutzungsblock
- Du führst die angeforderte Tool-Funktion aus
- Du sendest eine Folgeanfrage mit dem Tool-Ergebnis
- Claude liefert eine endgültige Antwort unter Verwendung der Tool-Ausgabe
Die endgültige Anfrage enthält deinen vollständigen Nachrichtenverlauf, den Tool-Ergebnisblock und das Tool-Schema. Claude antwortet dann mit einer regulären Textnachricht, die die Informationen aus deiner Tool-Ausführung einbezieht.