Cet article s’inspire d’une série de webinars sur l’IA disponible gratuitement sur Youtube : l’IAcadémie. 

Chez Partoo, nous développons de nombreuses fonctionnalités en nous appuyant sur l’intelligence artificielle, qu’il s’agisse de Machine Learning ou d’IA générative.

En particulier nous travaillons depuis plusieurs année sur JIM, un agent conversationnel pour points de vente, boosté à l’IA. Cet article approfondit ces concepts, allant des bases des chatbots à l’introduction des agents apprenants, en passant par des solutions comme le Retrieval-Augmented Generation (RAG).


Webinar IAcadémie

Les chatbots : au cœur de la transformation conversationnelle

Les chatbots ont longtemps été associés à des interactions basiques, souvent perçues comme rigides et limitées. Cependant, l’IA a permis à ces outils d’évoluer considérablement, en les rendant plus intelligents, plus naturels et plus adaptatifs.

Chez Partoo, notre mission est d’accompagner les entreprises dans la gestion de leurs messages en ligne, qu’il s’agisse de messages sur WhatsApp, Facebook Messenger, Instagram, ou encore sur leur site web. Nous centralisons ces messagers pour permettre aux responsables de point de vente de répondre plus efficacement. Mais au-delà de cette simple centralisation, l’IA permet d’aller beaucoup plus loin : elle offre aux entreprises la possibilité d’accompagner les humains dans la gestion de ces échanges, que ce soit par l’augmentation ou par l’automatisation.

  • Augmentation : L’IA suggère des réponses aux responsables des points de vente pour les aider dans leurs tâches quotidiennes.
  • Automatisation : L’IA gère entièrement certaines conversations de manière autonome, sans intervention humaine, grâce à des systèmes d’arbre de décision ou en utilisant la compréhension du langage naturel (NLP).

I) Comment construire un chatbot ?

L’un des principaux progrès réalisés ces dernières années concerne la capacité des chatbots à comprendre et interpréter le langage naturel. Traditionnellement, les chatbots étaient programmés pour suivre des arbres de décision fixes, où l’utilisateur devait sélectionner des options prédéfinies pour obtenir une réponse (par exemple : « Tapez 1 pour parler à un conseiller, Tapez 2 pour connaître nos horaires »). Cette limitation pose problème lorsque les entreprises cherchent à fournir des réponses précises et à jour aux utilisateurs.

Dans les prochains paragraphe, nous allons voir comment construire un chatbot IA et quels challenge cela représente.

1. La base de connaissances

La première étape dans le développement d’un chatbot repose sur la création d’une base de connaissances, souvent constituée de Frequently Asked Questions (FAQ). Chez Partoo, nos clients sont invités à entrer toutes les informations importantes concernant leurs points de vente, leurs services et produits. Ces données peuvent inclure les horaires d’ouverture, les coordonnées, les politiques de retour, etc. Cette base d’informations devient ensuite la fondation sur laquelle le chatbot s’appuie pour répondre aux questions des utilisateurs.

Nous offrons également la possibilité de personnaliser le ton du chatbot. Par exemple, un client peut choisir un message d’accueil décontracté, formel ou accueillant, en fonction de son image de marque. Ces choix se reflètent dans le System Message, un paramètre clé qui influence la manière dont l’IA engage les conversations. Pour découvrir les différents paramètres d’un prompt, je vous invite à lire cet article Tribes sur ce vaste sujet.

2. Comprendre les limites des modèles LLM

Les modèles de langage tels que GPT-3, utilisés pour les chatbots, sont pré-entraînés sur de grandes quantités de données figées. Cela signifie qu’une fois le modèle entraîné, il ne peut plus être mis à jour en temps réel. Par exemple, GPT-3 est entraîné sur des données du web jusqu’en 2021. Si vous lui demandez qui est la reine d’Angleterre, il vous répondra probablement Elizabeth II, bien que ce ne soit plus d’actualité.

Réentraîner un modèle pour le mettre à jour est coûteux en termes de temps, d’argent et d’énergie. Il devient donc impératif de trouver des solutions pour maintenir à jour les réponses d’un chatbot sans avoir à réentraîner constamment le modèle.


3. Le problème du Max Token et l’explosion des coûts

La première solution que l’on peut mettre en place est d’intégrer au prompt du LLM, à la fois la question de l’internaute et la réponse comme le montre le shéma ci-dessous.

Cependant, cette solution n’est pas sans inconvénient… En effet, un des défis techniques des modèles de langage est la limite du nombre de tokens qu’ils peuvent traiter dans un seul prompt. Plus vous ajoutez d’informations dans un prompt, plus vous consommez de tokens. Par exemple, si à chaque interaction avec le chatbot, nous envoyons toute la FAQ d’un client, la taille du prompt peut rapidement atteindre sa limite, bloquant ainsi le modèle.

Avant la mise en place de la méthode RAG dont nous nous parlerons juste après, la solution utilisée pour développer un chatbot conversationnel par IA consistait à renvoyer toutes les FAQs du client pour répondre à chaque message de l’internaute. Ci-dessous, l’exemple avec le chatbot de Partoo montre que si le client demande l’heure d’ouverture du point de vente, le prompt incorporera toute la base du connaissance !

Au delà des limites des LLM (Max New Token) cette approche peut devenir extrêmement coûteuse. L’utilisation d’un grand nombre de tokens pour chaque réponse peut, à long terme, engendrer des coûts élevés. Même si le coût par token est faible (quelques centimes pour des modèles comme GPT-3 ou GPT-4), lorsque vous multipliez cela par des milliers d’interactions, les coûts deviennent significatifs. Sans parler de l’impact environmental…

II) RAG pour Retrieval-Augmented Generation (RAG)

1. La solution : le Retrieval-Augmented Generation (RAG)

La solution à ces deux problématiques réside dans l’utilisation du Retrieval-Augmented Generation (RAG). Plutôt que de charger toutes les données dans le prompt à chaque interaction, le RAG permet de chercher les informations pertinentes dans une base de données avant de générer une réponse. Concrètement, cela signifie que le modèle LLM est utilisé pour traiter la question et générer une réponse, mais il peut, en parallèle, aller chercher des informations à jour dans une base de données (Content Store).

Voici comment cela fonctionne :

  • L’utilisateur pose une question, par exemple : “À quelle heure ouvre votre restaurant ?”
  • Le chatbot envoie cette question au modèle LLM.
  • Le modèle interroge le Content Store pour obtenir les horaires d’ouverture à jour du restaurant, puis génère une réponse précise basée sur cette information.

Le Content Store peut contenir des documents, des bases de données ou des API. Il permet ainsi au modèle d’accéder aux données en temps réel, sans qu’il soit nécessaire d’entraîner le modèle avec toutes ces informations à l’avance.

2. Les avantages du RAG

Le RAG présente plusieurs avantages majeurs :

  • Réduction des coûts : Puisqu’il n’est pas nécessaire d’envoyer toute la FAQ à chaque prompt, la consommation de tokens est réduite, ce qui limite les coûts d’utilisation de l’IA.
  • Mise à jour des données : Les réponses sont toujours basées sur les informations les plus récentes. Cela évite les erreurs dues à des données obsolètes.
  • Réduction des hallucinations : Plus un prompt est long, plus le risque d’hallucination (réponses incohérentes ou incorrectes générées par l’IA) est élevé. Le RAG permet de garder les prompts plus courts et plus précis. Si vous souhaitez en savoir plus sur le sujet des hallucinations, voici un article plus général sur le sujet des LLM et de leur fonctionnement

3. L’intégration du RAG chez Partoo : les Smart Integrations

Chez Partoo, nous testons actuellement des Smart Integrations basées sur le RAG pour améliorer nos chatbots. Ces intégrations permettent de connecter des API à différents systèmes comme les Product Information Management (PIM) pour gérer les données produits (tailles, allergies, etc.), les systèmes de gestion des commandes (Order Management Systems ou OMS), ou encore les bases de données clients (CRM).

Ces intégrations permettront aux chatbots de répondre de manière beaucoup plus fluide et précise à des questions complexes, telles que : “Où en est ma commande ?”, en allant directement chercher la réponse dans un système connecté.

4. Les GPTs et leurs applications chez Partoo

Avec l’introduction des GPTs au sein de ChatGPT (qui utilisent du RAG), il est aussi possible de créer des assistants intelligents spécialisés pour des tâches précises. Chez Partoo, nous avons mis en place un bot Slack, le Competition Battle Card Genius, qui aide nos équipes commerciales à répondre aux appels d’offres. Ce bot utilise le RAG pour rechercher dans notre CRM et d’autres documents toutes les informations nécessaires à une stratégie concurrentielle, comme les raisons pour lesquelles nous avons gagné certains comptes ou des informations clés sur nos concurrents.

Une dernière application du RAG est la capacité à facilement uploader un document de plusieurs centaines de pages sur une application et facilement le requéter, c’est à dire poser des questions à une IA qui a la capacité de chercher à l’intérieur du document pdf :

III) Agents conversationnels vs agents virtuels : quelles différences ?

Dans ce deuxième chapitre nous allons creuser le sujet des Agents Virtuels qui se distinguent des chatbots par leur capacités à effectuer des tâches et pas uniquement à répondre à des questions.

1. Chatbots : Définition et Types

Avant d’aborder les agents virtuels, il est essentiel de revenir brièvement sur ce qu’est un chatbot. Les chatbots sont des programmes informatiques conçus pour simuler une conversation humaine, principalement à travers des interfaces de messagerie (Slack, ChatGPT, Copilot, Teams, SMS, WhatsApp, Facebook Messenger, etc.). Vous pouvez en faire l’expérience en visitant le site de Partoo, où un chatbot est intégré pour répondre à vos questions basées sur une FAQ. Ces chatbots, bien qu’utiles, ont des limites intrinsèques. Ils se contentent de répondre aux questions basées sur des bases de données ou de connaissances préexistantes.

Les chatbots peuvent être classés en trois grandes catégories selon leur degré de sophistication :

  • Les chatbots conversationnels basiques : Ces chatbots ne disposent d’aucune capacité d’apprentissage ou d’interaction complexe. Ils répondent simplement avec des phrases génériques pré-programmées.
  • Les chatbots enrichis via des données dynamiques : Ils peuvent traiter des informations contextuelles plus complexes, telles que « À quelle heure fermez-vous ce soir ? ». Ces chatbots utilisent des données spécifiques injectées via des prompts pour donner des réponses plus précises.
  • Les chatbots intégrés avec du Retrieval-Augmented Generation (RAG) : Ce sont les chatbots les plus avancés, qui se connectent à des systèmes externes, tels que des bases de données ou des systèmes de gestion des stocks, pour fournir des réponses plus intelligentes et en temps réel. Par exemple, ils peuvent vérifier la disponibilité d’un produit ou donner des informations complexes issues d’une grande base de connaissances.

2. Chatbots Enrichis et Intégrés : Une Transition Vers les Agents

Avant de se pencher plus en détail sur les agents virtuels, il est important de comprendre la transition progressive des chatbots basiques vers des chatbots plus sophistiqués, intégrés à des systèmes externes.

L’exemple d’un chatbot intégré utilisant la technologie RAG pour accéder à des bases de données externes est particulièrement intéressant. Supposons que vous cherchiez une boisson spécifique pour un cocktail en magasin, mais qu’il y ait une rupture de stock. Plutôt que de contacter manuellement plusieurs magasins pour vérifier leur disponibilité, un chatbot intégré pourrait accéder aux bases de données des stocks en temps réel et vous informer immédiatement de la disponibilité du produit. Cela permet non seulement de gagner du temps, mais aussi d’offrir une meilleure expérience utilisateur.

Chez Partoo, nos chatbots utilisent déjà cette approche pour des entreprises comme Cash Converter Belgique. Ils peuvent répondre à des questions aussi spécifiques que « Est-ce que vous reprenez des mangas ? » ou « Est-ce que je dois apporter des piles pour vendre une Game Boy ? ». Cela montre comment l’IA peut s’intégrer de manière fluide dans les interactions clients, rendant ces échanges plus riches et plus efficaces.

3. De la Réponse Passive à l’Action Active : Les Agents Virtuels

Bien que les chatbots aient leur utilité, le véritable bond en avant réside dans la montée en puissance des agents virtuels. Ces derniers vont bien au-delà de la simple restitution d’informations. Les agents virtuels sont capables d’exécuter des tâches complexes pour le compte des utilisateurs. Par exemple, un agent virtuel pourrait non seulement répondre à la question « Puis-je réserver une table dans ce restaurant ? », mais aussi procéder à la réservation en temps réel, en se connectant au système interne de gestion du restaurant.

L’une des distinctions fondamentales entre un chatbot et un agent virtuel est que l’agent interagit activement avec d’autres systèmes. Il peut non seulement donner des réponses, mais aussi effectuer des actions, telles que la gestion des commandes, des réservations ou des inscriptions. Prenons l’exemple d’un agent virtuel pour une commande de burger via WhatsApp : au lieu de simplement dire « Votre commande a été validée », l’agent enverra également une commande spécifique avec tous les détails nécessaires au système de gestion interne du restaurant pour déclencher la livraison.

Un autre exemple marquant est celui des systèmes de réservation. Imaginons que vous contactiez un salon de coiffure via un agent virtuel. Cet agent pourra non seulement prendre vos informations de contact, mais aussi bloquer directement un créneau horaire dans l’agenda du coiffeur, et envoyer un e-mail de confirmation via Gmail. Cette capacité à automatiser des processus entiers, sans intervention humaine, représente un changement radical dans la manière dont les entreprises peuvent traiter leurs interactions clients. A noter que Partoo dispose déjà d’Agents Virtuels permettant de connecter son chatbot à Salesforce : quand un client nous contacte par messagerie, l’IA va collecter les informations nécessaire et créer automatiquement un lead dans notre CRM Salesforce afin que le client soit rappelé par un commercial.

4. Mémoire et Apprentissage

Un des aspects les plus fascinants des agents virtuels est leur capacité à intégrer des mécanismes de mémoire et d’apprentissage. Comme les humains, les agents peuvent en effet développer une mémoire à court terme (en se souvenant des échanges récents pour améliorer la fluidité des conversations) et une mémoire à long terme (permettant de se souvenir des interactions passées, même plusieurs mois ou années après).

Cela permet aux agents virtuels d’apprendre au fil du temps et d’adapter leurs réponses en fonction des interactions antérieures. Prenons l’exemple d’un chatbot pour Carglass, dont l’objectif serait de maximiser le nombre de rendez-vous de réparation. L’agent pourrait utiliser des arguments différents selon le type de client : insister sur la sécurité pour certains, ou sur le coût pour d’autres. Si un utilisateur semble être plus sensible aux arguments financiers, l’agent pourrait ajuster son discours en conséquence lors des prochaines interactions, tout en s’appuyant sur des milliers d’échanges précédents pour affiner ses réponses.

5. Le Hand-over : Le Passage de Témoin Entre Agent et Humain

Dans la plupart des cas, un agent virtuel peut gérer de manière autonome la majorité des interactions, mais il arrive qu’une intervention humaine soit nécessaire. C’est ici qu’intervient le concept de hand over, qui désigne le moment où l’agent virtuel passe la main à un humain lorsque la requête dépasse ses capacités.

Ce passage est souvent utilisé dans des contextes où l’agent virtuel n’a pas la compétence pour répondre à des questions trop complexes ou sensibles. Cette capacité à transférer le dialogue assure que l’IA ne dépasse pas les limites de son rôle tout en garantissant un service continu et cohérent.

IV) Les agents autonomes et multi-agent systems

1. Des Chatbots aux Agents Autonomes : Une Évolution Naturelle

La prochaine étape dans l’évolution des chatbots concerne les agents autonomes. Contrairement aux agents virtuels, qui se limitent souvent à des tâches prédéfinies, les agents autonomes peuvent accomplir des missions plus complexes en décomposant celles-ci en une série de sous-tâches qu’ils exécutent de manière indépendante.

Prenons un exemple concret qui pourrait se produire dans un contexte d’hospitalité. Supposons qu’un client demande sur Facebook : « Quelles activités puis-je faire avec mes enfants près de l’hôtel à partir de 18 heures ? ». Cette requête n’est pas une simple question à laquelle une base de données prédéfinie pourrait répondre. Un agent autonome va d’abord comprendre la demande, puis rechercher sur Internet des activités pour enfants dans la région, se géolocaliser via une application, et même parcourir les avis en ligne pour vérifier la pertinence des activités. Tout cela se fait de manière autonome, sans intervention humaine, démontrant ainsi la complexité des tâches que ces agents peuvent accomplir.

2. Chain of Thought

Un des aspects les plus fascinants des agents autonomes est leur capacité à réfléchir étape par étape, grâce à un concept appelé le chain of thought. Ce terme, introduit pour la première fois par Google en 2022, permet de forcer les modèles de langage à décomposer les actions qu’ils vont entreprendre pour répondre à une requête. En demandant à l’IA de « réfléchir étape par étape », on améliore même la performance d’un modèle !

Ce mécanisme de réflexion étape par étape est aujourd’hui intégré dans la majorité des modèles d’IA avancés, tels que les modèles de langage GPT. Il existe même une variante appelée tree of thought, où l’IA envisage plusieurs séquences possibles avant de choisir la meilleure option et de la réaliser. Cette approche renforce la capacité des agents à résoudre des tâches complexes de manière méthodique, tout en limitant les erreurs.

2. Multiagents et Collaboration : La Force des Systèmes Décentralisés

Un autre concept clé lié aux agents autonomes est celui des systèmes multi-agents. Ici, plusieurs agents travaillent ensemble pour accomplir une mission complexe en se répartissant les tâches. Par exemple, si vous deviez rédiger une thèse sur l’intelligence artificielle, vous pourriez déléguer différentes étapes à plusieurs agents IA : l’un se chargerait de rechercher les informations en ligne, l’autre rédigerait la thèse en résumant les données, et un troisième agent vérifierait l’orthographe et la précision des informations. En répartissant les rôles de cette manière, vous optimisez l’efficacité globale et réduisez le risque d’erreurs.

Ce système fonctionne également pour des missions techniques, comme la création d’un site web. Un agent pourrait être responsable du design, un autre du développement du code, et un dernier agent testerait le site avant son lancement. L’un des avantages majeurs de cette approche est que chaque agent se spécialise dans une tâche particulière, maximisant ainsi la qualité du résultat final. C’est ce que l’on appelle un agentic workflow, où chaque tâche est attribuée à un agent spécifique en fonction de ses compétences.

Une des forces des systèmes multi-agents réside également dans leur capacité à se souvenir des tâches passées et à améliorer continuellement leurs performances. Chaque agent possède sa propre mémoire spécialisée, par exemple, un agent web designer se souviendra des choix esthétiques qu’il a faits, tandis qu’un développeur se souviendra des configurations techniques utilisées. Cela permet de capitaliser sur les expériences précédentes pour créer des solutions toujours plus performantes.

3. Les multi-agents systems, l’avenir des chatbots ?

Les agents autonomes et les systèmes multiagents représentent une avancée considérable dans le domaine de l’intelligence artificielle. En permettant aux IA de se spécialiser dans des tâches, de collaborer de manière autonome, et de réfléchir étape par étape, ces systèmes apportent une nouvelle dimension à l’automatisation. Que ce soit pour accomplir des tâches complexes, comme la création d’un site web ou l’analyse de données commerciales, ou pour optimiser des processus métier, les agents autonomes ouvrent des possibilités infinies.

Le futur de l’IA réside dans la collaboration entre agents, l’amélioration continue des systèmes et la capacité à gérer des missions complexes sans intervention humaine. Si l’idée d’une automatisation complète peut sembler dystopique, elle offre aussi un potentiel énorme pour de nombreux secteurs…


Si c’est sujets vous intéressent, n’hésitez pas à prendre quelques heures pour suivre l’IAcadémie, une formation gratuite et ouverte à tous sur les différents aspects de l’IA.