Du chatbot à l’agent autonome : comment la boucle agentique transforme l’IA

@

#


Je suis tombé par hasard sur l’excellente vidéo de Projets IA sur les boucles agentiques et je me suis dit que ça pourrait intéresser les membres de notre communauté éducative. La vidéo dure 14 minutes et on ne voit pas le temps passer !

Pour vous en fournir un résumé, j’ai utilisé NotebookLM (pour extraire les principaux sujets) et Napkin (pour générer des illustrations). J’ai rédigé une bonne partie de l’article en m’appuyant sur les textes écrits par NotebookLM.

Le paradoxe du modèle de langage

Les LLM (grands modèles de langage) comme ChatGPT, Claude ou Le chat Mistral ne savent faire qu’une chose : calculer la probabilité du mot suivant pour poursuivre une chaîne de caractères. Pour comprendre ça, il suffit de penser à votre téléphone qui essaie de deviner le mot suivant dans le message que vous êtes en train de saisir. Ils ne savent pas lancer une application, appuyer sur un bouton ou faire un calcul mathématique.

Pour qu’ils puissent agir, il faut leur mettre à disposition des outils et des recettes pour interagir avec ces outils. C’est l’objectif du concept ReAct (Reasoning and Acting, ou Raisonner et Agir).

Le cœur du moteur : la boucle « Raisonner, Agir, Observer »

La mécanique d’un agent autonome fonctionne autour de trois composants clés :

  • LLM (Grand modèle de langage) : le générateur textuel sous-jacent. C’est un pur producteur de texte.
  • Outil (Tool) : une fonction logicielle externe mise à disposition de l’agent ; rechercher sur le web, lire des fichiers, calculer, envoyer des messages… Le LLM ne lance jamais l’outil lui-même : il émet uniquement une chaîne de texte formulant la demande d’utilisation.
  • Agent : l’assemblage structuré d’un LLM et d’outils au sein d’une boucle d’exécution continue (while loop), maintenue active jusqu’à la résolution de la tâche.

L’exemple utilisé dans la vidéo :

On demande à l’agent IA de nous trouver un restaurant italien près de chez soi pour vendredi soir et de réserver une table. Interrogé directement, un LLM inventerait une réponse plausible mais en partie fictive. Intégré dans une boucle agentique, il procède par itérations successives :

  1. Raisonner : le modèle analyse la demande et verbalise sa démarche. Il produit la séquence textuelle : « Pour réserver, il me faut d’abord la liste des restaurants italiens ouverts le vendredi. Je vais donc appeler l’outil de recherche. » Cette verbalisation intermédiaire est le cœur du motif ReAct : elle force le modèle à décomposer un problème flou en une première action élémentaire.
  2. Agir : le modèle formule sa demande d’action en décrivant l’outil souhaité et ses paramètres. C’est le programme d’exécution qui entoure le modèle qui intercepte cette demande et lance la recherche réelle sur le réseau.
  3. Observer : le programme récupère le résultat de l’outil (par exemple, trois restaurants identifiés avec leurs créneaux) et réinjecte ce texte dans le fil de la conversation. C’est la phase d’observation.

Le fonctionnement est récursif. Au tour suivant, le LLM prend en entrée la tâche initiale, son premier raisonnement, l’action demandée et l’observation concrète obtenue. Fort de ce nouvel ancrage dans le réel, il déroule le cycle suivant : il raisonne (« Le premier choix est disponible à 20h, je dois vérifier mon agenda »), agit (demande d’accès à l’outil agenda), observe (créneau confirmé libre), puis réitère jusqu’à déclencher l’outil de réservation et confirmer l’accomplissement de la tâche.

Les indispensables

Pour garantir le fonctionnement de l’agent, il y a plusieurs précautions à prendre.

1. La mémoire de travail par empilement du contexte

Un LLM ne conserve aucune mémoire d’un appel à l’autre. Entre le tour 1 et le tour 2, il a tout oublié. La fenêtre de contexte est comparable à la surface d’un bureau. Le modèle ne voit et ne traite que les documents posés à plat sous ses yeux. Tout ce qui est rangé dans un tiroir ou retiré du bureau n’existe pas pour lui.

Pour constituer la mémoire de travail du LLM, le programme hôte réinjecte l’historique complet à chaque nouvelle itération : tâche initiale + raisonnement 1 + action 1 + observation 1 + raisonnement 2…

2. Les conditions d’arrêt

Un système agentique continue de tourner tant qu’une condition de sortie ne vient pas interrompre la boucle. Deux mécanismes doivent impérativement coexister :

  • La sortie normale : le modèle estime la tâche accomplie. Au lieu d’émettre un appel d’outil, il génère une réponse textuelle finale adressée à l’utilisateur (ex. : « La réservation est confirmée pour vendredi à 20h »). Le programme détecte l’absence de demande d’action et met fin à la boucle.
  • Le plafond d’itération (limite mécanique) : un modèle peut parfois entrer dans une boucle infinie ou hésiter indéfiniment. Pour éviter un emballement qui consommerait l’intégralité de la fenêtre de contexte et du budget API, une barrière mécanique stricte (par exemple 10 ou 20 tours maximum) coupe l’exécution, même si l’agent n’a pas déclaré avoir terminé.

3. L’appel d’outil structuré

En milieu informatique, une phrase comme « Il faudrait regarder les restaurants italiens du coin » est impossible à interpréter. Le LLM est donc entraîné pour émettre sa demande sous forme structurée.

{
  "tool": "recherche_restaurant",
  "arguments": {
    "type_cuisine": "italien",
    "jour": "vendredi",
    "horaire": "20:00"
  }
}

Modes d’échec et Garde-fous

En environnement de production, la boucle agentique est confrontée à la complexité du monde réel. Chaque échec possible exige l’intégration d’un garde-fou spécifique.

  • Le mauvais appel à un outil : le LLM commet une erreur de syntaxe ou appelle un outil inexistant. Le programme intercepte la demande du modèle et vérifie la cohérence de la demande. S’il y a une erreur, il la signale sous la forme d’une observation explicite, ce qui permet au LLM de rectifier le tir au tour suivant.
  • La non-convergence : l’agent oscille indéfiniment entre deux étapes ou répète exactement la même action sans progresser vers l’objectif. Pour éviter qu’il ne tourne à l’infini, on met en place un plafond d’itération. Cette barrière d’exécutions stoppe mécaniquement l’agent avant qu’il ne brûle le budget de requêtes.
  • La fausse piste : le modèle formule une hypothèse erronée dès les premiers tours. Il construit une série d’actions sur cette erreur initiale et s’y enfonce au lieu de la corriger. Pour éviter cela, on confie les différentes tâches à des sous-agents. Chaque sous-agent gère une sous-tâche isolée avec sa propre boucle et son propre contexte restreint, empêchant une fausse piste de contaminer l’ensemble du système.
  • L’humain dans la boucle (Human-in-the-loop) : pour toutes les actions aux conséquences importantes (transactions financières, suppression de données, envoi de courriels), la boucle automatique est suspendue et une validation humaine est demandée avant de procéder à l’exécution de l’outil. L’agent propose le plan d’action, mais l’humain conserve le pouvoir de décision.

Conclusion

« Un agent, ce n’est pas un modèle plus intelligent, c’est le même modèle mis dans une boucle et branché sur le monde. »


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *