Le Web sémantique m’intrigue depuis longtemps. L’idée de transformer le Web en une base de données compréhensible et accessible à l’intelligence artificielle est devenue la base de mon exploration continue. L’idée de créer un système d’alerte intelligent, une sentinelle numérique qui surveille le chaos informationnel d’Internet, était une application qui a continuellement éveillé ma curiosité. Imaginez un robot qui parcourt sans cesse le vaste océan du Web, vous alertant de la survenue d'un événement spécifique, par exemple la sortie d'un nouveau livre. C'est un rêve que je poursuis depuis des années.
L'émergence d'agents autonomes comme AutoGPT et BabyAGI a piqué mon intérêt. Ces systèmes représentaient une nouvelle direction prometteuse pour la technologie de l’IA. J'ai décidé d'expérimenter ces outils, avec l'aspiration de réaliser mon rêve d'un système d'alerte intelligent. Mon enthousiasme s’est cependant vite tempéré. Ces systèmes, bien que avancés, fonctionnent en se concentrant sur un objectif et sa division ultérieure en étapes. Nous sommes bien loin du système de surveillance continue et vigilante que j’envisageais. À ma grande déception, j’ai trouvé leur architecture inadaptée à une telle tâche. Vous pouvez le faire fonctionner parfois, mais de manière peu fiable.
Les lacunes des modèles existants ont déclenché une étincelle pour construire quelque chose de nouveau. J'ai décidé de créer mon propre système, un système d'agents autonomes événementiels. Je l'appelle WhenX.
L'objectif du système est de créer des alertes sous la forme de « Quand X se produit, alors faites Y ». Dans cette version initiale, nous prenons uniquement en charge les alertes par e-mail sous la forme de « Lorsque X se produit, envoyez-moi un rapport par e-mail ».
Le système est composé de quatre agents : le capitaine, l'éclaireur, la sentinelle et le soldat.
Le Capitaine est le chef d'orchestre de cet orchestre. Étant donné une mission, il est chargé de constituer une équipe d'agents : un éclaireur, une sentinelle et un soldat.
Le Scout sert d'explorateur, celui qui se lance dans la quête d'informations pertinentes, créant des « Observations » tout au long de son voyage. Ces observations sont les matières premières essentielles qui alimentent le système WhenX.
La Sentinelle , la gardienne, scrute les N dernières Observations faites par le Scout. Il s'agit d'une entité de discernement, conçue pour identifier les changements, aussi subtils soient-ils, dans les données d'observation. Lorsqu'il détecte quelque chose d'intéressant, il déclenche une « alarme », signalant au soldat d'agir.
Le Soldat , l'exécuteur testamentaire, entre en action dès qu'il reçoit des alarmes de la Sentinelle. Il exécute des instructions basées sur les alarmes, créant un « rapport » qui résume le changement ou l'événement détecté.
$ poetry install
$ poetry run alembic upgrade head
Copiez le fichier .env.example dans .env et remplissez les valeurs. Nous utilisons le service Renvoyer pour envoyer des e-mails. Vous pouvez créer un compte gratuit et l'utiliser pour des tests.
Le but du système est de créer des alertes sous la forme de « Quand X arrive » puis « Envoyez-moi un rapport ». Dans cette version initiale, nous prenons uniquement en charge les alertes par e-mail.
Nous devons d’abord créer une mission. Une mission est une description de l'alerte. Par exemple, « Quand Haruki Murakami sort un nouveau livre ».
$ python -m whenx create --mission " when Haruki Murakami releases a new book. "
Le système commencera à fonctionner et créera une nouvelle observation chaque jour. L'observation est un instantané de l'état actuel de votre requête. Le système comparera les 2 dernières observations et s'il détecte un changement, il enverra un email avec le rapport.
$ python -m whenx monitor
Vous pouvez lister toutes les alertes et leur statut.
$ python -m whenx list
Vous pouvez supprimer une alerte par son identifiant.
$ python -m whenx delete --id a5dc910a-4457-4911-8ba3-c7713588e7ff