Aller au contenu
Devenir partenaire
Recherche · Résolveur universel

Une question en langage naturel, le bon moteur pour y répondre

Un responsable pose une question comme il la formulerait à un collègue. Le résolveur universel de VVL reconnaît de quel type de problème il s'agit, puis le confie au moteur spécialisé capable de le résoudre de façon exacte. Quand sa réponse repose sur des hypothèses, il les rend avec leur source et un niveau de confiance.

Comment il fonctionne

Une ligne, quatre étapes

Le résolveur s'écrit en une ligne, sous la forme longue ou sous son alias. La classification est faite par Jev lorsque le mode Jev est actif, par le modèle de langage sinon. Si la confiance est trop faible, sous 0,55, aucun moteur n'est lancé : le résolveur demande une précision au lieu de deviner. Sinon, la question part vers l'une de huit familles de spécialistes.

resolveVVL
[resolve "Combien font 15% de 240 ?"]
[§§ "Combien font 15% de 240 ?"]          # même chose, forme courte
  1. 01Classer la question
  2. 02Contrôler la confiance
  3. 03Confier au spécialiste
  4. 04Rendre une approximation
Huit familles

Le spécialiste qui convient

Chaque famille a son moteur, choisi pour répondre de façon exacte.

01

Calcul

Code VVL généré puis exécuté

« Mensualité d'un crédit, marge, ratio »

02

Optimisation

Solveur de contraintes

« Planifier huit tâches sur trois machines »

03

Requête relationnelle

Moteur logique de type Prolog

« Quels clients dépendent de ce fournisseur ? »

04

Induction de règles

Apprentissage de règles

« Quelle règle distingue les clients fidèles ? »

05

Recherche factuelle

Modèle de langage et base documentaire

« Que dit notre procédure qualité ? »

06

Extraction

Extraction structurée, champs manquants signalés

« Nom, montant et échéance d'une facture »

07

Système expert

Expert enregistré dans la session

« Évaluer un dossier de crédit »

08

Composée

Deux à quatre sous-tâches enchaînées

« Extraire un effectif, puis calculer des équipes »

Un calcul complet rend simplement son résultat. Quand la réponse dépend d'hypothèses, ce n'est plus une simple valeur : c'est une approximation qui porte la valeur, une confiance qui dépend de la part fournie par le modèle de langage, une fourchette, et la liste des hypothèses avec leur source.

Exemples en entreprise

Des questions de métier, des réponses vérifiables

Finance : la mensualité d'un financement

Le directeur financier pose la question telle quelle. Le résolveur la classe comme un calcul, fait écrire la formule d'amortissement puis l'exécute.

Résultat documenté : 1 449,90 € par mois, avec la trace complète du calcul.

créditVVL
$r = [§§? "Calcule la mensualité d'un crédit de 250000 EUR sur 20 ans à 3,5% taux fixe."]
$r                 # 1449.90
[resolve:trace "Calcule la mensualité d'un crédit de 250000 EUR sur 20 ans à 3,5% taux fixe."]

Ressources humaines : une question en deux temps

La question mélange une extraction et un calcul. Le résolveur la découpe en sous-tâches, les exécute dans l'ordre et combine les résultats.

question composéeVVL
$r = [§§? "Extrais le nombre d'employés de 'Acme Corp compte 87 employés', puis calcule combien d'équipes de 5 personnes on peut former."]
$r.value           # 87 employés, soit 17 équipes de 5

Crédit : la question est confiée au système expert

Une fois un système expert enregistré dans la session, le résolveur reconnaît les questions qui relèvent de son domaine et les lui transmet. La décision est prise par les règles de l'expert, pas par le modèle de langage. Après la construction de l'expert, chaque question ne coûte qu'un appel au modèle de langage, pour extraire les données du dossier ; l'inférence n'en utilise aucun.

vers l'expertVVL
[expert "Domaine evaluation risque credit. Dossier client : nom, revenu,
 score_credit (eleve/moyen/faible), anciennete (longue/moyenne/recente),
 decision. ..." "Scoring"]
$r = [§§? "Évalue le dossier de Alice Dubois, revenu 4500, score élevé, ancienneté longue"]
$r.value           # DossierClient [... decision=approuve]
Investissement

Ne pas inventer ce qui manque

Un projet de gîte est soumis sans le coût des travaux ni les revenus attendus. Lors de notre essai, le résolveur n'a pas inventé ces montants : il a rendu la formule de rentabilisation, avec ses inconnues. Si on lui demande explicitement d'estimer, il le fait, et le dit : 22 ans environ, confiance faible, 15 hypothèses listées.

resolveVVL
$q = [resolve "Grange achetée 320 000 EUR, à rénover en gîte : en combien d'années est-elle rentabilisée ?"]
$q             # <approx: (cout_renovation + 320000)/(-charges_annuelles + revenu_annuel) [exact, 1 hypotheses]>

$e = [resolve "Grange de 280 m2 achetée 320 000 EUR dans le Lot, à rénover en gîte : estime un coût de rénovation réaliste, un tarif et un nombre de nuits, puis donne le nombre d'années pour la rentabiliser."]
$e.confidence  # "low" : la réponse repose sur des estimations

Contrôle : vérifier l'aiguillage avant de faire confiance

Avant d'utiliser une réponse, on peut demander au résolveur comment il a classé la question, ou obtenir la trace complète de l'aiguillage et du code généré.

classify · traceVVL
[resolve:classify "Combien font 15% de 240 ?"]   # {family, sub_kind, confidence, reasoning}
[resolve "Combien font 15% de 240 ?"]            # 36.0
[resolve:trace "Combien font 15% de 240 ?"]      # trace complète au format JSON
Garanties

Ce qu'il garantit, et ses limites

  • Une question ambiguë n'est pas devinée : sous le seuil de confiance, le résolveur demande une précision.
  • Une extraction ne remplit jamais un champ absent du texte : les champs manquants sont signalés.
  • Une réponse incertaine porte ses hypothèses, leur source et un niveau de confiance.
  • Le résolveur n'est pas un assistant conversationnel : il sert à résoudre des questions qui relèvent d'un moteur précis. Il utilise toujours au moins un appel au modèle de langage pour classer la question.
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.