Aller au contenu
Fondamentaux des LLM

Appel d'outils (function calling)

Le modèle n'exécute rien lui-même : il demande l'appel d'un outil décrit par un schéma JSON, votre code l'exécute et lui renvoie le résultat. C'est le mécanisme de base de tout agent.

  • function calling
  • tool use
  • appel d'outils
  • outil
  • json schema
  • agent
  • boucle

Syntaxe

Modèle
1. Déclarer les outils : nom + description + paramètres (JSON Schema)2. Le modèle répond soit par du texte, soit par une demande d'appel : {nom, arguments}3. Votre code valide les arguments, exécute l'outil et renvoie le résultat au modèle4. Le modèle poursuit (nouvel appel ou réponse finale), dans une limite de tours fixée

Exemple

Exemple concret
Outil déclaré : suivi_colis(numero: string)  description : « Donne le statut d'un colis à partir de son numéro de suivi. »Client : « Où en est mon colis 7Q482 ? »Modèle → demande d'appel : suivi_colis({"numero": "7Q482"})Code   → interroge l'API du transporteur, renvoie {"statut": "en livraison", "eta": "2026-11-03"}Modèle → « Votre colis est en cours de livraison, arrivée prévue le 3 novembre. »Résultat attendu : deux allers-retours avec le modèle et une seule requête réelle à l'API.

À retenir

  1. La description de l'outil est un prompt : dites quand l'utiliser et quand ne pas l'utiliser, sinon le modèle l'appelle à contretemps ou l'ignore.
  2. Validez toujours les arguments côté code (type, format, droits de l'utilisateur) avant d'exécuter : le schéma guide le modèle, il ne protège pas votre système.
  3. Limitez la boucle (nombre de tours, délai) et renvoyez les erreurs d'outil sous une forme lisible : le modèle peut alors corriger son appel au lieu de tourner en rond.
  4. MCP standardise la façon d'exposer des outils à plusieurs applications ; le mécanisme d'appel décrit ici reste le même.
  5. Piège : exposer un outil d'écriture (remboursement, suppression, envoi d'e-mail) sans confirmation humaine. Un texte malveillant dans les données lues peut pousser le modèle à l'appeler (voir la fiche « Injection de prompt par le dépôt »).

Voir aussi