P

Tool Use : Définition et Exemples

Le Tool Use (ou function calling) est la capacité d'un modèle de langage à interagir avec des outils externes — APIs, bases de données, calculatrices, navigateurs — pour accomplir des tâches qui dépassent la simple génération de texte.

Définition complète

Le Tool Use désigne le mécanisme par lequel un grand modèle de langage (LLM) peut appeler des fonctions ou des services externes pendant une conversation. Au lieu de se limiter à produire du texte, le modèle identifie qu'une action spécifique est nécessaire, formule un appel structuré (généralement en JSON) vers l'outil approprié, puis intègre le résultat dans sa réponse.

Concrètement, le développeur définit un ensemble d'outils disponibles avec leurs paramètres (nom, description, schéma JSON). Quand l'utilisateur pose une question, le modèle décide s'il doit utiliser un outil, lequel choisir, et quels arguments passer. L'application exécute ensuite l'appel et renvoie le résultat au modèle, qui l'interprète pour formuler une réponse naturelle.

Cette approche résout plusieurs limitations fondamentales des LLMs : l'absence de données en temps réel, l'incapacité à effectuer des calculs fiables, et l'impossibilité d'agir sur des systèmes externes. Grâce au Tool Use, un assistant peut consulter la météo, réserver un vol, interroger une base de données ou exécuter du code — tout en maintenant une conversation fluide.

Le Tool Use est au cœur de la transition des chatbots vers les agents IA. C'est ce qui permet à un modèle de passer de « je peux en parler » à « je peux le faire ». Les principaux fournisseurs (Anthropic, OpenAI, Google) proposent tous des implémentations natives de cette fonctionnalité, avec des variations dans la syntaxe mais un principe identique.

Étymologie

Le terme « Tool Use » est emprunté aux sciences cognitives et à la primatologie, où il désigne la capacité d'un organisme à utiliser un objet externe pour atteindre un objectif. Appliqué à l'IA, il a été popularisé en 2023-2024 avec l'essor des APIs de function calling. Anthropic utilise le terme « Tool Use », tandis qu'OpenAI a initialement préféré « Function Calling » avant de converger vers une terminologie similaire.

Exemples concrets

Recherche d'informations en temps réel

Quel temps fait-il à Paris aujourd'hui ? (Le modèle appelle un outil météo avec {"location": "Paris, FR"} et intègre les données actuelles dans sa réponse)

Calculs complexes et fiables

Calcule le remboursement mensuel d'un prêt de 250 000€ sur 20 ans à 3,5%. (Le modèle appelle une fonction calculator plutôt que de tenter un calcul mental approximatif)

Interaction avec une base de données métier

Combien de commandes ont été passées cette semaine par des clients premium ? (Le modèle génère une requête SQL via un outil query_database et présente les résultats)

Usage pratique

Pour exploiter le Tool Use en prompt engineering, décrivez chaque outil avec une description claire et des paramètres bien typés — la qualité des descriptions influence directement la capacité du modèle à choisir le bon outil. Utilisez des noms explicites (get_weather plutôt que tool_1) et fournissez des exemples de valeurs dans les descriptions de paramètres. Pensez à gérer les cas d'erreur : indiquez au modèle comment réagir si un outil échoue ou retourne un résultat inattendu.

Concepts liés

Function CallingAgent IAAPIRAG (Retrieval-Augmented Generation)MCP (Model Context Protocol)JSON SchemaOrchestration

FAQ

Quelle est la différence entre Tool Use et Function Calling ?
Ce sont essentiellement des synonymes. « Function Calling » est le terme historiquement utilisé par OpenAI, tandis qu'Anthropic et d'autres préfèrent « Tool Use ». Le concept est identique : permettre au modèle d'appeler des fonctions externes de manière structurée. La tendance actuelle converge vers « Tool Use » comme terme générique.
Le modèle exécute-t-il directement les outils ?
Non. Le modèle ne fait que générer une requête structurée (un JSON décrivant l'outil à appeler et ses paramètres). C'est l'application côté développeur qui exécute réellement l'appel, puis renvoie le résultat au modèle. Cette séparation est essentielle pour la sécurité : le développeur garde le contrôle total sur ce qui est exécuté.
Combien d'outils peut-on fournir à un modèle en même temps ?
Les modèles récents comme Claude supportent des dizaines d'outils simultanément. Cependant, plus le nombre d'outils est élevé, plus le modèle doit traiter de contexte pour choisir le bon, ce qui peut affecter la précision et la latence. En pratique, il est recommandé de fournir uniquement les outils pertinents pour le cas d'usage, et de regrouper les outils par catégorie avec des descriptions précises.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.