Aller au contenu
Devenir partenaire
Recherche · Modèle Jev

Faire décider l'IA de l'entreprise, et pouvoir le vérifier

Au cœur de ProSuite, le serveur VAILS et son langage VVL réunissent deux familles d'intelligence artificielle : les modèles de langage, qui comprennent le texte, et le raisonnement symbolique, qui applique des règles de façon exacte et vérifiable. Cette page présente nos choix de modélisation et nos premières mesures.

60 %de bonnes réponses pour un modèle de langage seul quand six règles s'enchaînent
100 %pour le moteur symbolique de VAILS sur les mêmes faits
≈ 0,4 spar décision tranchée par le décideur Jev
2 800questions dans notre banc d'essai
Le problème

Pourquoi un modèle de langage seul ne suffit pas pour gérer une entreprise

Confier à l'IA une part de la gestion, c'est lui confier des milliers de petites décisions par jour : trier une demande, qualifier un client, contrôler un document, appliquer un tarif. Un grand modèle de langage, utilisé seul, n'est pas conçu pour cela.

Plausible n'est pas exact

Un modèle de langage prédit le texte le plus probable. Il ne vérifie rien. Dès qu'il faut enchaîner plusieurs règles, son taux d'erreur augmente nettement.

Aucun degré de certitude

Il rend une réponse, jamais une probabilité exploitable. Or c'est ce dont un processus a besoin pour décider seul, demander une vérification ou passer la main à une personne.

Un coût par décision

Chaque tri ou contrôle devient un appel lent et facturé. À l'échelle d'une entreprise, la latence et le coût deviennent le premier frein.

Des règles invisibles

Quand la règle de gestion est cachée dans une consigne rédigée en langage naturel, personne ne peut l'auditer, la versionner ni prouver qu'elle a été appliquée.

Notre principe

Le modèle propose, le symbolique décide

L'IA neuro-symbolique associe un réseau de neurones, qui apporte la compréhension du langage, à une couche symbolique, qui apporte la logique, la structure et la preuve. Dans VAILS, cette association suit quatre couches.

  1. 01Comprendre

    Le modèle de langage lit le cas particulier : une demande, un devis, un CV ou une facture est transcrit dans le schéma de l'entreprise. Le modèle transcrit, il ne raisonne pas.

  2. 02Modéliser

    L'ontologie porte la connaissance générale : catégories, règles, exceptions et profils types, écrits une fois, compilés en règles logiques.

  3. 03Décider

    Règle, puis Jev, puis modèle de langage, puis humain : chaque décision part vers le moteur le plus simple capable de la prendre avec assez de confiance.

  4. 04Vérifier et tracer

    Contrats, preuves et journal des décisions : quel moteur a tranché, avec quelle confiance, sur quelle règle.

Le langage

Le sens, une valeur du langage VVL

Dans la plupart des outils, les appels à l'IA sont ajoutés par-dessus un langage de programmation classique. Dans VAILS, c'est le langage lui-même, VVL, qui sait manipuler le sens.

Par défaut, une valeur VVL se comporte comme une valeur ordinaire : un texte, un nombre, une liste. Le programme reste déterministe et rapide. Lorsqu'une valeur est marquée comme sémantique, les opérateurs habituels se mettent à juger selon le sens : l'égalité devient une équivalence de sens, l'appartenance une inclusion de concepts, l'ordre une comparaison de rang.

Cette séparation est un choix de conception essentiel : la partie imprévisible du système reste petite, visible et localisée. VVL compte 21 opérateurs de ce type, une instruction qui choisit une branche selon le sens, des tables de décision, des projections sur une échelle ordonnée et des degrés de logique floue mesurés sur un texte.

opérateurs sémantiquesVVL
[semanticMode "jev"]
[print ([§ "a baby penguin"] == [§ "a young penguin"])]           # 1
[print ([§ "a salmon"] in [§ "freshwater and saltwater fish"])]   # 1
[print ([§ "a colonel"] < [§ "a captain"])]                       # 0
Jev

Un décideur rapide dont la confiance est mesurée

Jev est un modèle de décision qui ne rédige pas : il tranche. On lui soumet un texte et des questions typées, de trois formes : oui ou non, un choix parmi des options, une position sur une échelle. Il répond en une seule passe, avec une probabilité calibrée pour chaque réponse.

Nous l'utilisons comme ce que la psychologie cognitive appelle un Système 1 : un mode de décision rapide et économe. Le grand modèle de langage joue le rôle du Système 2, plus lent et plus coûteux, sollicité seulement quand Jev hésite.

Soit p la probabilité donnée par Jev et τ le seuil choisi par le métier, 0,8 par défaut.

Si p ≥ τ, la réponse est oui. Si p ≤ 1 − τ, la réponse est non. Entre les deux, la question passe au modèle de langage, puis à une personne si le doute persiste.

Le seuil devient ainsi un paramètre de gestion : plus il est élevé, plus les cas délicats remontent vers le modèle de langage ou vers une personne. Plusieurs questions portant sur le même texte partent en un seul appel. Chaque décision est journalisée avec le moteur qui l'a prise, sa probabilité et son temps de réponse.

Décisions mesurées
Temps d'une décision Jev0,35 à 0,45 s, dont 2 ms de traitement VAILS
Classification des questions posées au routeur16 sur 16 correctes, confiance ≥ 0,99
Scénarios de routage de référence11 sur 13 tranchés par Jev, tous justes ; les 2 cas volontairement ambigus laissés au modèle de langage
Juge de fin de tâche d'un agent10 sur 10, environ 0,4 s
Trois décisions sur un même ticket, préchargées1 appel au lieu de 3, 0,5 s au lieu de 1,1 s

Mesures de mise au point sur de petits échantillons. Elles seront élargies à plusieurs centaines de cas par type de décision.

Modéliser plutôt que deviner

Chaque connaissance a sa place

La connaissance générale de l'entreprise est écrite dans une ontologie ; le modèle de langage ne fait que transcrire le cas particulier dans cette ontologie ; le raisonnement est confié au moteur symbolique.

Des ontologies compilées en logique

Une ontologie VAILS décrit des classes, des attributs typés et des relations. Elle est traduite automatiquement en clauses logiques, exécutées par un moteur de type Prolog intégré au serveur. L'héritage devient une règle : tout ce qui est un devis de chantier est aussi un devis. Une relation déclarée transitive, comme « se trouve dans », est calculée par une fermeture qui mémorise les éléments déjà visités, ce qui garantit qu'elle termine même lorsque les données contiennent des cycles. Les règles d'exception s'écrivent sous l'hypothèse du monde clos : ce qui n'est ni énoncé ni déductible est considéré comme faux.

fermeture transitivePROLOG
rel(X, r, Z)    :- tc(X, r, Z, [X]).
tc(X, r, Z, _)  :- dedge(X, r, Z).
tc(X, r, Z, V)  :- dedge(X, r, Y), not(member(Y, V)), tc(Y, r, Z, [Y|V]).

Des profils types : les objets abstraits

Pour représenter un profil, un archétype ou une norme, VAILS s'appuie sur la théorie des objets abstraits du logicien Edward Zalta. Un objet abstrait encode les propriétés qui le définissent. Comparer un candidat, un client ou un dossier à un profil donne un degré de satisfaction entre 0 et 1 : la part des propriétés encodées que l'instance possède.

profil abstraitVVL
[semanticMode "jev"]
$rh = [ontology:define rh
    [ontology:class Candidat [attributes
        [nom String] [competence String] [remote String] [niveau String]]]
    [ontology:abstract ProfilDevConfirme : Candidat
        [encode competence "ingenieure logicielle"]
        [encode remote "teletravail complet"]
        [encode niveau "confirmee"]]]
$bob = [new Candidat [nom "Bob"] [competence "boulanger"]
                     [remote "sur site uniquement"] [niveau "apprenti"]]
[print ($bob ~~ "ProfilDevConfirme")]      # ~0.04

Des contrats et des preuves

Emprunté au génie logiciel des systèmes critiques, un contrat précise ce qui doit être vrai avant et après une opération. Un contrat ontologique n'accepte une extraction du modèle de langage que si elle satisfait l'ontologie au-dessus d'un seuil ; sinon, l'extraction est relancée avec l'erreur constatée, puis refusée proprement. Pour la logique propositionnelle, le modèle peut proposer une preuve, mais c'est un petit noyau vérificateur qui l'accepte ou la rejette.

Nous sommes précis sur ce que cela apporte : un contrat ne rend pas le modèle infaillible. Il garantit que ce qui passe a été vérifié contre des règles explicites.

Mesurer

Notre banc d'essai

Pour comparer rigoureusement un modèle de langage seul et la modélisation neuro-symbolique, nous avons construit un générateur de petits mondes : des faits, des règles, des distracteurs et une question dont la réponse est oui ou non. Les noms sont inventés, pour qu'aucune connaissance préalable du modèle ne puisse l'aider.

Moteur VAILS, faits exactsModèle seul, pas à pasModèle seul, réponse directe
50 %60 %70 %80 %90 %100 %k = 1k = 2k = 3k = 4k = 5k = 6PROFONDEUR : NOMBRE DE PHRASES À ENCHAÎNERMoteur VAILS, faits exacts : 100 %Moteur VAILS, faits exacts : 100 %Moteur VAILS, faits exacts : 100 %Moteur VAILS, faits exacts : 100 %Moteur VAILS, faits exacts : 100 %Moteur VAILS, faits exacts : 100 %100 %Modèle seul, pas à pas : 99 %Modèle seul, pas à pas : 95 %Modèle seul, pas à pas : 88 %Modèle seul, pas à pas : 86 %Modèle seul, pas à pas : 84 %Modèle seul, pas à pas : 82 %82 %Modèle seul, réponse directe : 97 %Modèle seul, réponse directe : 87 %Modèle seul, réponse directe : 75 %Modèle seul, réponse directe : 69 %Modèle seul, réponse directe : 64 %Modèle seul, réponse directe : 60 %60 %
2 800 questions pour le modèle seul (gpt-4.1, température nulle). Moteur VAILS : 332 mondes, dont 280 rejoués en deux sessions simultanées sur un serveur VAILS en service.
  • Trois familles de raisonnement : relations transitives avec ou sans cycles, appartenance à des catégories emboîtées, chaînes de règles avec ou sans exceptions.
  • Une profondeur k de 1 à 6 : le nombre de phrases qu'il faut enchaîner pour répondre.
  • Des réponses de référence calculées par un raisonneur indépendant de VAILS, puis recoupées par un second calcul.
  • Le même modèle de langage, gpt-4.1, avec une température nulle, dans toutes les conditions.
Bonnes réponses selon la profondeur
kModèle seul, directModèle seul, pas à pasMoteur VAILS
197 %99 %100 %
287 %95 %100 %
375 %88 %100 %
469 %86 %100 %
564 %84 %100 %
660 %82 %100 %
Ensemble74 %88 %100 %

Le point faible du modèle seul

Les règles d'exception : même en raisonnant pas à pas, il ne répond juste qu'à 72 % de ces questions. Il cite les bonnes phrases, puis conclut qu'on ne peut pas savoir, au lieu d'appliquer l'hypothèse du monde clos énoncée dans le texte.

La chaîne complète

Le modèle de langage extrait les faits, VAILS raisonne : un premier pilote de 52 questions donne 98 % de bonnes réponses, contre 65 % et 87 % pour le modèle seul sur les mêmes questions. Toutes les erreurs restantes viennent de l'extraction et sont mesurées séparément. La campagne complète est en cours.

Ce que nous avons appris

Quand on laisse la connaissance générale dans le texte transmis au modèle d'extraction, celui-ci se met à raisonner à la place du moteur. Informé qu'une relation est transitive, notre extracteur a produit 369 déductions non demandées sur 52 cas, malgré une consigne explicite de ne rien déduire. Retirer cette connaissance du texte et la placer dans l'ontologie a fait disparaître le problème. Le même banc d'essai, rejoué en sessions simultanées, nous a aussi permis de détecter et de corriger un défaut d'isolation entre sessions dans le serveur : mesurer, c'est aussi fiabiliser.

Pour la gestion

Ce que cela change pour l'entreprise

Une règle de gestion écrite en VVL reste lisible par le métier. Voici un routeur de demandes clients : trois décisions typées, confiées à Jev en un seul appel, et une branche d'escalade vers une personne lorsque rien ne correspond.

routeur de demandesVVL
[semanticMode "jev"]
$route = [match [§ $ticket]
    `[[§ "urgent, time-critical"]  [§ "Payments, invoicing, refunds"]]  "on-call billing"
    `[[§ "urgent, time-critical"]  [§ "Bugs, outages, integrations"]]   "on-call technical"
    `[_                            ?team]                               ("queue " + $__team)
    "human escalation"]

Relation client

Routage des demandes, urgence, humeur du client, détection du spam et de la fraude, escalade.

Documents

Extraction guidée par un schéma, classement, contrôle de cohérence avant tout traitement.

Devis et tarifs

Application exacte des règles tarifaires modélisées dans une ontologie, sur des centaines de devis.

Qualification

Comparaison de candidats, de clients ou de dossiers à des profils types, avec un degré de satisfaction.

Transparence

Limites et travaux en cours

Nous préférons dire précisément où nous en sommes.

  • Souveraineté : le modèle de langage est aujourd'hui appelé chez un fournisseur externe, et Jev est servi par Cloudflare. Nous travaillons à pouvoir exécuter ces deux étages dans le périmètre du client.
  • Traçabilité de bout en bout : chaque décision est journalisée, mais le chemin complet, de la source jusqu'à la conclusion et à la règle qui la justifie, reste à assembler.
  • Mesures élargies : la campagne complète de la chaîne neuro-symbolique et des échantillons plus larges pour Jev sont en cours.
  • Échecs explicites : quand un moteur externe ne répond pas, la décision doit échouer de façon visible plutôt que rendre un score trompeur.
Références
  • Kahneman, D. Thinking, Fast and Slow, 2011.
  • Zalta, E. N. Abstract Objects: An Introduction to Axiomatic Metaphysics, 1983.
  • Meyer, B. Applying Design by Contract, IEEE Computer, 1992.
  • Garcez, A. d'A. et Lamb, L. C. Neurosymbolic AI: the 3rd wave, Artificial Intelligence Review, 2023.
  • Dinu, M.-C. et al. SymbolicAI: a framework for logic-based approaches combining generative models and solvers, CoLLAs 2024.
  • Règlement (UE) 2024/1689 sur l'intelligence artificielle, articles 12 à 14.
Passer à la pratique

Appliquer ces travaux à vos processus ?

Ces outils sont des instructions du langage VVL : nos partenaires les mettent en œuvre chez leurs clients, sur les plateformes ProSuite.