Aller au contenu principal
Leçon 1 sur 16 · L'utilisation d'outils (tool use) avec la Messages API

Introduction au Tool Use

Leçon 1 sur 16 Mis à jour le 5 novembre 2026 Développeur
Sur cette page
  1. Objectifs
  2. Qu’est-ce que le Tool Use ?
  3. Comment fonctionne le Tool Use ?
  4. Savoir quand un outil est justifié
  5. À vous de jouer
  6. Points clés à retenir

À propos de ce cours — Ce cours mène du premier outil à une boucle d’outils fiable, rapide et économique. Les leçons 1 à 6, les bases, sont adaptées du tutoriel Tool use d’Anthropic (dépôt GitHub anthropics/courses, aujourd’hui archivé, publié sous licence CC BY-NC 4.0) et mises à jour pour les modèles actuels. Les leçons 7 à 16 suivent le programme du cours officiel « Tool use with the Messages API » de Claude Academy ; leur contenu, rédigé en français par Corsen, s’appuie sur la documentation officielle de l’API Claude citée à chaque leçon. Les exemples sont en Python.

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’usageExemple
Récupération d’informationsInterroger une API météo, récupérer des cours de bourse
CalculsOpérations mathématiques complexes, analyses statistiques
Manipulation de donnéesFormatage, extraction, conversion de données
Interaction avec des systèmesEnvoyer 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.

La documentation range les outils en trois familles, selon l’endroit où leur code s’exécute. Les outils que vous définissez, les plus courants, sont exécutés par votre code. Les outils dont Anthropic publie le schéma, comme l’éditeur de texte, bash ou la mémoire, le sont aussi. Les outils serveur, comme la recherche web, la lecture de pages web ou l’exécution de code, sont exécutés par Anthropic : vous les activez, puis vous lisez le résultat. Ce cours porte surtout sur la première famille ; les leçons 11 à 13 présentent les deux autres.

Le cycle complet se déroule en quatre étapes, précédées d’un travail préparatoire.

Le cycle d'un appel d'outil Cinq étapes : écrire la fonction, envoyer la requête avec les outils, Claude répond par un bloc tool_use, votre code exécute l'outil et renvoie un tool_result, Claude rédige la réponse finale avec la donnée. TOOL USE Le cycle d'un appel d'outil 0 Fonction votre code métier 1 Requête outils et question 2 tool_use Claude demande l'outil 3 Exécution votre code renvoie un tool_result 4 Réponse Claude rédige avec la donnée Claude n'exécute rien : il demande, votre code exécute. Seuls les outils serveur sont exécutés par Anthropic.
D'après le notebook « Tool use overview » (tutoriel Tool use d'Anthropic) et la page How tool use works (documentation Claude).

É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 à 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. La documentation la présente comme le facteur de loin le plus important de la performance d’un outil, et conseille au moins trois ou quatre phrases : ce que fait l’outil, quand l’utiliser ou non, ce que signifie chaque paramètre, ses limites. Le tout part dans la même requête que le prompt de l’utilisateur.

tools = [{
    "name": "get_stock_price",
    "description": (
        "Récupère le dernier cours connu de l'action d'une entreprise cotée. "
        "À utiliser dès que la question porte sur le prix actuel d'une action. "
        "Renvoie le symbole boursier, le prix et la devise ; ne donne ni historique ni prévision."
    ),
    "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.

À vous de jouer

Votre premier contrat d’outil. Choisissez une fonction de votre métier, par exemple consulter un stock ou retrouver un client. Écrivez sa définition complète : un nom explicite, une description de trois ou quatre phrases, et un schéma d’entrée avec une description par paramètre. Notez ensuite deux questions d’utilisateur qui devraient déclencher l’outil, et une qui ne le devrait pas.

Sources officielles : How tool use works (documentation Claude : le contrat, les trois familles d’outils, la boucle) · Define tools (documentation Claude : rédiger les descriptions) · Tool use overview (notebook d’origine)

Points clés à retenir

  • Le tool use étend les capacités de Claude sans toucher au modèle : données fraîches, calculs exacts, actions dans vos systèmes
  • Claude n’exécute rien lui-même : il demande un outil, votre code l’exécute et lui renvoie le résultat (les outils serveur, eux, sont exécutés par Anthropic)
  • La description de l’outil est le premier facteur de sa bonne utilisation : trois ou quatre phrases au moins
  • Un outil se justifie quand la tâche dépasse ce que le modèle sait faire seul

Crédits et licence — Adaptation française du notebook « 01_tool_use_overview » du tutoriel Tool use d’Anthropic (dépôt GitHub anthropics/courses), publié sous licence CC BY-NC 4.0 ; adaptation remaniée et mise à jour par Corsen.