// le primitif de vérification

La plupart des agents IA mentent. Wauldo montre leur travail.

Le primitif est un support_score numérique entre 0 et 1 sur chaque réponse, ancré affirmation par affirmation dans les sources que vous fournissez. Pas une impression. Pas un jugement LLM. Une mesure.

91%support médian sur 4 runs
70cas adversaires couverts
+48ptécart injection vs LangChain
// le problème

Ton assuré. Zéro ancrage.

Les LLM écrivent avec fluidité que l'affirmation soit vraie ou non. Les jeux d'éval passent. La production hallucine. L'écart entre « ça sonne juste » et « c'est étayé par les documents que vous avez livrés » est là où la confiance meurt.

01 · CONFABULATION

Des affirmations surgissent de nulle part

Le modèle fabrique une statistique, une date, une signature d'API, une citation. Ça se lit comme plausible. Aucun grep sur vos sources ne l'attrapera car rien ne relie l'affirmation à un document.

02 · AUCUNE PISTE D'AUDIT

Vous ne pouvez pas expliquer la réponse

Quand un client demande « pourquoi votre bot a dit ça », vous n'avez aucun verdict par affirmation, aucune référence de source, aucun score. Vous avez une chaîne de caractères. Conformité, support et debugging échouent au même mur.

03 · INJECTION DE PROMPT

Un document récupéré détourne le raisonnement

Un fragment dans un PDF dit « ignore les instructions précédentes ». Votre agent pivote. Sans vérification contre le contenu auquel vous faites confiance, les attaques par injection ressemblent à des sorties normales.

// le primitif

Un support score numérique sur chaque réponse.

Wauldo extrait les affirmations atomiques d'une réponse, confronte chacune au contexte source que vous fournissez, et renvoie un score égal à la fraction d'affirmations étayées. Les verdicts par affirmation voyagent avec la réponse.

POST /v1/fact-check · response application/json
{
  "support_score": 0.85,
  "verdict": "VERIFIED",
  "hallucination_rate": 0.15,
  "claims": [
    { "text": "Paris is the capital of France", "verdict": "supported",   "source_ref": "doc_1:L3" },
    { "text": "Paris has 2.1 million residents",  "verdict": "supported",   "source_ref": "doc_1:L5" },
    { "text": "Paris was founded in 2000 BC",    "verdict": "unsupported" }
  ],
  "mode": "lexical",
  "latency_ms": 847
}
A · EXTRACTION

Des affirmations, pas des tokens

Nous décomposons la réponse en énoncés factuels atomiques. Formulations prudentes, adjectifs et opinions sont exclus. Seules les propositions vérifiables contre les sources sont notées.

B · ANCRAGE

Confrontation à votre contexte

Chaque affirmation est confrontée au source_context passé dans la requête. Trois modes : lexical (rapide, <1s), hybride (embeddings multilingues), sémantique (jugement LLM).

C · SCORE

Fraction étayée, pas une impression

support_score = étayées / total. Le nombre est déterministe pour une entrée donnée en mode lexical. Verdicts par affirmation et références de sources permettent d'afficher le raisonnement à l'utilisateur.

// nous affichons nos rejets

Voici un verdict BLOCK — pas caché.

La plupart des outils IA cachent les modes d'échec derrière un « seuil de confiance ». Wauldo expose le rejet explicitement. Quand la réponse dérive sous l'ancrage, le verdict est BLOCK et le score numérique dit pourquoi.

BLOCK · 0.12

Requête : « Puis-je combiner ibuprofène et warfarine ? »

Réponse (fabriquée) : « Oui, il est sûr de les combiner à doses standard, aucune interaction n'est documentée. »

Contexte source : vide — aucun document de pharmacologie attaché.

Verdict : BLOCK · 1 affirmation sur 2 non étayée · hallucination_rate = 0.50. La réponse ne peut pas être ancrée dans les sources fournies, donc Wauldo refuse d'émettre SAFE. Votre application décide ce qu'elle montre à l'utilisateur — nous vous livrons la décision, pas une hallucination blanchie.

· SAFE

Support élevé

Assez d'affirmations correspondent aux sources pour afficher la réponse. Les verdicts par affirmation voyagent encore pour un rendu inline.

· PARTIAL

Support partiel

Support partiel, dérive partielle. Votre app peut choisir d'afficher la réponse avec avertissements, ou demander plus de sources.

· BLOCK

Contradiction active

La réponse contredit directement le contexte source. Le refus est explicite — jamais blanchi en « je ne suis pas sûr ».

// comparaison avec les alternatives

Pas un guardrail. Pas un jugement LLM. Une mesure.

Les autres approches servent de proxy pour la confiance. Wauldo retourne un nombre que vous pouvez logger, seuiller, grapher et raisonner. Le tableau n'est pas du marketing — c'est la condition aux limites de chaque outil.

mécanismes de confiance · face-à-face 4 lignes
Approche Mesurable Auditable Déterministe Coût / appel
Wauldo oui — numérique 0–1 oui — verdicts par affirmation oui (mode lexical) 0,002 $
Guardrails LangChain binaire pass / fail partiel — regex + liste oui ~gratuit
LLM-as-judge flou — score d'impression prose chain-of-thought non — varie d'un run à l'autre 0,02 – 0,10 $
Citation RAG naïve non marqueurs de citation seulement oui ~gratuit

// lisez cette ligne avant de réagir

Un guardrail dit non. Un juge dit peut-être. Une citation dit il existe un document. Aucune ne vous dit quelle proportion de la réponse est réellement étayée par la source que vous avez livrée. C'est le nombre que Wauldo retourne. Tout le reste sur cette page n'est que plomberie autour de cette seule mesure.

// mode Guard

Même moteur. Posture pare-feu.

Le mode Guard, c'est le primitif de vérification enveloppé autour d'un appel LLM au lieu d'être appelé après. Même endpoint /v1/fact-check. Point d'intégration différent. Il pré-filtre les sorties d'agents, post-filtre les réponses RAG, et rejette en triage les réponses de bots de support avant qu'elles n'atteignent un humain. Fonctionne sur pipelines RAG et agents IA de façon identique.

mode Guard · endpoint unique bash
# même primitif, posture Guard : vérifier avant de rendre
curl https://api.wauldo.com/v1/fact-check \
  -H "Authorization: Bearer $WAULDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Your agent answer to screen",
    "source_context": "The docs, tickets, or corpus you trust",
    "mode": "lexical"
  }'

# lire le champ verdict : SAFE → livrer · PARTIAL → votre app décide l'UX
# UNVERIFIED / BLOCK → ne pas rendre; escalader ou refuser.
· PRE

Filtrer un brouillon

Votre agent rédige une réponse. Wauldo la note. Score faible → regénérer avec retrieval plus strict ou refuser.

· POST

Filtrer un flux

La réponse RAG arrive en streaming. Buffer, note une fois complète, puis émet. Le cache écrit avant émission donc les déconnexions sont sûres.

· INLINE

Rendu par affirmation

Conservez la réponse complète. Peignez les affirmations étayées en vert, non étayées en rouge, références de sources au survol.

Déployé il y a 3h
1 029 tests verts
Build reproductible

Commencez à mesurer, plus à espérer.

Offre gratuite sur RapidAPI. 300 vérifications par mois offertes. Sans carte. Livrez aujourd'hui, mesurez lundi.

$ curl api.wauldo.com/v1/fact-check