Renvoyer les resultats d'outils
Derniere etape du workflow Tool Use : apres avoir execute les outils et obtenu les resultats, il faut tout renvoyer a Claude pour qu’il puisse fournir une reponse complete a l’utilisateur.
Ajouter le message assistant
Assurez-vous que l’historique de conversation est complet. Apres la reponse initiale de Claude contenant la demande d’outil, ajoutez cette reponse a l’historique avec add_assistant_message().
Le flux complet : question utilisateur, demande d’outil de l’assistant, resultats d’outils, reponse finale de l’assistant.
Creer les resultats d’outils
La fonction run_tools() traite toutes les demandes d’outils et cree des parties ToolResult correctement formatees. Chaque resultat inclut :
- L’ID d’utilisation de l’outil (correspondant a la demande originale)
- La sortie reelle de l’execution de l’outil
- Un statut indiquant succes ou erreur
Ajouter les resultats a la conversation
Les resultats d’outils sont ajoutes comme message utilisateur :
add_user_message(messages, run_tools(parts))
La conversation contient maintenant l’aller-retour complet necessaire a Claude pour fournir sa reponse finale.
Appel final a Claude
La derniere etape necessite deux elements essentiels :
- L’historique complet des messages (utilisateur, assistant, utilisateur)
- Les schemas d’outils originaux
text, parts = chat(messages, tools=[get_current_datetime_schema])
Inclure les schemas d’outils est crucial. Sans eux, Claude serait perdu face aux references d’outils dans l’historique de conversation.
Resultat
Quand tout fonctionne correctement, Claude recoit les resultats d’outils et fournit une reponse complete et informee. Par exemple : “La date et l’heure actuelles sont 2025-04-03, 12:54:00.”
Le cycle complet du Tool Use est operationnel : Claude demande un outil, vous l’executez, renvoyez les resultats, et Claude integre ces informations dans sa reponse finale a l’utilisateur.