Appel d’outils
L’appel d’outils est la capacité qui permet à un grand modèle de langage (LLM) d’utiliser des outils externes comme des API, des fonctions, des bases de données ou des services. En produisant une requête structurée pour invoquer un outil, une application ou le fournisseur du modèle peut alors exécuter une tâche et renvoyer un résultat au modèle. C’est ainsi qu’un modèle dépasse la simple génération de texte pour aller récupérer des données en temps réel et effectuer des actions.
L’appel d’outils, l’appel de fonctions et l’« utilisation d’outils » désignent le même mécanisme fondamental, mais « appel d’outils » est le terme le plus large et le plus actuel, couvrant non seulement les fonctions définies par le développeur, mais aussi les outils intégrés et connectés en externe.
En résumé : l’appel d’outils permet à un modèle d’invoquer des outils externes en émettant des appels structurés, c’est le terme générique qui englobe aussi bien l’appel de fonctions que les outils intégrés et les outils connectés.
Comment fonctionne l’appel d’outils
L’application et le modèle se transmettent le contrôle à tour de rôle, l’exécution ayant toujours lieu en dehors du modèle :
- Exposer les outils : l’application fournit au modèle un ensemble d’outils, chacun doté d’un nom, d’une description et d’un schéma d’entrée (généralement un schéma JSON décrivant les paramètres acceptés par l’outil).
- Décider : en fonction de la requête, le modèle choisit d’appeler ou non un outil et lequel, en émettant un appel structuré avec des arguments.
- Exécuter : l’appel est exécuté, soit par l’application (un outil client), soit par le fournisseur (un outil serveur intégré), et un résultat est produit.
- Renvoyer et poursuivre : le résultat est transmis au modèle, qui l’utilise pour répondre ou pour effectuer un autre appel d’outil. Ce cycle se répète jusqu’à ce que le modèle produise une réponse finale.
Le point essentiel est que le modèle n’exécute jamais rien lui-même. Il propose un appel structuré, et l’exécution a toujours lieu en dehors du modèle, laissant les effets de bord et le contrôle à l’application ou au fournisseur.
Appel d’outils vs appel de fonctions et MCP
- L’appel de fonctions est le terme d’origine, plus restreint, qui met l’accent sur les fonctions définies par le développeur ; l’appel d’outils est le terme générique plus large qui inclut également les outils hébergés par le fournisseur et les services connectés. En pratique, ces termes sont souvent employés de façon interchangeable.
- Les outils clients sont des outils que votre application exécute, comme vos propres fonctions et API ; les outils intégrés (serveur) sont ceux que le fournisseur exécute pour vous, comme la recherche sur le Web ou l’exécution de code.
- Le Model Context Protocol (MCP) est une norme permettant de connecter des outils aux modèles afin qu’un même outil puisse être appelé par de nombreux modèles sans connexions codées sur mesure ; l’appel d’outils est l’action, et le MCP est l’une des façons d’exposer les outils.
Où l’appel d’outils est utilisé
- Données et actions en temps réel : donner à un modèle la capacité de rechercher des informations ou d’effectuer des actions qu’il ne peut pas réaliser de mémoire, comme interroger une base de données, envoyer un message ou exécuter du code.
- Agents : les systèmes agentiques reposent sur l’appel d’outils, enchaînant de nombreux appels pour accomplir des tâches en plusieurs étapes.
- Ancrage et RAG : un outil de recherche récupère des sources récentes qui deviennent le contexte du modèle, alimentant la RAG et contribuant à réduire les affirmations non étayées. L’ancrage seul n’élimine pas complètement les hallucinations.
- Une API de recherche comme outil : l’un des outils les plus courants est la recherche sur le Web. Un développeur peut définir un outil « web_search » dont l’implémentation appelle une API de recherche, ou en connecter un via un serveur MCP tel que le serveur MCP du moteur de recherche Brave, et le modèle peut intégrer dans ses réponses des résultats en temps réel et citables.
L’appel d’outils est le pont entre le raisonnement d’un modèle et le monde extérieur, et une API de recherche est souvent le premier outil qu’il vaut la peine de fournir à un modèle.
Termes associés
Appel de fonctions, utilisation d’outils, Model Context Protocol (MCP), recherche agentique, génération augmentée par récupération (RAG), sortie structurée, grand modèle de langage (LLM), API, API de recherche.