Aller au contenu
Sarah Henia.
Toutes les réalisations
The SamurAI

The SamurAI · pour un client cybersécurité au Moyen-Orient · 2026

Système de veille marché

Un système multi-agents qui lit le marché en anglais et en arabe et propose des pistes à un humain. Un graphe, une porte, un humain.

Mon rôle
Architecture, conception de la gouvernance et implémentation
Période
2026, pilote en cours

Technologies

  • Python
  • Pydantic
  • SurrealDB
  • LLM gateway
  • OpenAI
  • Claude
  • MCP
  • Docker
  • GitHub Actions
  • Evals
  • NIST AI RMF
  • ISO 42001

Sur le CV

  • Conception et développement d'un système multi-agents de veille marché pour un client cybersécurité au Moyen-Orient : ingestion de données bilingue (anglais/arabe), classification et extraction LLM à schéma imposé vers un graphe de connaissances SurrealDB, avec revue humaine avant toute écriture CRM.
  • Conception de sa gouvernance IA : une passerelle IA pour chaque appel de modèle ou d'outil (identité, budget, trace), contrôles alignés sur le NIST AI RMF et l'ISO/IEC 42001, et métriques d'évaluation sur un jeu annoté à chaque changement.

Le problème

Le client vend des services de cybersécurité et d'assurance IA dans le Golfe. Chaque jour des régulateurs agissent, des entreprises sont attaquées, des appels d'offres s'ouvrent. Personne ne peut tout lire, et la question est étroite : quelles entreprises de notre territoire viennent de faire quelque chose qui signifie qu'elles ont besoin de nous, et pourquoi ?

Un scraper échoue parce qu'il produit des pages, pas des décisions. Un chatbot échoue parce qu'il peut inventer, ne s'audite pas, et pousserait des affirmations non vérifiées dans le CRM. Trois modes d'échec ont guidé la conception : un modèle qui invente, une entreprise présente deux fois dans les données, et des contrôles qui ne vivent que dans un prompt.

Ce que j'ai construit

Le premier agent est un pipeline fixe, pas une boucle de raisonnement. Les sources en liste blanche sont récupérées et normalisées en anglais et en arabe. Un appel LLM par article renvoie « non pertinent » ou une fiche typée : entreprise telle que nommée, type d'événement et pilier issus de listes fermées, date, citation exacte, raison d'appeler, confiance. Le code vérifie ensuite que la citation existe dans l'article ; sinon la fiche est mise en quarantaine, quoi qu'ait dit le modèle.

Les fiches vérifiées sont rapprochées du graphe de comptes et arrivent dans une file de revue où un relecteur nommé approuve, modifie ou refuse avec un motif. Seule une approbation déclenche l'écriture CRM, via un petit outil qui détient l'unique identifiant d'intégration. L'agent ne le détient jamais.

État en octobre 2026 : ingestion et normalisation tournent sur de vraies sources ; extraction et vérification sont construites et en revue ; rapprochement d'entreprises, file de revue et écriture CRM sont les prochaines étapes ; un jeu d'évaluation annoté se constitue à partir des décisions des relecteurs.

Comment ça marche

Défile tout seul. Cliquez sur une étape pour faire pause.

Décisions et compromis

Un seul store pour documents, graphe et vecteurs
Plutôt qu'une base vectorielle plus une base graphe plus un store documentaire : un schéma, un client, une sauvegarde. Le coût : un moteur jeune, donc test de charge avant la production.
Chaque relation est une arête, jamais un champ
Un fait stocké deux fois finit par se contredire. Les métadonnées de correspondance vivent sur l'arête.
Un LLM classe et extrait pour le pilote
Entraîner un petit classifieur aurait exigé des données annotées inexistantes. Le pilote produit la première vraie fiche des semaines plus tôt, et les décisions des relecteurs deviennent le jeu annoté.
Une commande planifiée plutôt qu'un moteur de workflow
Une vingtaine de sources, une ligne droite, chaque étape testable. L'attente humaine est hors du pipeline.
Le code demande un surnom de modèle, jamais un fournisseur
La passerelle associe le surnom à un modèle avec repli. Le modèle est choisi par son score sur les fiches annotées, pas par sa marque.
Exactement une interface légère
La file de revue est le seul écran construit pour le pilote.

Gouvernance

Une porte : la passerelle IA
L'application détient une clé de passerelle ; les clés des fournisseurs ne vivent que dans la passerelle. Elle gère le repli, réessaie une fois, expire, compte les jetons contre un budget par exécution et enregistre le modèle réel derrière chaque appel. Un test de frontière impose qu'un seul fichier puisse appeler un modèle.
NIST AI RMF
Govern : un propriétaire par agent et un dossier de décision par choix. Map : texte collecté traité comme non fiable, listes fermées, registre de risques. Measure : le jeu d'évaluation. Manage : portes humaines en entrée et en sortie, quarantaine, conditions d'arrêt.
ISO/IEC 42001
La politique comme donnée (table des sources, table des piliers). Piste d'audit dans le graphe de la fiche à l'élément à la source, avec versions de prompt et de modèle, relecteur et motif.
Règles régionales
Lignes directrices régionales en IA et protection des données traduites en supervision humaine, zone de données locale et enrichissement contrôlé des données personnelles.
Évaluation à chaque changement
Un jeu versionné de fiches annotées rejoué à chaque changement de prompt, de modèle ou de liste de sources. Métriques : précision, exactitude du rapprochement, coût par exécution, avec rappel et fidélité proposés.

Ce que j'ai appris

  • L'IA occupe deux cases, un humain en occupe une, et du code ordinaire et une base de données font tout le reste. La fiabilité est venue du code ordinaire.
  • L'application du schéma doit vivre à trois niveaux : assertions en base, modèles typés qui les reflètent avec un test de dérive, et extraction qui renvoie le schéma ou rien.
  • Les vraies sources se comportent mal : protections anti-bot, coquilles JavaScript, PDF, dates peu fiables. La quarantaine avec motif vaut mieux que l'oubli silencieux.
  • Un client de base qui ne lève pas d'erreur sur une instruction échouée dans une transaction vous apprend à lire le statut de chaque instruction. Une fois.

Construit dans un dépôt d'entreprise privé. Noms, identifiants et références internes sont volontairement omis.

Étude de cas suivante

Dawn