Introduction au Tool Use
Sur cette page
Nouvelle section, et un cap du cours : les outils permettent à Claude d’accéder à des informations du monde extérieur. Par défaut, Claude ne connaît que ce qu’il a appris à l’entraînement. Demandez-lui « Quel temps fait-il à Lyon ? » : il répondra qu’il n’a pas accès à la météo du jour. Les outils jettent un pont entre Claude et vos sources de données.
Le flux en quatre temps
- La demande initiale : vous envoyez la question de l’utilisateur, avec la description des outils disponibles.
- La demande d’outil : Claude analyse la question et demande les données externes dont il a besoin.
- La récupération : votre serveur exécute le code qui va chercher ces données.
- La réponse finale : Claude s’appuie sur les données reçues pour répondre.
L’étape 3 corrige l’intuition la plus répandue : Claude n’exécute rien lui-même. La documentation AWS le dit en toutes lettres : le modèle n’appelle pas l’outil. Il formule une demande structurée, quel outil et quels arguments, et c’est votre code qui agit avant de renvoyer le résultat. C’est la propriété de sécurité centrale du mécanisme : vous décidez quels outils existent, ce qu’ils acceptent et ce qu’ils refusent.
L’exemple de la météo
Quand un utilisateur demande la météo, votre requête décrit un outil qui la récupère. Claude reconnaît qu’il lui faut des données du jour et demande à votre serveur de les obtenir. Votre serveur appelle un service météo, puis renvoie les données à Claude, qui répond enfin : « 14 degrés et couvert à Lyon », au lieu d’un refus ou, pire, d’une température inventée.
Trois façons de faire sur Bedrock
La documentation AWS distingue trois modes d’utilisation des outils :
| Mode | Qui exécute l’outil | Où |
|---|---|---|
| Outils côté client | Votre code, quand le modèle demande un appel | API Converse, InvokeModel et autres : le mode de ce cours |
| Outils côté serveur | Bedrock lui-même, via une fonction Lambda ou une passerelle que vous enregistrez | API Responses de Bedrock |
| Outils définis par Anthropic | Votre code, pour des types d’outils prêts à l’emploi (édition de fichiers, terminal, ordinateur) | Format de l’API Messages d’Anthropic |
Cette section construit le premier mode avec l’API Converse, puis termine par un outil défini par Anthropic, l’éditeur de texte.
Pourquoi le code paraît déroutant
Le Tool Use déroute au début, non parce qu’il est difficile, mais parce que l’ordre d’écriture du code ne suit pas l’ordre d’exécution. En pratique, vous écrivez :
- la fonction de l’outil ;
- sa description en JSON Schema ;
- le traitement des blocs
toolUseettoolResult; - l’envoi de la description avec la requête.
On construit donc d’abord la fin de la chaîne, la fonction qui s’exécutera à l’étape 3, alors que tout commence par la requête initiale. C’est le programme des leçons suivantes, avec un projet fil rouge : un assistant capable de poser des rappels.
À vous de jouer
Vos trois outils. Pour une application de votre métier, listez trois questions auxquelles Claude ne peut pas répondre seul, faute de données à jour ou d’accès à vos systèmes. Pour chacune, décrivez l’outil qui manque : son nom, ses entrées, ce qu’il renvoie.
Sources officielles : Introducing tool use (Claude Academy) · Use a tool to complete an Amazon Bedrock model response (documentation AWS)
Points clés à retenir
- Les outils donnent à Claude l’accès au monde extérieur : données du jour, systèmes internes, actions.
- Quatre temps : la question et les outils, la demande d’outil, l’exécution par votre code, la réponse.
- Claude ne fait que demander ; votre code exécute, et vous gardez le contrôle.
- Sur Bedrock, ce cours utilise les outils côté client avec l’API Converse.
- L’ordre d’écriture du code (fonction, schéma, échanges) diffère de l’ordre d’exécution : c’est normal.