Comment un agent utilise les outils (Bases)

Il travaille uniquement avec du texte.
Sur cette page
  1. Alors comment un agent interagit avec le monde réel ?
  2. Ce qu’est vraiment un outil
  3. Comment le modĂšle sait quels outils existent
  4. Comment l’agent choisit un outil
  5. Ce qui se passe aprùs un appel d’outil
  6. En code, cela ressemble à ça
  7. Analogie de la vie réelle
  8. En bref
  9. FAQ
  10. Et ensuite

Quand on dit qu’un agent peut "utiliser un outil", on dirait qu’il clique sur un bouton ou lance un programme.

Mais Ă  l’intĂ©rieur, ça fonctionne autrement. L’agent ne peut pas ouvrir un fichier, envoyer un email ou appeler une API tout seul.

Il travaille uniquement avec du texte.

Alors comment un agent interagit avec le monde réel ?

Comment un modĂšle texte peut :

  • Obtenir des donnĂ©es depuis une base
  • Envoyer une requĂȘte Ă  un serveur
  • Écrire un rĂ©sultat dans un fichier

La réponse est le tool calling.

Le modĂšle n’exĂ©cute pas les actions lui-mĂȘme. Il demande au systĂšme de les exĂ©cuter.

Il décide quand un outil est nécessaire.
Et le systÚme autour exécute.

Ce qu’est vraiment un outil

Agent IA : demande d'exécuter une action

Un outil est une action dont l’agent peut demander l’exĂ©cution.

Ça peut ĂȘtre :

  • Obtenir des donnĂ©es depuis une API
  • Trouver des informations dans une base
  • Lire un fichier
  • Envoyer un message
  • Écrire un rĂ©sultat

Pour le modĂšle, c’est une autre option de rĂ©ponse.

Au lieu d’écrire du texte, il peut dire :

"Pour avancer, j’ai besoin que cette action soit exĂ©cutĂ©e."

Et préciser :

  • Quel outil utiliser
  • Avec quels paramĂštres

Par exemple :

JSON
{
  "tool": "get_user_data",
  "parameters": {
    "user_id": 123
  }
}

À ce moment, le modĂšle n’exĂ©cute pas l’action lui-mĂȘme. Il propose seulement de l’exĂ©cuter.

Diagram

Si le systĂšme autorise l’action, il exĂ©cute l’outil et renvoie le rĂ©sultat (DonnĂ©e, Statut ou Erreur) au modĂšle.

AprĂšs ça, l’agent dĂ©cide quoi faire ensuite.

Comment le modĂšle sait quels outils existent

Le modĂšle ne cherche pas des outils tout seul.

On lui indique à l’avance quelles actions sont disponibles.

Avant de commencer, le systùme envoie au modùle une liste d’outils qu’il peut utiliser.

Chaque outil a :

  • Nom - comment il s’appelle
  • Description - ce qu’il fait
  • ParamĂštres - quelles donnĂ©es il demande

Par exemple :

JSON
{
  "name": "get_user_data",
  "description": "RécupÚre les informations utilisateur par ID",
  "parameters": {
    "user_id": "number"
  }
}

Pour le modùle, c’est un ensemble d’actions possibles à choisir au bon moment.

Il n’invente pas de nouveaux outils.
Il choisit parmi ceux qui sont autorisés.

C’est pour ça qu’un agent ne peut pas appeler n’importe quelle API.
Seulement celles qui lui ont été données.

Comment l’agent choisit un outil

À n’importe quel moment, l’agent peut avoir plusieurs options d’action.

Il peut :

  • Écrire une rĂ©ponse
  • Utiliser un outil
  • Ou terminer la tĂąche

Pour choisir, il regarde :

  • L’objectif actuel
  • Les donnĂ©es disponibles
  • Le rĂ©sultat des Ă©tapes prĂ©cĂ©dentes

Et il se pose une question simple :

"Qu’est-ce qui m’aide Ă  avancer vers le rĂ©sultat, maintenant ?"


Si la rĂ©ponse ne suffit pas, il faut peut-ĂȘtre appeler un outil pour obtenir de nouvelles donnĂ©es.

Si les données sont déjà suffisantes, il peut continuer sans outil.

Si la tĂąche est terminĂ©e, il peut arrĂȘter.


Ce n’est pas un script rigide.
C’est un choix que l’agent fait à chaque boucle.

C’est exactement pour ça qu’il peut utiliser diffĂ©rents outils selon la situation, et pas dans un ordre fixe prĂ©dĂ©fini.

Ce qui se passe aprùs un appel d’outil

Quand l’agent choisit un outil et demande son exĂ©cution, le systĂšme autour prend la main.

Il :

  • VĂ©rifie si cet outil est autorisĂ©
  • ExĂ©cute l’action
  • RĂ©cupĂšre le rĂ©sultat

Ça peut ĂȘtre :

  • Des donnĂ©es depuis une API
  • Le contenu d’un fichier
  • Un statut d’exĂ©cution
  • Ou une erreur

Ensuite, le résultat est renvoyé au modÚle sous forme de texte.

Pour l’agent, c’est une nouvelle information qu’il peut utiliser.

Il analyse le résultat :

  • A-t-il reçu les donnĂ©es nĂ©cessaires ?
  • S’est-il rapprochĂ© de l’objectif ?
  • Faut-il une Ă©tape supplĂ©mentaire ?

Et sur cette base, il décide :

  • D’utiliser un autre outil
  • De continuer sans outil
  • Ou de terminer la tĂąche

C’est ainsi que chaque appel d’outil devient une partie de la boucle d’action.

En code, cela ressemble à ça

Imagine que l’agent veut obtenir des donnĂ©es utilisateur. Il ne peut pas appeler une fonction tout seul. Il peut seulement demander au systĂšme de le faire, sous forme de requĂȘte texte :

PYTHON
# Le modÚle décide :
# "Pour avancer, j'ai besoin des données utilisateur"

model_output = {
    "tool": "get_user_data",
    "parameters": {
        "user_id": 123
    }
}

Le modĂšle n’exĂ©cute rien. Il dit seulement : "S’il te plaĂźt, exĂ©cute cet outil."

Cette requĂȘte est ensuite reçue par le systĂšme autour de l’agent :

PYTHON
def get_user_data(user_id: int):
    return {"id": user_id, "name": "Anna"}


TOOLS = {
    "get_user_data": get_user_data
}

Le systÚme vérifie :

  • si cet outil existe
  • si son utilisation est autorisĂ©e

Et seulement aprÚs, il exécute :

PYTHON
tool_name = model_output["tool"]
params = model_output["parameters"]

result = TOOLS[tool_name](**params)

AprÚs cela, le résultat est renvoyé au modÚle sous forme de texte :

PYTHON
tool_result = f"User data: {result}"

Et maintenant, l’agent peut dĂ©cider de :

  • utiliser ces donnĂ©es
  • appeler un autre outil
  • ou terminer la tĂąche

Dans cet exemple, nous avons créé model_output manuellement. Dans un agent rĂ©el, il est gĂ©nĂ©rĂ© par le modĂšle de langage lui-mĂȘme. Il analyse la tĂąche, dĂ©cide qu’un outil est nĂ©cessaire, puis forme automatiquement la mĂȘme requĂȘte.

Exemple complet d’implĂ©mentation avec LLM connectĂ©e

PYPython
TSTypeScript · bientÎt

Analogie de la vie réelle

Imagine que tu prépares le dßner.

Tu as :

  • un frigo
  • une cuisiniĂšre
  • un couteau
  • un micro-ondes

Ce sont tous les outils que tu peux utiliser.

Tu ne peux pas :

  • utiliser un four s’il n’y en a pas
  • ou prendre un blender s’il n’est pas dans la cuisine

Maintenant, tu veux faire une soupe.

Tu penses :

Qu’est-ce qui m’aide tout de suite ?

Tu peux :

  • ouvrir le frigo
  • allumer la cuisiniĂšre
  • ou prendre un couteau

Tu choisis un outil, tu l’utilises, puis tu regardes ce qui a changĂ©.

Ensuite, tu choisis le suivant.

Et ainsi de suite, jusqu’à ce que le plat soit prĂȘt.


C’est pareil pour l’agent.

Il reçoit une liste d’outils disponibles.
Il ne peut pas en inventer de nouveaux, seulement choisir parmi ceux qui existent.

À chaque Ă©tape, il dĂ©cide :

quel outil aide à avancer vers le résultat

Il l’utilise et continue.

En bref

Le tool calling est la maniÚre dont un agent interagit avec le monde réel.

Le modĂšle n’exĂ©cute pas les actions lui-mĂȘme. Il demande au systĂšme de les exĂ©cuter en son nom.

Le systĂšme lui donne la liste des outils disponibles. Le modĂšle choisit le bon outil au bon moment. Le systĂšme vĂ©rifie les permissions, exĂ©cute l’action et renvoie le rĂ©sultat.

Et sur cette base, l’agent dĂ©cide quoi faire ensuite.

FAQ

Q : Est-ce que l’agent exĂ©cute des actions tout seul ?
A : Non. Le modĂšle n’exĂ©cute pas les actions lui-mĂȘme. Il demande seulement au systĂšme d’exĂ©cuter un outil en son nom.

Q : Qu’est-ce que le tool calling ?
A : C’est une façon pour le modĂšle de demander une action, par exemple obtenir des donnĂ©es ou Ă©crire un rĂ©sultat, afin d’avancer vers l’objectif.

Q : Comment l’agent sait quels outils il peut utiliser ?
A : Avant de commencer, le systĂšme fournit au modĂšle une liste d’outils disponibles dans laquelle il peut choisir Ă  chaque Ă©tape.

Et ensuite

Maintenant, tu comprends les bases du tool calling.

Mais dans le travail réel, des questions plus difficiles arrivent :

Comment contrîler quels outils l’agent peut utiliser ?
Que faire si un outil est coûteux et un autre risqué ?
Comment donner Ă  l’agent accĂšs aux donnĂ©es mais interdire la suppression ?

Ce ne sont plus des bases.
C’est la rĂ©alitĂ© de la production.

⏱ 8 min de lecture ‱ Mis Ă  jour Mars, 2026DifficultĂ©: ★☆☆
Suite pratique

Exemples d’implĂ©mentation du patron

Passe Ă  l’implĂ©mentation avec des projets d’exemple.

Intégré : contrÎle en productionOnceOnly
Ajoutez des garde-fous aux agents tool-calling
Livrez ce pattern avec de la gouvernance :
  • Budgets (steps / plafonds de coĂ»t)
  • Permissions outils (allowlist / blocklist)
  • Kill switch & arrĂȘt incident
  • Idempotence & dĂ©duplication
  • Audit logs & traçabilitĂ©
Mention intĂ©grĂ©e : OnceOnly est une couche de contrĂŽle pour des systĂšmes d’agents en prod.
Auteur

Cette documentation est organisée et maintenue par des ingénieurs qui déploient des agents IA en production.

Le contenu est assistĂ© par l’IA, avec une responsabilitĂ© Ă©ditoriale humaine quant Ă  l’exactitude, la clartĂ© et la pertinence en production.

Les patterns et recommandations s’appuient sur des post-mortems, des modes de dĂ©faillance et des incidents opĂ©rationnels dans des systĂšmes dĂ©ployĂ©s, notamment lors du dĂ©veloppement et de l’exploitation d’une infrastructure de gouvernance pour les agents chez OnceOnly.