Polarys

Chatbot vs agent

Les outils : comment un agent agit

Les outils : comment un agent agit

L'outil : une fonction que le modèle peut appeler

Un outil (tool) est une fonction précise, décrite au modèle (nom, paramètres attendus, description), que celui-ci peut décider d'invoquer pendant son raisonnement. Le modèle ne "sait" pas coder cette fonction, il sait seulement quand et comment l'appeler.

{
  "name": "rechercher_ticket",
  "description": "Recherche un ticket support par son numéro",
  "parameters": {
    "numero_ticket": "string"
  }
}

Le cycle d'appel d'outil

flowchart LR
    A[Modèle décide\nd'appeler un outil] --> B[Génère les paramètres\nde l'appel]
    B --> C[Le système exécute\nla fonction réelle]
    C --> D[Résultat renvoyé\nau modèle]
    D --> E[Modèle poursuit son\nraisonnement avec ce résultat]

Le modèle ne exécute jamais directement le code : il génère une intention d'appel, que le système hôte (Claude Code, une application utilisant l'API OpenAI, un framework comme LangChain) exécute réellement avant de renvoyer le résultat au modèle.

Tous les grands fournisseurs supportent l'appel d'outils

Claude (tool use), GPT (function calling), Gemini (function calling), et les frameworks open-source pour Llama ou Mistral (via des bibliothèques comme LangChain) implémentent tous un mécanisme équivalent, avec des formats légèrement différents mais le même principe.

Cas concret

Un agent de support technique reçoit la demande "quel est le statut du ticket #4521 ?". Le modèle ne connaît pas ce ticket depuis ses données d'entraînement : il appelle l'outil rechercher_ticket avec le paramètre numero_ticket: "4521", le système interroge la vraie base de données de tickets, renvoie le résultat au modèle, qui formule enfin une réponse basée sur une donnée réelle et à jour, pas une hallucination.

Erreurs fréquentes

  • Donner un outil trop permissif à un agent (ex. exécution de commande shell arbitraire sans restriction) sans réfléchir aux conséquences d'un usage détourné ou d'une erreur du modèle.
  • Croire que le modèle exécute lui-même le code de l'outil : il ne fait que décider de l'appeler, l'exécution réelle reste sous le contrôle du système hôte.
  • Ne pas valider les paramètres générés par le modèle avant l'exécution réelle d'un outil sensible (suppression, modification de données), un risque de sécurité si le modèle se trompe ou est manipulé.

À retenir

  • Un outil est une fonction décrite au modèle, qu'il peut décider d'appeler avec des paramètres qu'il génère.
  • Le modèle ne exécute jamais le code lui-même : le système hôte exécute réellement l'appel et renvoie le résultat.
  • Tous les grands fournisseurs (Claude, GPT, Gemini) et les frameworks open-source supportent un mécanisme d'appel d'outils équivalent.

Mini-exercice

Un agent dispose d'un outil permettant de supprimer un fichier, sans aucune validation avant exécution. Quel est le risque, et quelle protection ajouter ?

Réponse : le modèle pourrait appeler cet outil de façon erronée (mauvaise interprétation d'une demande, hallucination sur le nom de fichier) et supprimer un fichier important sans intervention humaine. Ajouter une étape de confirmation (validation humaine ou vérification supplémentaire) avant l'exécution réelle des actions destructrices est une protection essentielle.

Quiz de validation

Quiz - 2 questions

1. Le modèle d'IA exécute-t-il lui-même le code d'un outil qu'il appelle ?

2. Pourquoi valider les paramètres générés par le modèle avant d'exécuter un outil sensible ?

Suis ta progression

Crée un compte gratuit pour suivre ta progression et accéder à toutes les leçons.