BL.Assistant : Vers une plateforme de travail en équipe humain-IA.

Image vedette de BL.Assistant.

Au travail, vous pouvez avoir le meilleur poste qui soit (du moins de votre point de vue), il y a toujours des tâches ennuyeuses et répétitives à faire qui vous donnent l'impression de perdre votre temps. Chez Berger-Levrault, notre objectif est de vous faciliter la vie, c'est pourquoi nous avons travaillé sur BL.Assistant, une plateforme capable d'accueillir des robots basés sur l'IA pour assister les agents administratifs dans leurs tâches quotidiennes répétitives et fastidieuses.

Dans les ressources humaines, la comptabilité et d'autres activités administratives, il existe de nombreuses tâches répétitives à faible valeur ajoutée. Ces tâches alourdissent le travail quotidien et prennent du temps aux travailleurs qui pourraient être consacrés à des activités plus complexes où l'intelligence et la subtilité humaine sont nécessaires. Le rapport récemment publié par le Conseil d'Etat français énumère une quantité incroyable de cas d'utilisation où l'automatisation et l'IA pourraient améliorer les services publics et libérer les agents des tâches à faible valeur ajoutée.
En outre, les activités administratives sont actuellement en pleine transformation du fait de la numérisation. Pour aller de pair avec cela, la méthodologie de développement des logiciels évolue également. En effet, les cadres logiciels, les boîtes à outils graphiques, les pipelines d'empaquetage et de déploiement et les environnements de développement sont en train d'évoluer pour tirer parti des avantages de la numérisation. Low-Code/No-Code cadres, RPA (Robotic Process Automation), et Fonctionnement en tant que service (FaaS), pour faciliter la vie des développeurs. Ces approches nous permettent de reconsidérer complètement la manière dont nous développons les logiciels de gestion. Ces plates-formes offrent des interfaces graphiques faciles à utiliser avec des unités préconfigurées et des outils pour les connecter. Cependant, ces outils, une fois utilisés séparément, ne sont pas assez matures pour répondre à des besoins complexes, et il n'y a pas encore de vision claire sur leurs limites et les fonctionnalités qu'ils offrent une fois connectés ensemble.

Les cadres Low-Code/No-Code, l'automatisation des processus robotiques, la fonction en tant que service nous permettent de reconsidérer complètement la manière dont nous développons les logiciels de gestion.

C'est pourquoi nous avons commencé à étudier la création d'une plateforme qui vise à résoudre le problème des tâches administratives répétitives et fastidieuses en tirant parti de l'intelligence artificielle, du traitement du langage naturel, de l'automatisation robotique des processus et de l'automatisation intelligente des processus. Cette plate-forme ainsi nommée BL.Assistant offre un marché de robots programmables consommables via une interface No-Code/Low-Code pour faciliter l'automatisation des tâches. Cette solution permet de :

  • Offrir à l'utilisateur un ensemble de robots et de fonctionnalités développé de manière simple et rapide en privilégiant le Low-Code Framework capable de répondre à des fonctions complexes grâce à ses langages de script intégrés.
  • Une plateforme de commande et de contrôle tirant parti des technologies Low-Code/No-Code pour administrer un ensemble de robots disponibles et programmer leur exécution, suivre leur progression, les arrêter, etc. Il permet de contrôler ces outils et leur capacité à répondre à notre cas d'utilisation.
  • Assurer un découplage total entre la partie exécutive et l'interface utilisateur. Les robots ne sont pas liés à une entrée particulière, ils fournissent un ensemble de services consommables qui peuvent être utilisés par d'autres applications. L'interaction avec eux doit être aussi simple que possible, en appelant des services ou une API par exemple.
  • Optimiser en permanence les ressources de calcul nécessaires à l'exécution des robots. BL.Assistant doit intégrer nativement une logique de déploiement à la volée, d'ordonnancement et d'allocation dynamique des ressources basée sur l'approche Serverless.
  • Faciliter l'ajout de nouveaux robots en gérant toutes les exigences non fonctionnelles, le code et les techniques, permettant aux développeurs de se concentrer uniquement sur le comportement et les objectifs du robot.

Inside BL.Assistant

La solution est basée sur une architecture découplée avec deux piliers, un plan de contrôle et un plan d'exécution. L'objectif de ce découplage est de fournir un ensemble de services consommables " Robots " qui peuvent être utilisés par d'autres applications, non liées à une entrée particulière. La figure suivante illustre les principaux composants de l'architecture ainsi que la répartition de chaque composant dans chaque plan et l'interaction entre chaque service.

BL.Assistant architecture.
Figure 1 : Architecture de BL.Assistant

Le plan de contrôle permet de superviser, gérer, configurer et suivre l'état des robots. Cette partie est composée d'une application web développée avec l'outil Low-Code Budibase à partir duquel nous allons planifier et lancer les robots. Il contient également une base de données connectée à l'application web et à un connecteur de serveur de streaming en temps réel qui reçoit et enregistre les demandes d'exécution et les logs des robots.
Le plan d'exécution est hébergé sur un serveur distant du dispositif de l'utilisateur. Il est constitué d'une plateforme FaaS open-source, OpenFaaSqui gère les demandes d'exécution des robots, leur lancement et surveille leurs fonctions. Un autre serveur de streaming en temps réel est présent dans ce plan (Agent de messages Kafka), les robots transmettent leurs logs en temps réel au serveur qui les enregistre dans ce que nous appelons "topic". Pour chaque robot, un topic différent est créé.
La dernière composante de ce plan est un serveur d'automatisation qui prendra en charge l'intégration continue et le déploiement automatique de nouveaux robots dans l'infrastructure. Ce serveur est responsable de la création des robots à partir d'un code déposé sur un dépôt de code (ex. Gitlab) et les met à la disposition d'OpenFaaS.

L'interaction entre ces deux plans se déroule comme suit :

  • Lorsqu'une demande d'exécution de flux de travail se produit dans la partie interface utilisateur, les paramètres du flux de travail sont envoyés dans le corps d'une demande "API REST" sous une forme JSON au plan d'exécution, et les fichiers joints sont téléchargés vers le cloud, un espace de stockage distant.
  • Pendant l'exécution des workflows, les robots téléchargent les fichiers joints nécessaires au traitement de la requête et téléchargent les fichiers résultants dans le cloud, tandis que le connecteur lié à la base de données s'abonne au sujet du serveur de streaming et consomme les logs émis par les robots pour les afficher dans l'interface utilisateur en temps réel. A la fin du processus, les bots se connectent au service de messagerie à distance pour envoyer le rapport détaillant les tâches effectuées à l'utilisateur par email.

Quelle est la prochaine étape ?

L'objectif initial était de faciliter l'automatisation des tâches répétitives et fastidieuses. Pour ce faire, nous avons développé une architecture combinant les concepts de Low-Code/No-Code et de RPA pour faciliter l'automatisation et les exposer en tant que bots programmables et consommables, disponibles pour la consommation sur des interfaces Low-Code/No-Code. Toutefois, nous tenons à souligner qu'il s'agit d'une première version du projet. Dans un futur proche, nous souhaitons proposer des robots interactifs permettant à l'utilisateur d'interagir avec eux pour des tâches nécessitant un certain niveau d'expertise humaine. Cela pourrait se faire de plusieurs manières que nous avons l'intention d'explorer : en tant que chatbot, en envoyant des ordres à un robot par e-mail, ou même vocalement par le biais de votre téléphone ou de votre système de vidéoconférence préféré.

Bien sûr, il s'agit de la toute première version de BL.Assistant, nous avons l'intention de continuer à explorer comment cette architecture et ce système peuvent répondre aux difficultés des agents administratifs et comment permettre un accès facile aux toutes dernières technologies et fonctionnalités en matière de RPA et d'IA.

Par Mohamed Moalla

Plus ...

Retour en haut