P

Tool Calling : Définition et Exemples

Le Tool Calling (ou appel d'outils) est la capacité d'un modèle de langage à identifier quand il doit utiliser un outil externe et à générer les paramètres structurés nécessaires pour l'invoquer, lui permettant ainsi d'agir sur le monde réel au-delà de la simple génération de texte.

Définition complète

Le Tool Calling est un mécanisme par lequel un grand modèle de langage (LLM) peut interagir avec des outils externes — API, bases de données, calculatrices, moteurs de recherche ou toute autre fonction logicielle. Plutôt que de se limiter à produire du texte, le modèle analyse la requête de l'utilisateur, détermine qu'un outil est nécessaire, puis génère un appel structuré (généralement en JSON) contenant le nom de la fonction et ses arguments.

Concrètement, le développeur définit un ensemble d'outils disponibles en décrivant leur nom, leur finalité et leurs paramètres attendus. Lorsque le modèle reçoit une requête, il décide de manière autonome s'il doit appeler un ou plusieurs de ces outils. Le système exécute ensuite l'appel, récupère le résultat, et le renvoie au modèle qui l'intègre dans sa réponse finale à l'utilisateur.

Ce paradigme transforme les LLM en véritables agents capables d'actions concrètes : consulter la météo en temps réel, effectuer un calcul précis, interroger une base de données, envoyer un email ou réserver un vol. Le Tool Calling est la brique fondamentale qui permet de passer d'un chatbot passif à un assistant intelligent et connecté.

Le Tool Calling se distingue du simple "plugin" par sa flexibilité : le modèle choisit dynamiquement quels outils utiliser, dans quel ordre, et avec quels paramètres, en fonction du contexte de la conversation. Il peut aussi enchaîner plusieurs appels d'outils (chaînage) ou en exécuter plusieurs en parallèle pour répondre à des requêtes complexes.

Étymologie

Le terme "Tool Calling" (littéralement "appel d'outil") est issu du vocabulaire de la programmation où un "function call" désigne l'invocation d'une fonction. OpenAI a popularisé le concept sous le nom de "Function Calling" en juin 2023, avant que l'industrie ne converge vers le terme plus générique "Tool Use" ou "Tool Calling" pour refléter la diversité des outils au-delà des simples fonctions.

Exemples concrets

Assistant de voyage avec accès à une API de réservation

Trouve-moi un vol Paris-Tokyo pour le 15 avril, en classe économique, et réserve le moins cher.

Agent de support client connecté à un CRM

Quel est le statut de la commande #45892 ? Si elle est en retard, envoie un email d'excuse au client avec un code promo de 10%.

Assistant de productivité avec accès au calendrier et à la messagerie

Vérifie mon agenda de demain et envoie un message Slack à l'équipe pour confirmer la réunion de 14h.

Usage pratique

En prompt engineering, le Tool Calling s'exploite en définissant des descriptions d'outils claires et précises dans le schéma fourni au modèle : plus la description est explicite sur quand et comment utiliser l'outil, plus le modèle fera des appels pertinents. Il est recommandé de nommer les fonctions de manière intuitive, de typer strictement les paramètres et de fournir des exemples dans les descriptions. Côté prompt système, on peut guider le modèle en précisant ses priorités d'utilisation des outils et les cas où il doit demander confirmation avant d'agir.

Concepts liés

Function CallingAgents IAAPIRAG (Retrieval-Augmented Generation)MCP (Model Context Protocol)Chaînage d'outilsJSON Schema

FAQ

Quelle est la différence entre Tool Calling et Function Calling ?
Les deux termes sont largement synonymes. "Function Calling" a été le premier nom utilisé par OpenAI, tandis que "Tool Calling" ou "Tool Use" est devenu le terme standard de l'industrie, adopté notamment par Anthropic et Google. "Tool Calling" est plus englobant car il couvre des outils qui ne sont pas de simples fonctions, comme des recherches web ou des interactions avec des bases de données.
Le modèle exécute-t-il réellement les outils lui-même ?
Non. Le modèle génère uniquement l'intention d'appel sous forme structurée (nom de l'outil et paramètres). C'est le système hôte (votre application) qui exécute réellement l'outil, récupère le résultat et le renvoie au modèle. Cette séparation garantit que vous gardez le contrôle total sur les actions effectuées.
Comment améliorer la fiabilité du Tool Calling ?
Trois leviers principaux : (1) rédigez des descriptions d'outils très explicites indiquant clairement quand les utiliser et quand ne pas les utiliser, (2) utilisez des schémas JSON stricts avec des types, des enums et des descriptions pour chaque paramètre, et (3) limitez le nombre d'outils disponibles simultanément pour réduire la confusion du modèle — idéalement moins de 20 outils actifs à la fois.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.