numa.

Démo

Collez un vrai message : l'agent le lit, le classe, en extrait les données et décide, en direct.

Année
2026
Outils
TypeScript, Regex, React
Exécution
Dans votre navigateur, sans appel à un modèle

Chargement de la démonstration…

En bref

Collez un message reçu — demande de devis, facture, réclamation, avis — et regardez-le être lu, classé et résumé en quelques champs. Vous réglez ensuite les règles qui imposent l'accord d'un humain avant d'agir. Tout se passe dans le navigateur, sans modèle ni réseau.

Ce qu'on y voit

Collez un vrai message : l'agent le lit, le classe, en extrait les données et décide, en direct.

L'idée

Une automatisation n'est pas une boîte noire : chaque étape lit, classe, extrait ou décide quelque chose qu'on peut vérifier sur le texte d'origine.

La fabrication

Classement par mots-clés pondérés, extraction par expressions régulières (montants, dates, contacts), règles de décision modifiables, appel d'outil JSON et validation humaine bloquante, recalculés à chaque frappe.

Sous le capot

5 points d'implémentation

Pile

  • TypeScript strict
  • React
  • Expressions régulières
  • Fonctions pures

Fichiers

  • lib/sim/pipeline.ts
  • lib/sim/pipeline.check.ts
  • components/demos/Aqueduc.tsx
  • components/demos/Aqueduc.module.css

Implémentation

  • Classification par mots-clés pondérés : le score d'une catégorie est la somme des poids de ses motifs non niés ; la confiance est le score gagnant divisé par le total, et un score inférieur à 2 ne classe pas.
  • Les motifs sont cherchés sur un texte replié (minuscules, sans accents) qui garde la même longueur que l'original : les positions de début et de fin restent valables pour surligner le texte saisi.
  • Extraction par expressions régulières : e-mails, téléphones français, montants (avec HT/TTC et multiplicateur k), dates numériques ou en toutes lettres, délais (« sous 6 semaines »), entreprises et urgence. Un champ déjà couvert n'est pas ajouté deux fois.
  • Montants HT ramenés en TTC (× 1,2), échéance = plus petit nombre de jours positif, urgence haute si un mot explicite non nié, moyenne si l'échéance est à 7 jours ou moins.
  • Cinq règles indépendantes (montant ≥ seuil, catégorie à escalader, urgence explicite, confiance < seuil, aucun contact) ; si l'une passe, l'appel d'outil reste en attente de validation humaine. Recalcul après 180 ms de frappe, sans requête.
Travail suivantLe terminal →Un dépôt, des tests qui échouent, un terminal en bac à sable : corrigez vous-même ou lancez Claude Code, Codex ou OpenCode.