Interface de chat ou boucle d’agent ? Déterminer les besoins de votre fonctionnalité IA
Apprenez à distinguer un chatbot conversationnel d’un agent orienté vers des objectifs, ce que l’itération de l’agent apporte, et comment déterminer lequel votre fonctionnalité d’intelligence artificielle a réellement besoin.
Sources: Your AI Chatbot Can Talk — But Can It Actually Take Action?
Deux produits d’IA peuvent partager la même zone de texte et le même message de bienvenue tout en étant basés sur des architectures complètement différentes. L’un transforme votre message en réponse ; l’autre traite votre message comme un objectif, invoque des outils, examine les résultats obtenus et décide de la prochaine action à entreprendre. Lorsque vous concevez une fonctionnalité d’IA, confondre ces deux approches conduit soit à un produit insuffisamment performant, soit à un produit coûteux et fragile. Ce guide vous fournit un vocabulaire utile pour distinguer ces deux concepts, un moyen de classer n’importe quel système dans le spectre qui les sépare, ainsi qu’une liste de contrôle pratique pour choisir celle à développer.
Nous avons déjà abordé la frontière conceptuelle dans ce qui distingue un chatbot d’un agent IA au-delà des modèles LLM. Ici, l’attention se porte sur la décision de conception : quel est le coût du cycle, quand il en vaut la peine, et comment un simple chatbot évolue progressivement en agent, capacité par capacité.
Deux systèmes derrière la même zone de texte
Prenons un utilisateur qui demande le meilleur ordinateur portable de apprentissage automatique correspondant à un budget donné. Un assistant conversationnel répond par une liste de recommandations tirées des connaissances déjà disponibles du modèle. Cela est vraiment utile, mais la liste peut être obsolète, et il vous revient toujours de vérifier si elle correspond à vos contraintes.
C’est la question centrale de ce guide : à quel moment un système qui parle devient-il un système qui agit ?
À quoi sert un chatbot
- l’utilisateur envoie un message
- le système le traite
- il génère ou récupère une réponse et restitue le contrôle à l’utilisateur
Demandez-lui d’expliquer l’apprentissage supervisé et il s’exécute. Ensuite, demandez-lui un exemple et il répond à nouveau. Chaque interaction consiste en une demande suivie d’une réponse, et la conversation elle-même constitue le produit final.
Cette structure couvre une grande partie des cas d’usage réels : répondre aux questions, expliquer des concepts, rédiger et résumer du texte, faire des idées, assurer un service client ou donner des cours.
Bots basés sur des règles et chats alimentés par des LLM
Les chatbots existent avant les grands modèles de langage. Les générations précédentes étaient principalement scriptées : un salut déclenchait un salut prédéfini, une demande de suivi d’une commande déclenchait une question pour obtenir le numéro de commande, et tout ce qui sortait du flux prévu était redirigé vers un message de secours. Ils étaient prévisibles précisément parce que chaque parcours avait été écrit manuellement.
Les assistants de chat basés sur des LLM ont éliminé une grande partie de cette rigidité. Ils analysent le langage libre et composent des réponses en temps réel, ce qui les rend utiles pour l’écriture, l’aide en programmation, la recherche, l’apprentissage, le raisonnement, la synthèse et la traduction. Il convient cependant de souligner que le remplacement d’un arbre de décision par un modèle puissant modifie la qualité des conversations du système. Cela ne change pas, en soi, ce que le système est capable de faire dans le monde réel. Un modèle plus performant à l’intérieur d’un cadre demande-réponse reste un chatbot.
Qu’est-ce qui fait d’un système un agent ?
Un agent IA est un système qui poursuit un objectif en prenant des décisions et en exécutant des actions grâce aux capacités qui lui ont été conférées, généralement des outils. La question qu’il se pose constamment n’est pas seulement quelle réponse produire, mais quel prochain pas entreprendre.
Le fonctionnement simplifié d’un agent se présente comme suit :
- Réception d’un objectif.
La caractéristique importante est que les étapes quatre à huit se répètent. Le système participe à un flux de travail en plusieurs étapes plutôt que de produire une seule réponse et d’attendre.
Une demande de voyage, traitée de deux manières
Si vous demandez à un chatbot d’aider à planifier trois jours à Dubaï, il produira probablement un itinéraire bien organisé : la Burj Khalifa et le Dubai Mall le premier jour, l’Old Dubai le deuxième jour, la Marina ainsi qu’une excursion dans le désert le troisième jour. C’est utile, mais tout ce qui est pratique reste de votre responsabilité : hôtels, prix, disponibilité, vols, horaires d’ouverture et le calendrier final.
Confiez à un agent de voyage compétent la tâche de trouver des options réalisables pour un séjour de trois jours à Dubaï dans le cadre d’un budget fixe, et les résultats pourraient être très différents. Il définit le budget, recherche des vols, les compare, cherche des hôtels, recueille les horaires d’ouverture et autres détails pertinents, élabore un itinéraire, vérifie le montant total par rapport au budget, ajuste le plan en cas de dépassement et présente finalement les options qui restent viables.
En termes simples : le chatbot s’occupe de discuter de la tâche, tandis que l’agent est conçu pour l’exécuter.
Réponse versus action
Si vous souhaitez un modèle mental en une ligne, utilisez ces deux schémas :
- chatbot : message, puis réponse
- agent : objectif, puis décision, action, observation et la prochaine action, répété jusqu’à achèvement
Le premier est organisé autour d’une conversation ; le second est organisé autour d’un résultat.
Pourquoi l’interface ne vous dit rien
Un agent peut également exister derrière une boîte de chat, c’est précisément pour cette raison que l’apparence est trompeuse. Imaginez deux applications qui affichent toutes deux le même message de bienvenue amical et qui reçoivent toutes deux la requête « trouver des articles de recherche récents sur les agents IA ».
L’application A transmet la requête au modèle, qui répond à partir de ses données d’entraînement. L’application B utilise un outil de recherche, collecte les articles, lit les résultats, évalue leur pertinence, effectue une nouvelle recherche si le premier résultat est insuffisant, puis rédige un résumé. À l’écran, les deux semblent presque identiques ; en réalité, l’une repose sur une seule appel au modèle tandis que l’autre implique un flux de travail organisé. On ne peut pas classer un système en se basant uniquement sur son interface utilisateur. Il faut examiner le flux de contrôle.
Qui pilote le flux de travail
Dans une session typique avec un chatbot, c’est l’humain qui dirige les opérations. Vous demandez des articles sur l’apprentissage automatique et vous recevez des suggestions. Vous demandez une comparaison et vous en obtenez une. Vous demandez les limites d’un sujet et vous les recevez également. Chaque transition d’une étape à l’autre est le résultat d’une décision que vous avez prise et saisie.
Un système agent peut prendre en charge l’ensemble de la tâche d’un coup : « trouver cinq articles pertinents sur l’apprentissage automatique, comparer leurs méthodes, identifier leurs limites et préparer un rapport ». Il organise ensuite lui-même les étapes : recherche, filtrage, lecture, extraction, comparaison, évaluation et rédaction. Vous n’avez plus besoin de demander chaque étape individuellement, et c’est là le véritable changement. Le contrôle de la séquence passe de l’utilisateur au système.
Les éléments constitutifs qui transforment un modèle en agent
Outils
L’utilisation d’outils est la capacité la plus associée aux agents. Un agent donné peut être conçu pour :
- un outil de recherche pour obtenir des informations en temps réel
- un outil de base de données pour gérer les enregistrements stockés
- un outil d’exécution de code, tel qu’un environnement sandbox pour Python, destiné à l’analyse et aux calculs
- un outil de fichiers pour lire des documents
- un outil de calendrier pour vérifier les plannings
- un outil d’e-mail, utilisé uniquement lorsqu’on dispose des permissions nécessaires
- des API arbitraires pour interagir avec d’autres logiciels
La tâche du modèle est de déterminer lequel de ces outils est requis à l’étape actuelle. Pour les équipes travaillant avec JavaScript et TypeScript, ce sont là que entrent en jeu des concepts tels que les appels de fonction et les arguments d’outil validés selon un schéma ; les modèles présentés dans les boucles agentes bornées pour l’utilisation d’outils LLM en TypeScript montrent à quoi cela ressemble dans le code.
Un exemple de recherche rend ce processus concret. Un étudiant demande de l’aide pour étudier la génération améliorée par le récupération d’informations destinée aux langues à faibles ressources. Un chatbot peut expliquer le fonctionnement de cette méthode, les raisons pour lesquelles les langues à faibles ressources sont difficiles, quels mots-clés essayer et comment structurer une revue de la littérature, puis l’étudiant mène ses recherches. Un agent de recherche doté des outils adéquats pourrait transformer cette question en requêtes de recherche, explorer des sources académiques, identifier des candidats pertinents, éliminer ceux qui ne le sont pas, lire le reste, extraire des méthodes et des ensembles de données, comparer les résultats, noter les limites et rédiger une revue structurée. À ce stade, l’IA ne se contente pas de décrire le flux de travail de recherche ; elle en fait partie intégrante.
Planification et exécution
Les objectifs complexes nécessitent une décomposition. Lorsqu’on demande à un agent d’« analyser cet ensemble de données clients et de préparer un rapport », celui-ci pourrait envisager d’examiner le fichier, de comprendre chaque colonne, de vérifier la présence de valeurs manquantes, de nettoyer les données, d’effectuer une analyse exploratoire, de créer des visualisations, d’identifier les schémas importants et de rédiger ses conclusions.
On remarquera qu’un chatbot pourrait produire exactement la même liste. Rédiger un plan relève de la génération de texte. La différence réside dans le fait que le système puisse exécuter ces étapes et réagir aux résultats de chacune d’elles. Un plan que l’utilisateur doit mettre en œuvre manuellement constitue un conseil ; un plan exécuté par le système représente une action autonome.
Observation et boucle de rétroaction
L’action n’est que la moitié du processus. L’agent doit examiner les résultats de chaque action. Supposons qu’il recherche des articles récents sur l’agentic RAG et obtienne de mauvais résultats. Un agent efficace remarque que ces résultats ne sont pas suffisamment pertinents, reformule sa requête, cherche à nouveau et obtient finalement de meilleurs résultats.
Cet cycle, souvent résumé par « penser, agir, observer, ajuster », est ce qui distingue un boucle d’un pipeline. Sans observation, le système se contente d’exécuter des outils dans un ordre fixe en espérant de meilleurs résultats.
Mémoire et état de la tâche
La mémoire est souvent citée comme une caractéristique des agents, mais les chatbots peuvent également mémoriser des informations, donc la mémoire seule ne fait pas d’un système un agent. Elle est cependant plus importante pour les agents, car leurs tâches durent plus longtemps et impliquent davantage de résultats intermédiaires. Un agent de recherche doit garder à l’esprit la question initiale, les articles qu’il a déjà examinés, les sources qu’il a rejetées et pourquoi, les principaux résultats obtenus jusqu’à présent, les exigences de l’utilisateur ainsi que les sorties des outils précédents. Sans une gestion délibérée de l’état, le fonctionnement sur le long terme devient chaotique : il relit les mêmes sources, oublie des contraintes ou contredit ses propres conclusions antérieures.
Un spectre, pas un interrupteur
Les produits réels se situent rarement clairement d’un côté ou de l’autre. De nombreux systèmes combinent des capacités conversationnelles et agentielles, et il est utile de considérer une évolution en étapes :
- Chatbot de base. Le message de l’utilisateur est envoyé au modèle, qui renvoie une réponse.
- Chatbot doté d’outils. Le modèle peut invoquer un outil, comme une fonction de recherche, avant de répondre, mais le flux reste constitué d’une seule demande et d’une seule réponse.
- Agent. Le modèle reçoit un objectif, élabore un plan, choisit un outil, agit, observe, prend à nouveau une décision et répète le processus jusqu’à ce que la tâche soit terminée.
Il n’existe pas de ligne de démarcation nette entre les étapes deux et trois. Certains systèmes sont des assistants conversationnels, d’autres effectuent quelques appels à des outils, tandis que d’autres encore mettent en œuvre des workflows complexes en plusieurs étapes. Le type de système dépend du degré de contrôle dont dispose le modèle sur le flux d’opérations.
Un seul appel à un outil suffit-il à créer un agent ?
Pas nécessairement. Un bot qui sollicite toujours une API météo lorsqu’on lui demande la météo utilise un outil, mais le flux de travail est fixe : question, appel à l’API, réponse. Aucune décision n’est prise.
Si l’on change la demande en « planifier la meilleure activité de plein air pour demain », la situation change. Le système doit vérifier les prévisions, trouver des activités possibles, vérifier les horaires d’ouverture, comparer les lieux, évaluer les conditions et recommander une option. Il prend alors plusieurs décisions dépendantes et coordonne plusieurs outils pour atteindre un objectif plus large, ce qui le rapproche beaucoup d’un flux de travail agentiel. Une heuristique utile : si la séquence des appels aux outils peut être codée à l’avance, on a affaire à un chatbot utilisant des outils ; si le appel suivant dépend de ce que l’appel précédent a retourné, on crée un agent.
Agents sans fenêtre de chat
Le principe inverse est également valable : un agent n’a absolument pas besoin d’une interface de conversation. Un service en arrière-plan qui surveille les tickets de support entrants peut classifier chaque ticket, récupérer les informations du client, rechercher dans la documentation, rédiger une solution et transférer les cas difficiles à un humain. Personne ne discute avec lui, pourtant il s’agit clairement d’un agent, car il atteint un objectif grâce à une série d’actions déterminées.
Choisir entre un chatbot et un agent
Il est tentant de considérer l’« agent » comme la version améliorée du « chatbot ». Cette façon de voir pousse les équipes à sur-engineer. La bonne question est de savoir ce dont votre application a réellement besoin.
Lorsqu’un chatbot est le meilleur choix
Une réponse directe du modèle suffit généralement lorsque la tâche principale consiste en une conversation ou à la génération de contenu, par exemple :
- Répondre aux FAQ
Pour ces tâches, un chatbot est généralement plus simple, plus rapide, moins cher et plus facile à maintenir. Il n’y a pas de nécessité d’exécution autonome en plusieurs étapes, et chaque appel de modèle évité permet d’économiser du temps et de l’argent.
Lorsque la tâche nécessite un agent
Un agent devient complexe lorsque la tâche implique plusieurs des éléments suivants :
- plusieurs étapes dépendantes
- le choix entre différents outils
- l’interaction avec des systèmes externes
- des décisions prises au cours de l’exécution
- des actions répétées
- l’inspection des résultats
- le changement de stratégie en fonction de ces résultats
- le suivi de l’état de la tâche au fil des étapes
Une demande telle que « rechercher des articles récents, en extraire les méthodes, comparer leurs résultats et produire un rapport structuré » est intrinsèquement multi-étapes, et une architecture agente constitue une solution appropriée.
Le coût de l’autonomie
Plus d’autonomie signifie plus de façons d’échouer. Un agent peut choisir le mauvais outil, interpréter à tort un résultat, répéter du travail déjà effectué, se retrouver bloqué dans une boucle, engendrer des coûts liés aux API, prendre beaucoup plus de temps qu’une simple requête ne le ferait, ou simplement prendre une mauvaise décision plusieurs étapes à l’avance sans que personne ne s’en aperçoive.
C’est pourquoi les agents nécessitent des mécanismes d’ingénierie que les chatbots peuvent souvent omettre :
- des permissions qui limitent ce que chaque outil peut manipuler
- la validation des entrées et sorties des outils
- l’enregistrement et le suivi de chaque étape
- la gestion des erreurs liées aux appels d’outils échoués ou incomplets
- l’évaluation de l’ensemble du processus, et non seulement des réponses individuelles
- Conditions d’arrêt explicites telles que des limites de pas et des budgets
- Approbation humaine avant toute action irréversible
Si un système plus simple résout le problème de manière fiable, c’est généralement le meilleur système.
Voir la différence du début à la fin
Les deux flux de contrôle présentés côte à côte résument tout ce qui a été dit précédemment.
Un chatbot : le message de l’utilisateur est compris, une réponse est générée, puis le contrôle revient à l’utilisateur.
Un agent : l’objectif de l’utilisateur est compris, un plan est établi, un outil est choisi, une action est entreprise, le résultat est observé, le plan est ajusté, l’action suivante est effectuée, et la boucle se termine lorsque l’objectif est atteint.
Un dernier exemple montre comment les deux peuvent être utiles pour la même demande. Quelqu’un dit qu’il souhaite apprendre l’IA agente. Un chatbot peut proposer un plan d’étude, une liste de sujets, des ressources pédagogiques et des explications claires. Un agent d’apprentissage plus avancé pourrait évaluer ce que l’apprenant sait déjà, élaborer un plan d’étude, dispenser une leçon, proposer un exercice, noter les réponses, identifier les points faibles, adapter la leçon suivante, suivre les progrès au fil du temps et perpétuer ce cycle. Le premier aide l’apprenant à comprendre ; le second participe à la gestion de l’apprentissage lui-même. Ils résolvent des problèmes différents.
Points clés
- Un chatbot est organisé autour de la conversation (message entrant, réponse sortante) ; un agent est organisé autour d’un objectif (planifier, agir, observer, ajuster, terminer).
- L’interface n’est pas non plus un critère déterminant : les agents peuvent se cacher derrière une boîte de chat, et ils peuvent fonctionner sans aucune fenêtre de chat.