Aller au contenu
Glossaire Architecture

Tool use

Capacité d'un LLM à appeler des fonctions externes (outils) pendant une génération, pour exécuter des actions ou récupérer des données.

Définition

Le tool use (ou function calling) est le mécanisme par lequel un LLM peut, pendant sa génération, décider d'invoquer une fonction définie à l'avance plutôt que de générer du texte libre. Le modèle produit un appel structuré (nom de la fonction + arguments), l'environnement l'exécute, le résultat est renvoyé au modèle, et celui-ci continue sa génération en intégrant ce résultat. C'est le mécanisme fondamental qui transforme un LLM en agent capable d'agir sur son environnement : lire un fichier, lancer une commande, appeler une API, écrire du code et l'exécuter.

Point de vue postcursors

Le tool use est ce qui distingue un agent d'un chatbot. Sans tool use, un LLM produit du texte qui décrit ce qu'il faudrait faire. Avec tool use, il le fait. Les coding agents modernes (OpenCode, Kilo Code, Claude Code) sont essentiellement des enveloppes qui exposent les bons outils au modèle : lecture/écriture de fichiers, exécution de commandes shell, appels Git. La qualité de l'agent dépend autant de quels outils sont exposés que du modèle utilisé.

En pratique

Quand tu demandes à OpenCode de "lancer les tests et corriger les erreurs", il utilise le tool use pour exécuter `php bin/phpunit`, lire le résultat, identifier les fichiers à modifier, les lire, les modifier, et relancer les tests — sans que tu interviennes à chaque étape. Chaque action est un appel d'outil.

Confusions fréquentes

  • Confondre tool use avec les plugins ChatGPT — c'est le même principe mais côté API, pas côté interface utilisateur
  • Penser que tous les LLMs supportent le tool use — les modèles anciens ou certains modèles locaux ne l'implémentent pas, ce qui limite leur usage comme agents

Voir aussi