Introduction au Tool Use
Mis à jour le 29 juillet 2026
Objectifs
- Comprendre ce qu’est le Tool Use (utilisation d’outils)
- Identifier les cas d’usage pertinents
- Comprendre le processus global d’utilisation d’outils avec Claude
Qu’est-ce que le Tool Use ?
Le Tool Use, que la littérature technique appelle aussi function calling (appel de fonctions), consiste à étendre les capacités de Claude en lui décrivant des outils externes qu’il peut invoquer. Vous fournissez au modèle une liste d’outils prédéfinis ; il reste libre de les appeler à tout moment, dès qu’une tâche dépasse ce qu’il sait faire seul. Dit autrement, le Tool Use est un moyen d’augmenter les fonctionnalités de Claude sans toucher au modèle lui-même.
L’intérêt se mesure très vite sur des projets réels. Un modèle de langage, aussi bon soit-il, ne connaît pas l’état de votre stock ce matin, ne sait pas ce que contient votre base clients et ne peut pas envoyer un courriel. En lui donnant un outil qui interroge une API de cotation boursière, vous transformez une réponse approximative en une donnée fraîche et vérifiable. En lui donnant un outil qui écrit dans votre CRM, vous passez d’un assistant qui rédige un message à un assistant qui met réellement à jour un enregistrement. Les quatre grands bénéfices sont donc l’extension des capacités de calcul, l’intégration à vos systèmes existants, l’accès à des données en temps réel, et l’automatisation de workflows complets.
Les familles de cas d’usage se ramènent à quatre catégories, que voici avec une illustration pour chacune.
| Cas d’usage | Exemple |
|---|---|
| Récupération d’informations | Interroger une API météo, récupérer des cours de bourse |
| Calculs | Opérations mathématiques complexes, analyses statistiques |
| Manipulation de données | Formatage, extraction, conversion de données |
| Interaction avec des systèmes | Envoyer des emails, créer des tickets, mettre à jour une BDD |
Comment fonctionne le Tool Use ?
Retenez d’abord le point qui surprend le plus les développeurs qui découvrent le sujet : Claude n’exécute aucun code lui-même. Vous lui décrivez les outils disponibles, il choisit lequel utiliser et avec quelles valeurs de paramètres, puis il s’arrête et attend. C’est votre code qui exécute réellement l’outil et qui lui renvoie le résultat. Cette séparation stricte est ce qui rend le mécanisme sûr et auditable : rien ne part vers votre base de données sans passer par une fonction que vous avez écrite.
Le cycle complet se déroule en quatre étapes, précédées d’un travail préparatoire.
Étape 0 : Écrire la fonctionnalité de l’outil
Avant même de parler d’un outil à Claude, il faut que la fonction correspondante existe dans votre code. Prenons un outil de consultation du cours d’une action : la logique métier, l’appel à l’API boursière et le format de retour vous appartiennent entièrement.
def get_stock_price(company_name):
# Appel a une API boursière réelle
# Retourne le prix actuel de l'action
pass
Étape 1 : Fournir les outils et un prompt (requête API)
Vous décrivez ensuite l’outil à Claude avec trois éléments : son nom, sa description et son schéma d’entrée. Cette description est votre seul canal de communication avec le modèle sur le rôle de l’outil ; soignez-la, elle conditionne la qualité des décisions qui suivront. Le tout part dans la même requête que le prompt de l’utilisateur.
tools = [{
"name": "get_stock_price",
"description": "Recupere le prix actuel d'une action.",
"input_schema": {
"type": "object",
"properties": {
"company_name": {
"type": "string",
"description": "Le nom de l'entreprise"
}
},
"required": ["company_name"]
}
}]
Étape 2 : Claude demande à utiliser un outil (réponse API)
Claude analyse la demande et évalue si un outil l’aiderait. Si un utilisateur écrit « combien d’actions General Motors puis-je acheter avec 500 dollars ? », le modèle comprend qu’il lui manque le cours du jour et renvoie une requête d’utilisation d’outil, avec le nom de l’outil et les paramètres qu’il a déduits de la question.
{
"type": "tool_use",
"name": "get_stock_price",
"input": {"company_name": "General Motors"}
}
Étape 3 : Exécuter l’outil et renvoyer le résultat (requête API)
Votre code récupère le nom de l’outil et les paramètres, appelle la fonction, et prépare le retour à destination de Claude. C’est ici que vous gardez la main : vous pouvez valider les paramètres, refuser un appel, journaliser l’opération ou limiter la taille du résultat.
result = get_stock_price("General Motors")
# result = {"ticker": "GM", "price": 43.09, "currency": "USD"}
Étape 4 : Claude formule sa réponse finale (réponse API)
Le résultat repart vers Claude, qui l’intègre à son raisonnement et rédige la réponse destinée à l’utilisateur. Le calcul de conversion, lui, est fait à partir d’une donnée réelle et non d’une estimation.
Avec un prix actuel de 43,09$ par action, vous pouvez acheter environ 11 actions de General Motors avec vos 500$.
Savoir quand un outil est justifié
Avant de passer à l’implémentation, testez votre discernement sur ces quatre projets : lesquels justifient vraiment le recours au Tool Use ?
- (a) Un chatbot support qui récupère des infos de commande depuis une BDD
- (b) Un assistant de rédaction qui corrige la grammaire
- (c) Un conseiller financier qui fait des recommandations personnalisées basées sur des données en temps réel
- (d) Un chatbot voyage qui réserve des vols et hôtels
Voir la réponse
a, c et d sont de bons candidats pour le Tool Use. Le cas (b) ne nécessite pas d’outils externes car Claude peut corriger la grammaire avec ses capacités intégrées.