Jetzt sind wir beim letzten Schritt des Tool-Nutzungs-Workflows angelangt. Nachdem wir unsere Tools ausgeführt und die Ergebnisse erhalten haben, müssen wir alles an Claude zurücksenden, damit es eine vollständige Antwort an den Nutzer geben kann.

Der Prozess ist unkompliziert: Nimm alle Tool-Ergebnis-Teile, die wir erzeugt haben, packe sie in eine Nutzernachricht und sende den gesamten Gesprächsverlauf zusammen mit den ursprünglichen Tool-Schemas zurück an Claude.
Hinzufügen der Assistant-Nachricht
Zunächst müssen wir sicherstellen, dass unser Gesprächsverlauf vollständig ist. Nach Claudes erster Antwort mit der Tool-Nutzungsanfrage müssen wir diese Antwort mit add_assistant_message() zu unserem Nachrichtenverlauf hinzufügen.

Dies stellt sicher, dass wir den vollständigen Gesprächsablauf haben: Nutzerfrage → Assistant-Tool-Anfrage → Tool-Ergebnisse → finale Assistant-Antwort.
Ausführen von Tools und Erstellen von Tool-Ergebnissen
Die Funktion run_tools() verarbeitet alle Tool-Nutzungsanfragen aus Claudes Antwort und erstellt korrekt formatierte Tool-Ergebnis-Teile. Jedes Tool-Ergebnis enthält:
- Die Tool-Nutzungs-ID (passend zur ursprünglichen Anfrage)
- Die tatsächliche Ausgabe der Tool-Ausführung
- Einen Status, der Erfolg oder Fehler angibt

Die Funktion behandelt sowohl erfolgreiche Tool-Ausführungen als auch Fehler auf elegante Weise und verpackt alles in die korrekte JSON-Struktur, die Claude erwartet.
Hinzufügen von Tool-Ergebnissen zum Gespräch
Sobald wir unsere Tool-Ergebnisse haben, fügen wir sie mit add_user_message() zum Gespräch hinzu:
add_user_message(messages, run_tools(parts))Dies erstellt eine Nutzernachricht, die alle Tool-Ergebnis-Teile enthält. Das Gespräch hat nun den vollständigen Hin-und-Her-Austausch, den Claude benötigt, um eine finale Antwort zu geben.

Letzter Aufruf an Claude
Der letzte Schritt ist das Zurücksenden von allem an Claude. Dies erfordert zwei wichtige Elemente:
- Den vollständigen Nachrichtenverlauf (Nutzer → Assistant → Nutzer)
- Die ursprünglichen Tool-Schemas
text, parts = chat(messages, tools=[get_current_datetime_schema])Das Einbeziehen der Tool-Schemas ist entscheidend. Ohne sie wäre Claude bei den Tool-Referenzen im Gesprächsverlauf verwirrt und würde nicht verstehen, was get_current_datetime eigentlich tut.

Erfolg
Wenn alles korrekt funktioniert, erhält Claude die Tool-Ergebnisse und kann eine vollständige, fundierte Antwort geben. In unserem Beispiel hat Claude erfolgreich die aktuelle Uhrzeit abgerufen und sie in einer natürlichen Antwort formatiert: „Das aktuelle Datum und die Uhrzeit sind 2025-04-03, 12:54:00."
Dies zeigt, dass unsere Tool-Integration ordnungsgemäß funktioniert. Obwohl Claude das aktuelle Datum kennt, hat es keinen Zugriff auf Echtzeitinformationen wie die genaue aktuelle Uhrzeit – genau das, was unser Tool geliefert hat.
Der vollständige Tool-Nutzungszyklus funktioniert nun: Claude fordert ein Tool an, wir führen es aus, geben die Ergebnisse zurück, und Claude bezieht diese Informationen in seine finale Antwort an den Nutzer ein.