Introduction au tool use
Le concept
Le tool use (utilisation d’outils) permet d’etendre les capacites de Claude en lui donnant acces a des fonctions externes. Claude ne peut pas executer de code directement — il demande a votre application d’executer une fonction, puis utilise le resultat.
Flux de travail
- Definir les outils : decrivez les outils disponibles avec leur nom, description et schema d’entree
- Envoyer une requete : Claude recoit le prompt et la liste des outils
- Claude demande un outil : si necessaire, Claude genere une requete d’outil (avec
stop_reason: "tool_use") - Executer l’outil : votre code extrait les parametres et execute la fonction
- Retourner le resultat : envoyez le resultat a Claude dans un message
tool_result - Reponse finale : Claude utilise le resultat pour formuler sa reponse
Definition d’un outil
Chaque outil est defini par :
name: nom de l’outildescription: description detaillee de son usageinput_schema: schema JSON des parametres attendus
tools = [
{
"name": "calculatrice",
"description": "Effectue des operations mathematiques simples.",
"input_schema": {
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": ["addition", "soustraction", "multiplication", "division"],
"description": "L'operation a effectuer"
},
"operande1": {"type": "number", "description": "Premier nombre"},
"operande2": {"type": "number", "description": "Second nombre"}
},
"required": ["operation", "operande1", "operande2"]
}
}
]
Exemple d’appel
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=500,
tools=tools,
messages=[
{"role": "user", "content": "Combien font 1984135 multiplie par 9343116 ?"}
]
)
Si response.stop_reason == "tool_use", Claude veut utiliser un outil. Extrayez les parametres, executez la fonction, et renvoyez le resultat.
Quand utiliser le tool use
- Calculs mathematiques precis
- Acces a des donnees en temps reel (meteo, cours boursiers)
- Interaction avec des bases de donnees ou APIs
- Toute operation que Claude ne peut pas faire seul
Le tool use est couvert en detail dans un cours dedie plus avance.