Recherche · Système expert
Un système expert construit à partir d'une description en français
Les systèmes experts ont longtemps demandé des mois de modélisation. Dans VVL, il suffit de décrire le domaine, les profils types et la règle de décision, comme on l'expliquerait à un nouveau collaborateur. Le système en tire une ontologie, des profils et des règles, puis crée une nouvelle instruction du langage qui décide sur chaque dossier.
Comment il est construit
La construction se fait une fois, en deux appels au modèle de langage. Le premier produit l'ontologie du domaine : la classe principale, ses attributs et les profils types, représentés comme des objets abstraits qui encodent leurs propriétés caractéristiques. Le second traduit la règle de décision en règles d'inférence : chaque dossier reçoit l'étiquette du profil auquel il correspond le mieux, selon un degré de satisfaction.
- Description en français
- Ontologie et profils
- Règles de décision
- Nouvelle instruction
Ensuite, chaque dossier soumis en texte libre suit toujours le même chemin : le modèle de langage en extrait les champs, les faits sont enregistrés dans l'ontologie, puis les règles décident. Quand les valeurs extraites correspondent exactement aux profils, la décision ne demande aucun appel supplémentaire ; sinon, les comparaisons de sens sont tranchées par Jev ou par le modèle de langage, et mises en cache. L'expert peut être sauvegardé, rechargé dans une autre session, et consulté automatiquement par le résolveur universel.
Exemples en entreprise
Crédit : évaluer un dossier client
Trois profils de risque et une règle de décision, décrits en quelques lignes. L'expert créé s'appelle Scoring et s'utilise comme n'importe quelle instruction.
[expert "
Domaine evaluation risque credit. Dossier client avec nom, revenu,
score_credit (eleve/moyen/faible), anciennete (longue/moyenne/recente),
decision. Profils BonRisque (score_credit eleve, anciennete longue),
RisqueModere (score_credit moyen, anciennete moyenne),
RisqueEleve (score_credit faible, anciennete recente).
decision : 'approuve' si BonRisque, 'a_etudier' si RisqueModere,
'refuse' si RisqueEleve, sinon 'a_etudier'.
" "Scoring"]
[Scoring "Alice, revenu 4500, score eleve, anciennete longue"] # approuve
[Scoring "Bob, revenu 2800, score moyen, anciennete moyenne"] # a_etudier
[Scoring "Carol, revenu 1800, score faible, anciennete recente"] # refuse
Résultats documentés : approuvé, à étudier, refusé.
Support client : priorité et catégorie d'un ticket
Un même expert peut produire plusieurs décisions. Ici, chaque ticket reçoit une priorité et une catégorie.
[expert "
Domaine support SaaS. Ticket avec titre, description, type_probleme
(panne_majeure/bug/question), impact_utilisateurs (eleve/moyen/faible),
urgence_business (critique/haute/basse), priorite, categorie.
Profils Critique (panne_majeure, impact eleve, urgence critique),
Important (bug, impact moyen), Routine (question), Mineur (impact faible).
La priorite est : 'P0' si Critique, 'P1' si Important, 'P2' si Routine,
'P3' si Mineur, sinon 'P2'.
La categorie est : 'incident' si Critique ou Important, 'demande'
si Routine, 'low_prio' si Mineur, sinon 'demande'.
" "TicketTriager"]
[TicketTriager "Production en panne complete, panne_majeure, impact eleve, urgence critique"]
# Ticket[priorite="P0", categorie="incident"]
Comptabilité : classer les flux de trésorerie
Un expert-comptable décrit comment ranger chaque opération bancaire dans le tableau des flux : exploitation, investissement, financement. L'expert classe ensuite les opérations réelles, y compris une opération composée qui produit deux lignes.
$_desc = "Classification d un flux de tresorerie d entreprise ...
Attribut de sortie:
- cycle (exploitation/investissement/capitaux_propres/endettement/placement_financier): ...
Regles:
Vente comptant ou encaissement client = cycle exploitation, ligne recette_exploitation, agregat ETE.
Acquisition machine, immobilisation, brevet = cycle investissement, ligne investissement, agregat FTD.
..."
[expert $_desc "FluxTreso"]
[FluxTreso "Acquisition presse hydraulique 145 000 EUR"] # investissement / investissement / FTD
Cas d'étude documenté : douze opérations réelles classées ; un cas ambigu, l'impôt sur les sociétés, est signalé pour revue.
Réutiliser l'expert : sauvegarde et résolveur
L'expert est sauvegardé dans l'espace de travail et rechargé dans une autre session. Une fois enregistré, le résolveur universel lui confie les questions qui relèvent de son domaine.
[workspace go demo]
[expert:save "Scoring"]
# dans une nouvelle session :
[workspace go demo]
[expert:load "Scoring"]
[Scoring "Eve, revenu 5000, score_credit eleve, anciennete longue"]
$r = [§§? "Évalue le dossier de Alice Dubois, revenu 4500, score élevé, ancienneté longue"]
$r.value # {..., 'decision': 'approuve'}
Ce qu'il garantit, et ses limites
- La décision est prise par des règles écrites et lisibles, que l'on peut relire, modifier et sauvegarder.
- Chaque dossier est d'abord transcrit dans une ontologie : les champs extraits sont visibles et contrôlables.
- Chaque dossier coûte un appel au modèle de langage pour l'extraction ; la construction de l'expert en coûte deux.
- Un expert porte sur une classe principale, et chaque décision attendue doit être nommée dans la description.
Appliquer ces travaux à vos processus ?
Le diagnostic part de votre fonctionnement réel et identifie les décisions qui peuvent être confiées à l'IA.