Qu'est-ce que l'utilisation d'outils (Function Calling) ?
L'utilisation d'outils, également appelée appel de fonction (function calling), permet à un modèle de langage d'invoquer des fonctions externes, des API ou du code pour récupérer des informations ou entreprendre des actions dans le monde réel. Le modèle décide quel outil appeler et avec quels arguments ; l'application exécute l'outil et renvoie le résultat, que le modèle utilise pour continuer. L'utilisation d'outils est la passerelle qui transforme un générateur de texte en un agent capable d'agir concrètement.
Définition
L'utilisation d'outils (function calling) est la capacité qui permet à un modèle de langage d'appeler des fonctions ou des API externes prédéfinies, avec des arguments qu'il génère, et d'intégrer les résultats dans sa réponse ou son étape suivante.
Points clés
- L'utilisation d'outils connecte un modèle à des données en direct et à des actions réelles.
- Le modèle choisit l'outil et les arguments ; l'application l'exécute.
- Des outils clairs et bien décrits améliorent considérablement la fiabilité.
- C'est le mécanisme central derrière les agents et le protocole MCP.
- L'accès aux outils élargit à la fois les capacités et la surface de sécurité.
Contexte
Seul, un modèle ne produit que du texte. L'utilisation d'outils brise cette frontière : face à un ensemble d'outils déclarés, le modèle peut choisir d'en appeler un — par exemple une recherche, une requête de base de données ou une API de paiement — puis de raisonner sur le résultat.
La manière dont les outils sont décrits importe tout autant que le modèle. Les outils écrits pour être utilisés par un modèle — noms clairs, paramètres précis, descriptions utiles et messages d'erreur — sont au cœur des préoccupations de Harness Engineering.
Architecture
La boucle : l'application déclare les outils (nom, description, schéma des paramètres) ; le modèle émet un appel d'outil structuré ; l'application le valide et l'exécute ; le résultat est renvoyé au modèle sous forme d'observation ; le modèle continue ou répond.
Le protocole MCP standardise la manière dont les outils sont exposés et découverts à travers les applications, de sorte qu'un outil écrit une fois puisse être réutilisé par n'importe quel client conforme. Des garde-fous (guardrails) et des permissions encadrent l'exécution pour garantir sa sécurité.
Composants
Avantages
- Ancre les réponses dans des données réelles et en direct.
- Permet aux modèles d'entreprendre des actions réelles, et pas seulement de les décrire.
- Étend un modèle sans réentraînement.
- S'intègre dans des flux de travail (workflows) agentiques complets.
Risques
- L'injection de requêtes (prompt injection) peut déclencher des appels d'outils involontaires.
- Des arguments erronés ou une mauvaise utilisation des outils provoquent des erreurs dans le monde réel.
- Un accès trop large aux outils élargit la surface d'attaque.
- La latence et le coût augmentent à chaque aller-retour d'outil.
Outils et technologies
Exemples
- Un modèle appelant une API météo pour répondre à une question sur les prévisions.
- Un agent interrogeant une base de données pour rechercher une commande avant d'agir.
- Un agent de codage invoquant un exécuteur de tests et lisant les résultats.
- En pratique : un agent autonome OpenClaw a émis 800 appels d'outils sur 10 outils distincts en 57 jours — exec (481), web_search (190), write (48), web_fetch (22), read (21) et autres — avec une moyenne de 5,97 appels d'outils par session. Un déploiement local-first à opérateur unique, mesuré à partir des propres traces de l'agent.
FAQ
- L'utilisation d'outils est-elle identique au protocole MCP ?
- Non. L'utilisation d'outils est la capacité du modèle à appeler des fonctions. Le protocole MCP est un standard définissant la manière dont ces outils et données sont exposés et découverts à travers les applications.
- Comment fiabiliser l'utilisation d'outils ?
- Écrivez des outils adaptés au modèle : des noms clairs, des schémas de paramètres précis, des descriptions utiles et des erreurs informatives. Validez les arguments et limitez les permissions.
- Quels sont les risques de sécurité ?
- Les outils constituent des accès réels. L'injection de requêtes (prompt injection) peut tenter de déclencher des appels malveillants ; appliquez donc le principe du moindre privilège, validez les entrées et traitez les sorties des outils comme non fiables.
- L'utilisation d'outils fait-elle d'un modèle un agent ?
- C'est le catalyseur clé. Un agent combine l'utilisation d'outils avec une boucle de contrôle, une mémoire et un objectif afin de pouvoir agir sur plusieurs étapes.