Aller au contenu principal

Introduction au Tool Use

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, aussi appele function calling (appel de fonctions), permet d’etendre les capacites de Claude en definissant des outils externes qu’il peut invoquer. On fournit a Claude une liste d’outils predefinies, et il peut decider de les appeler a tout moment pour accomplir des taches qu’il ne pourrait pas realiser seul.

En resume : le Tool Use est un moyen d’augmenter les fonctionnalites de Claude.

Pourquoi c’est important ?

  • Etendre les capacites de Claude : definir des outils qui effectuent des calculs, interrogent des bases de donnees, ou appellent des API externes
  • Integrer vos systemes existants : connecter Claude a vos bases de donnees, API ou services web
  • Maintenir des donnees en temps reel : acceder a des informations a jour (cours de bourse, meteo, inventaires)
  • Automatiser des workflows : orchestrer des actions comme envoyer des emails, mettre a jour des enregistrements, ou traiter des commandes

Cas d’usage courants

Cas d’usageExemple
Recuperation d’informationsInterroger une API meteo, recuperer des cours de bourse
CalculsOperations mathematiques complexes, analyses statistiques
Manipulation de donneesFormatage, extraction, conversion de donnees
Interaction avec des systemesEnvoyer des emails, creer des tickets, mettre a jour une BDD

Comment fonctionne le Tool Use ?

Le point essentiel a comprendre : Claude n’execute aucun code lui-meme. On lui decrit les outils disponibles, il choisit lequel utiliser et avec quels parametres, et c’est notre code qui execute reellement l’outil.

Le processus se deroule en 4 etapes :

Etape 0 : Ecrire la fonctionnalite de l’outil

Avant de parler a Claude d’un outil, il faut d’abord ecrire la fonction correspondante. Par exemple, pour un outil get_stock_price :

def get_stock_price(company_name):
    # Appel a une API boursiere reelle
    # Retourne le prix actuel de l'action
    pass

Etape 1 : Fournir les outils et un prompt (requete API)

On definit l’outil avec son nom, sa description et son schema d’entree, puis on l’envoie a Claude avec 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"]
    }
}]

Etape 2 : Claude demande a utiliser un outil (reponse API)

Claude analyse le prompt et decide si un outil serait utile. Si oui, il repond avec une requete d’utilisation d’outil contenant le nom de l’outil et les parametres :

{
    "type": "tool_use",
    "name": "get_stock_price",
    "input": {"company_name": "General Motors"}
}

Etape 3 : Executer l’outil et renvoyer le resultat (requete API)

On extrait le nom de l’outil et les parametres, on execute la fonction, puis on renvoie le resultat a Claude :

result = get_stock_price("General Motors")
# result = {"ticker": "GM", "price": 43.09, "currency": "USD"}

Etape 4 : Claude formule sa reponse finale (reponse API)

Claude utilise le resultat de l’outil pour repondre :

Avec un prix actuel de 43,09$ par action, vous pouvez acheter environ 11 actions de General Motors avec vos 500$.

Quiz

Quels cas d’usage sont adaptes au Tool Use ?

  • (a) Un chatbot support qui recupere des infos de commande depuis une BDD
  • (b) Un assistant de redaction qui corrige la grammaire
  • (c) Un conseiller financier qui fait des recommandations personnalisees basees sur des donnees en temps reel
  • (d) Un chatbot voyage qui reserve des vols et hotels
Voir la reponse

a, c et d sont de bons candidats pour le Tool Use. Le cas (b) ne necessite pas d’outils externes car Claude peut corriger la grammaire avec ses capacites integrees.