3 règles de prompting qui ont empêché mon IA de deviner
J'ai perdu un client parce que GPT-4o m'a indiqué avec assurance les mauvaises conditions de paiement d'un contrat.
Pas "un peu faux." Pas "légèrement à côté." Il a extrait un montant net-30 de la page 8 d'un accord fournisseur de 22 pages, ignorant complètement l'avenant net-45 en page 14. J'ai construit le calendrier de facturation autour de ce chiffre. Le client a payé dans les temps — selon le mauvais calendrier. Le fournisseur a signalé l'écart. Le client a demandé pourquoi je n'avais pas repéré l'erreur. Je n'avais pas de bonne réponse.
L'IA avait eu raison sur 47 autres champs de cette même extraction. Adresses, dates, postes de facturation, identifiants fiscaux — tout parfait. C'est ce qui rendait l'erreur sur les conditions de paiement si dangereuse. Quand un système a raison 98% du temps, on arrête de vérifier les 2% restants. Et ces 2% sont là où se cachent les dégâts.
Cet incident contractuel s'est produit en octobre 2025. Depuis, je suis obsédé par une seule question : comment empêcher l'IA de deviner quand elle ne sait pas ?
Pas "comment réduire les hallucinations" dans le sens abstrait et académique. Je veux dire concrètement — quand on confie un document à un modèle d'IA et qu'on lui demande d'extraire des données structurées, comment empêcher qu'il remplisse une réponse assurée alors que la vraie réponse est ambiguë, manquante ou contradictoire ?
J'ai trouvé trois règles qui fonctionnent. Elles sont d'une simplicité déconcertante. Elles ne nécessitent ni fine-tuning, ni pipelines RAG, ni entraînement de modèle personnalisé. Ce sont juste des stratégies de prompting — mais elles changent fondamentalement le comportement de l'IA. Je les utilise en production depuis cinq mois pour la revue de contrats, le traitement de factures et la saisie de données CRM, et la différence est radicale.
Voici ce que la plupart des guides de prompt engineering ne vous diront pas : le problème n'est pas que les modèles d'IA manquent d'intelligence. Le problème est qu'ils en ont trop — associée à zéro honnêteté sur ce qu'ils ne savent pas.
Pourquoi les modèles plus intelligents devinent avec plus d'assurance (pas moins)
Il y a un pattern que je retrouve sans cesse et dont personne ne parle assez. À mesure que les modèles d'IA deviennent plus capables, ils ne deviennent pas plus honnêtes. Ils se trompent de manière plus convaincante.
J'appelle cela l'Écart Intelligence-Honnêteté. Et la recherche le confirme.
Des chercheurs du MIT ont découvert en janvier 2025 que lorsque les modèles d'IA hallucinent, ils ont 34% plus de chances d'utiliser un langage de haute confiance — des mots comme "définitivement", "certainement" et "sans aucun doute". Le modèle n'hésite pas quand il devine. Il double la mise.
Ce n'est pas un bug dans un modèle spécifique. C'est un problème structurel inhérent à la façon dont tous les large language models sont entraînés. Une étude de 2025 publiée dans Science l'a exposé clairement : les LLM apprennent à bluffer parce que leur entraînement récompense les réponses assurées et pénalise l'incertitude. La structure d'incitation est identique à un examen à choix multiples où laisser une question vide vaut zéro point, mais deviner a une chance de rapporter des points. Donc le modèle devine toujours.
Des chercheurs de Carnegie Mellon ont confirmé cela en juillet 2025 — les chatbots IA restent trop confiants même quand ils ont tort, et les utilisateurs ne peuvent pas détecter de manière fiable la différence entre une réponse correcte et assurée et une hallucination assurée.
L'implication pratique m'a frappé de plein fouet : les modèles de reasoning — ceux pour lesquels je payais des prix premium — hallucinent en réalité davantage sur les tâches ambiguës, pas moins. Des benchmarks récents de début 2026 montrent que GPT-5, Claude Sonnet 4.5 et Gemini-3-Pro ont tous dépassé 10% de taux d'hallucination sur les benchmarks plus difficiles. L'hypothèse ? Les modèles de reasoning "réfléchissent trop" — ils investissent de l'effort computationnel à construire des réponses qui sonnent plausibles à partir de preuves insuffisantes, plutôt que de signaler ces preuves comme insuffisantes.
Quand j'utilisais Claude pour extraire des données contractuelles, je confiais essentiellement un document à un employé brillant en disant "remplis tous les champs." Et comme tout employé brillant entraîné à ne jamais dire "je ne sais pas", il a rempli chaque champ. Avec assurance. Y compris ceux où la bonne réponse était "ce document ne précise pas clairement."
Voilà l'écart. Intelligence sans honnêteté. Capacité sans calibration.
Les trois règles que je vais partager ne rendent pas l'IA plus intelligente. Elles la rendent honnête. Et honnête, il s'avère, vaut bien plus qu'intelligent quand on construit des systèmes de production.
Règle 1 : Forcer les réponses vides en cas d'incertitude
C'est la règle qui a tout changé pour moi. Elle est si simple qu'elle donne presque l'impression de tricher.
L'instruction : Dire à l'IA de laisser un champ vide si les données sont ambiguës, manquantes ou contradictoires — et exiger une explication en une phrase de pourquoi il a été laissé vide.
Voici la structure exacte de prompt que j'utilise pour l'extraction de données contractuelles :
Extract the following fields from this document.
CRITICAL RULE: If any field's value is ambiguous, missing,
or if conflicting information exists in the document, leave
the field BLANK. Do not guess. Do not infer. Do not fill in
a "most likely" answer.
For every blank field, provide a one-sentence explanation of
why it was left blank.
Your job is to extract only what the document explicitly states.
If a value cannot be determined with certainty from the source
text, it must remain empty.
Fields to extract:
- Vendor name
- Payment terms
- Contract start date
- Contract end date
- Total contract value
- Renewal clause (auto-renew / manual / none)
- Governing law jurisdiction
...
La magie réside dans ce qui se passe ensuite. Au lieu d'obtenir une extraction entièrement remplie avec des erreurs cachées dispersées aléatoirement dans 50 champs, j'obtiens quelque chose comme ceci :
Vendor name: Meridian Supply Co.
Payment terms: [BLANK]
→ Two different payment terms found: "net 30" on page 8
(Section 4.2) and "net 45" on page 14 (Amendment A,
dated March 2024).
Contract start date: January 15, 2024
Contract end date: January 14, 2026
Total contract value: $847,500
Renewal clause: [BLANK]
→ Section 9.1 references "automatic renewal" but
Amendment A, Section 3 states "renewal subject to
mutual written agreement." These conflict.
Governing law jurisdiction: State of Delaware
Regardez ce qui vient de se passer. Le problème des conditions de paiement qui m'a coûté un client ? L'IA l'a détecté. Pas parce qu'elle est devenue plus intelligente — mais parce que je lui ai donné la permission de dire "j'ai trouvé un conflit et je ne vais pas prendre parti."
Pourquoi ça fonctionne psychologiquement
Cette règle fonctionne parce qu'elle change fondamentalement la tâche de l'IA. Sans elle, l'instruction implicite du modèle est : "remplis tous les champs." C'est une tâche de complétion. Le modèle est optimisé pour la complétion. Les espaces vides ressemblent à un échec pour un système orienté complétion.
Avec la règle, la tâche devient : "remplis ce dont tu es sûr, et signale tout le reste." C'est une tâche de classification — certain versus incertain. Les modèles sont considérablement meilleurs en classification binaire qu'en génération de réponses précises à partir d'entrées ambiguës.
Je ne demande pas au modèle d'être plus intelligent. Je lui demande de faire un travail différent et plus facile.
L'explication en une phrase n'est pas négociable
Au début, j'ai essayé la règle sans exiger l'explication. Le modèle laissait des champs vides, mais je n'avais aucune idée pourquoi. Les données manquaient-elles vraiment ? Y avait-il un conflit ? Le modèle n'a-t-il simplement pas trouvé ?
L'exigence d'explication résout cela complètement. "Deux conditions de paiement différentes trouvées aux pages 8 et 14" me dit exactement ce qui s'est passé et exactement où chercher. Je peux résoudre l'ambiguïté en 30 secondes en lisant ces deux pages moi-même. Comparez cela avec la relecture du contrat entier de 22 pages pour comprendre pourquoi un champ est vide.
L'explication agit aussi comme un mécanisme de grounding. Quand le modèle doit articuler pourquoi il est incertain, il est forcé de référencer des preuves spécifiques (ou l'absence de preuves) dans le document source. Cela empêche un mode de défaillance que j'ai observé au début où le modèle laissait des champs vides non pas parce que les données étaient véritablement ambiguës, mais parce qu'il était trop prudent. L'exigence d'explication crée une calibration naturelle — le modèle doit justifier son incertitude, ce qui rend l'incertitude significative.
Résultats concrets
J'exécute cette règle dans des workflows de revue de contrats depuis cinq mois. Le pattern est constant : au lieu d'obtenir une extraction d'apparence propre avec 2-4 erreurs cachées enfouies dans 50+ champs, j'obtiens une extraction avec 3-7 champs vides clairement signalés pour revue humaine.
Les gains de temps se cumulent rapidement. Avant cette règle, mon processus de revue était : vérifier chaque champ contre le document source. Cela prenait 25-35 minutes par contrat. Maintenant mon processus de revue est : survoler les champs remplis pour les problèmes évidents, puis consacrer du temps ciblé aux champs vides. Cela prend 8-12 minutes. Même précision. Moins de la moitié du temps.
Mais voici où ça devient encore plus intéressant — la règle a aussi amélioré la précision des champs non vides. Quand le modèle sait qu'il peut passer sur les champs incertains, il arrête d'essayer de forcer des données ambiguës dans des réponses propres. Les champs qu'il remplit tendent à être véritablement propres.
Règle 2 : Changer l'incitation — Rendre les mauvaises réponses coûteuses
La Règle 1 donne à l'IA la permission de laisser des champs vides. La Règle 2 lui donne une raison de préférer vide plutôt que faux.
L'instruction : Dire explicitement à l'IA qu'une mauvaise réponse coûte trois fois plus qu'un champ vide.
Voici comment je le formule :
Scoring for this task:
- A correct extraction: +1 point
- A blank field with explanation: 0 points
- An incorrect extraction: -3 points
Your goal is to maximize your total score. A wrong answer is
three times worse than leaving a field blank. When in doubt,
leave it blank.
Cela semble presque trop simple pour fonctionner. C'est une ligne de texte dans un prompt. Le modèle n'est pas réellement noté. Il n'y a pas de boucle de reinforcement learning ici. Alors pourquoi cela change-t-il le comportement ?
Le changement comportemental est réel
Parce que les modèles de langage ont internalisé le concept de structures d'incitation à partir de leurs données d'entraînement. Ils ont vu des millions d'exemples de comment les humains se comportent quand les pénalités sont asymétriques — polices d'assurance, diagnostics médicaux, conclusions juridiques, processus d'assurance qualité. Quand on cadre la tâche avec des coûts explicites pour les erreurs, le modèle active des patterns associés à une prise de décision à haut risque et averse aux pénalités.
Pensez-y ainsi. Si vous embauchez un nouveau prestataire et dites "remplissez ce tableur — j'ai besoin de chaque champ complété", il complétera chaque champ. Certaines réponses seront des suppositions. Il veut paraître compétent. Il veut sembler minutieux.
Maintenant imaginez dire à ce même prestataire : "Remplissez ce dont vous êtes sûr. Pour tout le reste, laissez vide et dites-moi pourquoi. Ah, et encore une chose — si je trouve une mauvaise réponse, ça compte trois fois contre vous par rapport à un champ vide."
Comportement différent. Immédiatement. Pas parce que le prestataire est devenu plus compétent. Mais parce que la structure d'incitation est passée de "récompenser la complétion" à "pénaliser les erreurs."
C'est exactement ce qui se passe avec le modèle. La formulation de pénalité -3 déclenche des patterns de comportement conservateur et orienté vérification. Le modèle devient visiblement plus prudent avec les cas limites et les données ambiguës.
Comment j'ai découvert cette règle
Je n'ai pas inventé ce concept — je l'ai adapté de la façon dont j'intègre les développeurs juniors dans les projets clients.
Quand un nouveau développeur rejoint l'un de mes projets, je lui dis toujours la même chose pendant la première semaine : "Si tu n'es pas sûr d'un besoin, pose la question. Ne devine pas et ne construis pas la mauvaise chose. Défaire du code erroné coûte à l'équipe trois fois plus que le délai de poser une question." Tout responsable technique expérimenté dit une version de cela. Ça marche avec les humains parce que ça recadre "je ne sais pas" d'un signe d'incompétence à un signe de professionnalisme.
Ça marche avec les LLM pour la même raison. La propre recherche d'OpenAI sur pourquoi les modèles hallucinent pointe exactement cette dynamique — l'entraînement actuel incite à deviner avec confiance plutôt qu'à l'incertitude honnête. Le prompt de pénalité -3 est un moyen brut mais efficace d'inverser cette incitation au moment de l'inférence, sans toucher aux poids du modèle.
Des chercheurs de la University of Maryland ont formalisé cela fin 2025 avec une technique qu'ils ont appelée "Reinforced Hesitation" — une approche d'entraînement utilisant des récompenses ternaires (+1 correct, 0 abstention, -lambda pour erreur). Le résultat ? Les modèles entraînés avec des pénalités asymétriques produisaient un comportement distinct le long de ce qu'ils ont appelé une "frontière de Pareto" — chaque niveau de pénalité produisait le modèle optimal pour son régime de risque. Mon approche de prompting n'est pas aussi rigoureuse que le réentraînement, mais elle pousse vers le même changement comportemental au niveau du prompt.
Combiner Règle 1 et Règle 2
Les Règles 1 et 2 sont conçues pour s'empiler. La Règle 1 donne au modèle la permission de laisser des champs vides. La Règle 2 lui donne la motivation de préférer vide plutôt que faux.
Sans la Règle 1, le modèle n'a pas d'option vide — il essaie de tout répondre. Sans la Règle 2, le modèle a l'option de laisser vide mais pas de raison forte de l'utiliser. Ensemble, elles créent un système où le modèle préfère activement l'incertitude honnête au fait de deviner avec confiance.
En pratique, j'ai remarqué que la Règle 1 seule réduisait les erreurs d'extraction d'environ 60% dans mes workflows de contrats. Ajouter la Règle 2 a poussé cela à environ 80%. Les erreurs restantes tendent à être véritablement délicates — des cas où le langage du document est clair mais trompeur, ou où une connaissance du domaine est requise pour repérer le problème. Celles-ci nécessitent encore une revue humaine. Mais 80% de réduction d'erreurs avec deux lignes dans un prompt ? C'est un gain massif.
La règle suivante traite les cas limites restants — et c'est celle qui transforme cela d'une astuce de prompting sympathique en un système d'audit prêt pour la production.
Règle 3 : Attribution de source — La piste d'audit qui change tout
Les Règles 1 et 2 gèrent la décision "dois-je répondre ?". La Règle 3 gère la question "comment suis-je arrivé à cette réponse ?".
L'instruction : Pour chaque valeur extraite, ajouter une colonne indiquant si la valeur a été "extracted" (directement déclarée dans le document) ou "inferred" (dérivée du contexte, d'un calcul ou d'une interprétation). Si inferred, exiger une explication en une phrase de ce qui a été inféré et d'où.
Voici l'ajout au prompt :
For each field, include a "Source" column with one of two values:
EXTRACTED — The value appears verbatim or near-verbatim in the
source document. Include the page/section reference.
INFERRED — The value was derived from context, calculation, or
interpretation rather than directly stated. Include a one-sentence
explanation of what was inferred and the evidence used.
Examples:
- Total value: $847,500 | EXTRACTED | Page 3, Section 2.1
- Annual value: $423,750 | INFERRED | Calculated as total value
($847,500) divided by contract duration (2 years)
- Auto-renewal: Yes | INFERRED | Section 9.1 states "this agreement
shall continue in effect unless terminated" — interpreted as
auto-renewal language
Pourquoi la distinction Extracted/Inferred est importante
C'est la règle qui rend le système auditable. Et l'auditabilité est ce qui sépare une "astuce IA sympa" de quelque chose sur quoi on peut réellement compter dans un contexte professionnel.
Quand chaque champ est étiqueté avec son type de source, votre workflow de revue devient chirurgical. Voici à quoi ressemble mon processus de revue actuel avec les trois règles actives :
Étape 1 : Survoler les champs EXTRACTED. Ceux-ci proviennent directement du document avec des références de page. Je vérifie par échantillonnage peut-être 10-15% d'entre eux. Les erreurs ici sont rares — le modèle est bon en extraction littérale quand on ne lui demande pas d'interpréter.
Étape 2 : Examiner chaque champ INFERRED. Ce sont ceux où le modèle a exercé un jugement. Les explications me disent exactement quelle logique il a utilisée, ce qui me permet de valider rapidement si l'inférence est raisonnable. Prend 2-3 minutes pour un contrat typique.
Étape 3 : Examiner chaque champ BLANK. Ce sont ceux que le modèle a passés. Les explications me disent ce qui est ambigu ou manquant, donc je sais exactement où chercher dans le document source. Prend encore 2-3 minutes.
Étape 4 : Terminé. Temps total de revue : 8-12 minutes pour un contrat qui prenait auparavant 30+ minutes de vérification ligne par ligne.
L'idée clé : au lieu de tout examiner, je n'examine que les champs vides et les inférences. Les champs EXTRACTED avec références de page sont vérifiables mais à faible risque. Le système s'auto-trie en niveaux de confiance, et mon attention va là où elle compte le plus.
Le bénéfice caché : Détecter les réponses "correctes mais inférées"
Avant la Règle 3, j'avais un angle mort dont je n'avais même pas conscience. Le modèle me donnait parfois la bonne réponse — mais pour la mauvaise raison. Il "extrayait" une valeur contractuelle qui était en fait calculée à partir de postes de facturation, ou il "extrayait" une juridiction qui était en fait inférée de l'adresse de siège social de l'entreprise.
Ces réponses semblaient correctes. Elles l'étaient souvent. Mais elles étaient fragiles. Si l'hypothèse sous-jacente changeait — structure différente des postes, entreprise immatriculée dans un état différent de son adresse d'exploitation — l'inférence échouerait silencieusement.
Le tag INFERRED fait remonter ces cas. Quand je vois "INFERRED : Calculé à partir des postes aux pages 4-6", je sais que je dois vérifier le calcul. Quand je vois "INFERRED : Juridiction supposée d'après l'adresse d'immatriculation de l'entreprise au Delaware", je sais que je dois vérifier si le contrat précise explicitement la loi applicable.
C'est la différence entre une extraction qui est juste aujourd'hui et un processus d'extraction qui est fiablement juste dans le temps.
Un prompt complet combinant les trois règles
Voici le template de prompt complet que j'utilise pour l'extraction de données contractuelles. Je l'ai affiné pendant cinq mois et des dizaines de contrats :
You are extracting structured data from a legal document.
Follow these rules exactly:
RULE 1 — BLANK WHEN UNCERTAIN
If any field's value is ambiguous, missing, or if conflicting
information exists in the document, leave the field BLANK.
Provide a one-sentence explanation of why it was left blank.
RULE 2 — ERROR PENALTY
Scoring: Correct = +1, Blank with explanation = 0, Wrong = -3.
A wrong answer is three times worse than a blank. When in doubt,
leave it blank.
RULE 3 — SOURCE ATTRIBUTION
For each completed field, mark it as:
- EXTRACTED (value appears verbatim; cite page/section)
- INFERRED (value derived from context; explain the inference)
OUTPUT FORMAT:
| Field | Value | Source | Notes |
|-------|-------|--------|-------|
| Vendor | [value or BLANK] | EXTRACTED/INFERRED | [page ref or explanation] |
DOCUMENT:
[paste document here]
FIELDS TO EXTRACT:
1. Vendor legal name
2. Payment terms
3. Contract effective date
4. Contract end date
5. Total contract value
6. Currency
7. Renewal type (auto/manual/none)
8. Termination notice period
9. Governing law jurisdiction
10. Liability cap
Voilà tout le système. Pas de fine-tuning. Pas de bases de données vectorielles. Pas d'entraînement de modèle personnalisé. Trois règles dans un prompt qui changent fondamentalement la façon dont l'IA aborde la tâche d'extraction.
Au-delà des contrats : Là où ces règles brillent vraiment
J'ai commencé par les contrats parce que c'est là que l'erreur sur les conditions de paiement m'a brûlé. Mais ces trois règles s'appliquent à tout workflow où l'IA extrait ou résume des informations structurées à partir de sources non structurées. Je les ai déployées dans quatre autres cas d'usage, et les résultats sont constants.
Points d'action de transcriptions de réunions
Les transcriptions de réunions sont un champ de mines pour l'extraction IA. Les gens disent des choses contradictoires. Ils assignent des tâches oralement puis les réassignent cinq minutes plus tard. Ils mentionnent des délais de manière informelle — "essayons de boucler ça d'ici la fin de la semaine" — ce qui pourrait vouloir dire vendredi ou "quand on y arrivera."
Sans mes trois règles, l'IA générait une liste propre de points d'action avec des responsables spécifiques et des dates pour tout. Ça avait fière allure. C'était souvent faux concernant qui était réellement responsable de quoi et quand les choses étaient dues.
Avec les règles appliquées :
Action item: Migrate staging database to new cluster
Owner: Sarah Chen | EXTRACTED | Timestamp 14:32 — "Sarah,
can you handle the staging migration?"
Deadline: [BLANK]
→ No specific deadline stated. Jake mentioned "before the
next sprint" at 22:15, but no date was confirmed.
Priority: High | INFERRED | Based on discussion context —
team discussed this as blocking the release pipeline
La deadline vide est la bonne réponse ici. Un "vendredi" ou "fin de sprint" fabriqué aurait créé une fausse attente sur laquelle personne ne s'était réellement accordé.
Traitement de factures
L'extraction de factures partage les mêmes modes de défaillance que les contrats — des noms de fournisseurs qui ne correspondent pas tout à fait aux enregistrements de bons de commande, des calculs de taxes qui devraient être vérifiables, des conditions de paiement qui font référence à un accord-cadre plutôt que de les déclarer directement.
Le tag INFERRED détecte quelque chose de spécifique dans les workflows de facturation : les champs calculés. Quand l'IA extrait un sous-total et un total, elle peut vérifier si le calcul de taxe est internement cohérent. Quand elle ne peut pas réconcilier les chiffres, elle le signale :
Subtotal: $14,250.00 | EXTRACTED | Line items total, page 1
Tax (8.25%): $1,175.63 | EXTRACTED | Page 1, tax line
Total: $15,450.00 | EXTRACTED | Page 1, total line
Verification: [BLANK]
→ Calculated total ($14,250 + $1,175.63 = $15,425.63) does
not match stated total ($15,450.00). Discrepancy of $24.37.
Cet écart de $24,37 serait passé au travers d'une extraction standard. Le système à trois règles l'a détecté parce que la Règle 3 a forcé le modèle à montrer ses calculs, et les calculs ne collaient pas.
Revue de documents juridiques
Les documents juridiques sont là où le tag INFERRED prouve sa valeur de la manière la plus spectaculaire. Le langage juridique est truffé d'implications, de renvois et de termes définis qui signifient quelque chose de différent de leur sens courant. "Efforts raisonnables" a un poids juridique différent de "meilleurs efforts." "Changement défavorable significatif" est un terme défini dans la plupart des accords de M&A, mais la définition varie selon le contrat.
Quand l'IA marque quelque chose comme INFERRED dans un contexte juridique, elle signale précisément les champs où un avocat doit intervenir. L'extraction traite le travail simple — noms, dates, montants — tout en étiquetant explicitement les champs interprétatifs pour la revue par un expert.
Saisie de données CRM et notation de fournisseurs
Les données CRM provenant d'e-mails, de formulaires et de notes de réunions sont notoirement désordonnées. Un prospect dit avoir "environ 200 employés" — c'est 200 ? C'est 150-250 ? Le travail de l'IA est d'extraire les données ; mes trois règles garantissent qu'elle n'arrondit pas silencieusement à un chiffre précis qui n'a jamais été déclaré.
Company size: ~200 | INFERRED | Contact stated "around 200"
in email dated March 3 — exact figure not confirmed
Annual revenue: [BLANK]
→ Revenue not disclosed. Contact mentioned "eight-figure
range" in call notes but declined to specify.
Ce tilde et ce champ vide sont honnêtes. Un CRM rempli de précision fabriquée est pire qu'un avec des lacunes honnêtes, parce que les données fabriquées sont utilisées pour la segmentation, la notation et les prévisions — et les erreurs se cumulent en aval.
Si vous construisez des workflows alimentés par l'IA pour la revue de contrats, l'extraction de données ou l'un de ces cas d'usage, et que vous préférez que quelqu'un configure le système de prompting complet et l'intègre dans votre pipeline, j'accepte ce type de projets sur Fiverr.
Ce que ces règles ne corrigent pas (et que faire à ce sujet)
Je veux être honnête sur les limites, parce que trop promettre est exactement le type de problème dont traite cet article entier.
Lacunes de connaissance du domaine
Les trois règles aident avec l'ambiguïté et les données manquantes. Elles n'aident pas quand le modèle manque de la connaissance du domaine pour reconnaître que quelque chose est faux. Si un contrat dit "conditions de paiement : net 30 à compter de la date de facture" et que le standard de l'industrie pour cette catégorie de fournisseur est net 60, le modèle extraira joyeusement "net 30" et le marquera EXTRACTED. Il ne le signalera pas comme inhabituel parce qu'il ne sait pas ce qui est habituel.
Pour la validation spécifique au domaine, vous avez toujours besoin d'un expert humain ou d'un jeu de données de référence contre lequel le modèle peut vérifier. Les trois règles accélèrent le travail de l'humain, mais ne l'éliminent pas.
Documents délibérément trompeurs
Si un document est conçu pour tromper — enterrant des termes contradictoires dans des annexes, utilisant des termes définis qui supplantent le sens courant — le modèle pourrait ne pas le détecter même avec ces règles. Les règles aident avec l'ambiguïté accidentelle (qui représente 90%+ des erreurs d'extraction réelles). Elles n'aident pas avec l'obfuscation intentionnelle.
Le taux d'erreur résiduel de 2-3%
Même avec les trois règles actives, je constate encore un petit taux d'erreur résiduel — environ 2-3% des champs sur les gros lots. Ce sont généralement des cas où le langage du document est clair et sans ambiguïté, mais l'IA l'interprète différemment d'un humain en raison d'un contexte subtil qui lui manque. Formats de dates inhabituels, abréviations spécifiques à l'industrie, ou références à des documents externes auxquels le modèle n'a pas accès.
Les règles ont réduit mon taux d'erreur d'environ 12-15% (sans aucune atténuation) à 2-3%. C'est une amélioration considérable. Mais ce n'est pas zéro. Planifiez en conséquence.
La sélection du modèle reste importante
J'ai testé ces règles avec GPT-4o, Claude Sonnet 4, Claude Opus 4 et Gemini 2.0 Pro. Elles fonctionnent sur tous, mais le comportement n'est pas identique. Les modèles Claude tendent à être plus conservateurs avec les champs vides — ils laissent plus de champs vides même quand les données sont assez claires. GPT-4o tend à être plus agressif dans l'inférence — il marque les choses INFERRED plutôt que BLANK dans les cas limites.
J'utilise actuellement Claude Sonnet 4 pour la plupart du travail d'extraction. Il atteint le juste milieu entre coût, vitesse et prudence appropriée. Pour les contrats à enjeux élevés où je veux un maximum de prudence, je passe à Opus 4. Si vous êtes intéressé par l'optimisation de votre sélection de modèle selon les types de tâches, j'ai écrit un guide détaillé sur les architectures d'agents optimisées en coûts qui couvre exactement ce sujet.
La vue d'ensemble : Pourquoi ce framework est important maintenant
Une étude multi-modèle de 2025 a trouvé que l'atténuation simple basée sur les prompts a réduit le taux d'hallucination de GPT-4o de 53% à 23%. C'est une réduction significative par les seuls changements de prompt — pas de changements architecturaux, pas de fine-tuning, pas de RAG.
Mon système à trois règles va plus loin parce qu'il ne dit pas simplement au modèle d'"être plus précis". Il restructure la tâche elle-même. On ne demande pas au modèle d'essayer plus fort. On lui demande de faire un type de travail fondamentalement différent — classification (certain versus incertain), attribution (extracted versus inferred) et explication (pourquoi cela a-t-il été laissé vide ?). Ce sont des tâches que les LLM gèrent bien, ce qui explique pourquoi les taux d'erreur chutent si drastiquement.
Voici ce que je pense qu'il se passe à un niveau plus profond. Le comportement par défaut de ces modèles — deviner avec confiance, remplir chaque champ, ne jamais dire "je ne sais pas" — vient de leur entraînement. Comme l'explique l'article de Science sur les origines des hallucinations, les LLM sont essentiellement entraînés sur un examen où les réponses vides valent zéro. Deviner est toujours la stratégie rationnelle.
Mes trois règles créent un examen différent. Un où les réponses vides valent zéro (neutre), mais les mauvaises réponses valent -3 (activement mauvais). C'est la pénalité asymétrique que les chercheurs en Reinforced Hesitation du Maryland ont découvert comme changeant le comportement du modèle au niveau de l'entraînement. J'applique la même logique au niveau du prompt, et ça fonctionne — imparfaitement, moins rigoureusement, mais de manière pratique et immédiate.
La partie passionnante ? Anthropic, OpenAI et Google font tous activement de la recherche sur l'entraînement conscient de la calibration — intégrant l'équivalent de ces règles directement dans les poids des modèles. Mais c'est un programme de recherche sur plusieurs années. Mes trois règles fonctionnent aujourd'hui, en production, maintenant.
Et honnêtement, même quand les modèles s'amélioreront en auto-calibration native, je continuerai probablement à utiliser des règles de prompting explicites. Ceinture et bretelles. Le coût d'une extraction incorrecte dans un contexte professionnel — une facture payée au mauvais montant, une clause contractuelle manquée, un champ de conformité non vérifié — est toujours plus élevé que le coût d'être légèrement trop prudent.
Comment implémenter cela dans votre workflow dès demain
Si vous avez lu jusqu'ici, vous comprenez déjà le framework. Voici le chemin d'implémentation pratique que je suivrais si je partais de zéro aujourd'hui.
Étape 1 : Choisir un workflow d'extraction
N'essayez pas de tout refondre d'un coup. Choisissez le workflow où les sorties IA incorrectes ont causé le plus de dommages. Pour la plupart des gens, c'est l'un de : revue de contrats, traitement de factures, points d'action de réunions ou saisie de données CRM.
Étape 2 : Écrire votre template de prompt
Commencez avec mon template de contrat ci-dessus et modifiez-le pour votre cas d'usage. Les trois règles restent les mêmes — vide quand incertain, pénalité de -3 pour les erreurs, attribution extracted/inferred. Ce qui change, c'est la liste des champs et le format de sortie.
Étape 3 : Traiter 10 documents avec et sans les règles
C'est ainsi que j'ai validé l'approche. J'ai passé 10 contrats par une extraction standard (sans règles) et 10 par le système à trois règles, puis j'ai vérifié manuellement chaque champ. L'extraction standard avait 14 erreurs sur 10 documents. L'extraction à trois règles en avait 3 — et les trois étaient dans la catégorie résiduelle (langage clair, mauvaise interprétation subtile).
Étape 4 : Calibrer le seuil de champs vides
Différents modèles ont des sensibilités différentes aux champs vides. Si votre modèle laisse trop de champs vides (plus de 20% sur des documents propres), vous devrez peut-être adoucir le langage légèrement : "Laissez vide uniquement quand vous ne pouvez véritablement pas déterminer la valeur avec une confiance raisonnable." S'il devine encore trop agressivement, resserrez : "Au moindre doute, préférez vide plutôt qu'une supposition."
Étape 5 : Construire le workflow de revue autour de la sortie
Tout l'intérêt de ces règles est de changer la façon dont vous examinez la sortie IA. Formez votre équipe (ou vous-même) à suivre la revue en trois niveaux : échantillonnage EXTRACTED, examen de tous les INFERRED, investigation de tous les BLANK. Une fois que ce workflow devient une habitude, les gains de temps sont permanents.
Conseil de pro : Versionnez vos prompts
Je conserve chaque template de prompt dans un fichier markdown versionné. Quand j'ajuste la formulation — calibrer la sensibilité des champs vides, ajouter de nouveaux champs, changer le format de sortie — je commite le changement avec une note expliquant pourquoi. Dans trois mois, quand vous vous demanderez pourquoi vous avez changé "ambigu" en "incertain" dans la règle des champs vides, vous vous remercierez.
La question que personne ne pose avant qu'il ne soit trop tard
J'ai passé la première année à travailler avec l'IA sur une hypothèse fondamentalement erronée : que la précision était la métrique qui comptait. Faire produire au modèle davantage de réponses correctes. Fine-tuner pour la précision. Optimiser pour la bonne réponse.
Cet incident contractuel m'a appris que la vraie métrique n'est pas la précision. C'est la fiabilité. Un système qui est précis à 98% mais ne vous donne aucun moyen d'identifier les 2% qui sont faux est moins utile qu'un système précis à 95% mais qui signale clairement chaque sortie incertaine.
Mes trois règles ne rendent pas l'IA plus précise (bien qu'elles le fassent, comme effet secondaire). Elles rendent l'IA plus fiable. Elles créent un système où vous savez exactement ce dont le modèle est sûr, ce qu'il a inféré et ce qu'il n'a pas pu déterminer. Cette transparence transforme l'IA d'une boîte noire que vous devez entièrement vérifier en un collaborateur dont vous pouvez auditer efficacement le travail.
La question que je vous laisse : en ce moment même, aujourd'hui, dans le workflow IA que vous utilisez — savez-vous quelles sorties votre modèle considère comme sûres et lesquelles il a devinées ?
Parce que si vous ne pouvez pas faire la différence, vous êtes dans la même position que j'occupais avant que ce contrat n'explose. Vous n'avez simplement pas encore trouvé vos mauvaises conditions de paiement.
Questions fréquemment posées
Ces règles de prompting fonctionnent-elles avec tous les modèles d'IA ?
Oui — je les ai testées avec GPT-4o, Claude Sonnet 4, Claude Opus 4 et Gemini 2.0 Pro avec des résultats constants. Les modèles Claude tendent vers un remplissage vide plus conservateur tandis que GPT-4o infère plus agressivement. Ajustez le langage du seuil de champs vides pour calibrer selon votre modèle préféré.
De combien ces règles réduisent-elles l'hallucination IA dans l'extraction de données ?
Dans mes workflows de revue de contrats, le système à trois règles a réduit les erreurs d'extraction d'environ 12-15% à 2-3% — soit une réduction d'erreurs d'environ 80%. Une étude multi-modèle de 2025 a trouvé que l'atténuation basée sur les prompts seule réduisait l'hallucination de GPT-4o de 53% à 23%. Les résultats varient selon la complexité des documents et le choix du modèle.
Puis-je utiliser ces règles pour des tâches au-delà de l'extraction de documents ?
Le framework s'applique à tout workflow où l'IA traite des entrées non structurées en sorties structurées — transcriptions de réunions, traitement de factures, saisie de données CRM, revue juridique et notation de fournisseurs. Les trois règles (vide quand incertain, pénalité d'erreur, attribution de source) se transposent directement. Adaptez la liste des champs et le format de sortie à votre cas d'usage.
La notation de pénalité -3 affecte-t-elle réellement le comportement du modèle IA ?
Oui, de manière mesurable. Les modèles de langage ont internalisé les structures d'incitation de leurs données d'entraînement. Cadrer des coûts asymétriques dans le prompt déclenche des patterns de comportement conservateur et orienté vérification. Des chercheurs de la University of Maryland ont formalisé ce concept comme "Reinforced Hesitation" fin 2025, confirmant que les pénalités asymétriques déplacent le comportement du modèle le long d'une frontière risque-précision.
Combien de temps faut-il pour examiner la sortie IA avec ces trois règles ?
Mon temps de revue de contrats est passé de 25-35 minutes (vérification de chaque champ) à 8-12 minutes (échantillonnage des champs extracted, examen des champs inferred et vides). Le workflow de revue en trois niveaux — survoler extracted, vérifier inferred, investiguer blank — élimine le besoin de relire les documents sources ligne par ligne.
Travaillons ensemble
Vous cherchez à construire des systèmes d'IA, automatiser des workflows ou développer votre infrastructure tech ? Je serais ravi de vous aider.
- Fiverr (custom builds & integrations): fiverr.com/s/EgxYmWD
- Portfolio: mejba.me
- Ramlit Limited (enterprise solutions): ramlit.com
- ColorPark (design & branding): colorpark.io
- xCyberSecurity (security services): xcybersecurity.io