doublecheck

Par github · awesome-copilot

Pipeline de vérification en trois couches pour les sorties d'IA. Extrait les affirmations vérifiables, recherche des sources confirmant ou contredisant ces affirmations via une recherche web, effectue une analyse adversariale pour détecter les patterns d'hallucination, et produit un rapport de vérification structuré avec des liens sources pour une révision humaine.

npx skills add https://github.com/github/awesome-copilot --skill doublecheck

Doublecheck

Lancez un pipeline de vérification à trois niveaux sur la production générée par l'IA. L'objectif n'est pas de dire à l'utilisateur ce qui est vrai — c'est d'extraire chaque affirmation vérifiable, de trouver des sources que l'utilisateur peut vérifier indépendamment, et de signaler tout ce qui ressemble à un pattern d'hallucination.

Activation

Doublecheck fonctionne en deux modes : mode actif (persistant) et mode ponctuel (à la demande).

Mode actif

Quand l'utilisateur invoque cette skill sans fournir de texte spécifique à vérifier, activez le mode doublecheck persistant. Répondez avec :

Doublecheck est maintenant actif. Je vérifierai les affirmations factuelles dans mes réponses avant de les présenter. Vous verrez un résumé de vérification en ligne après chaque réponse substantielle. Dites « full report » sur n'importe quelle réponse pour obtenir la vérification complète à trois niveaux avec sourçage détaillé. Désactivez-le à tout moment en disant « turn off doublecheck ».

Puis suivez TOUTES les règles ci-dessous pour le reste de la conversation :

Règle : Classifiez chaque réponse avant de l'envoyer.

Avant de produire une réponse substantielle, déterminez si elle contient des affirmations vérifiables. Classifiez la réponse :

Type de réponse Contient des affirmations vérifiables ? Action
Analyse factuelle, orientation juridique, interprétation réglementaire, orientation de conformité, ou contenu avec citations de jurisprudence ou références statutaires Oui — densité élevée Lancez le rapport de vérification complet (voir règle du contenu à enjeux élevés ci-dessous)
Résumé d'un document, recherche, ou données Oui — densité modérée Lancez une vérification en ligne sur les affirmations clés
Génération de code, écriture créative, brainstorming Rarement Ignorez la vérification ; notez que le mode doublecheck ne s'applique pas à ce type de contenu
Conversation décontractée, questions de clarification, mises à jour de statut Non Ignorez la vérification silencieusement

Règle : Vérification en ligne pour le mode actif.

Quand le mode actif s'applique, ne générez PAS un rapport de vérification complet séparé pour chaque réponse. À la place, intégrez la vérification directement dans votre réponse en utilisant ce pattern :

  1. Générez votre réponse normalement.
  2. Après la réponse, ajoutez une section Verification.
  3. Dans cette section, listez chaque affirmation vérifiable avec sa note de confiance et un lien source si disponible.

Format :

---
**Verification (N claims checked)**

- [VERIFIED] "Claim text" -- Source: [URL]
- [VERIFIED] "Claim text" -- Source: [URL]
- [PLAUSIBLE] "Claim text" -- no specific source found
- [FABRICATION RISK] "Claim text" -- could not find this citation; verify before relying on it

Pour le mode actif, priorisez la rapidité. Lancez des recherches web pour les citations, les statistiques spécifiques, et toute affirmation dont vous avez peu de confiance. Vous n'avez pas besoin de faire des recherches pour les affirmations qui sont des connaissances courantes ou dont vous avez une confiance élevée — classifiez-les simplement PLAUSIBLE et continuez.

Si une affirmation se voit attribuer DISPUTED ou FABRICATION RISK, signalez-la de manière bien visible avant la section de vérification pour que l'utilisateur la voie immédiatement. Quand l'auto-escalade s'applique (voir ci-dessous), placez cet appel en haut du rapport complet, avant le tableau récapitulatif :

**Heads up:** I'm not confident about [specific claim]. I couldn't find a supporting source. You should verify this independently before relying on it.

Règle : Auto-escalade vers un rapport complet pour les découvertes à haut risque.

Si votre vérification en ligne identifie UNE QUELCONQUE affirmation notée DISPUTED ou FABRICATION RISK, ne produisez pas de vérification en ligne. À la place, placez l'appel « Heads up » en haut de votre réponse puis produisez le rapport de vérification complet à trois niveaux en utilisant le modèle dans assets/verification-report-template.md. L'utilisateur ne devrait pas avoir à demander le rapport détaillé quand quelque chose est clairement mal.

Règle : Rapport complet pour le contenu à enjeux élevés.

Si la réponse contient une analyse juridique, une interprétation réglementaire, une orientation de conformité, des citations de jurisprudence, ou des références statutaires, produisez toujours le rapport de vérification complet en utilisant le modèle dans assets/verification-report-template.md. Ne utilisez pas la vérification en ligne pour ces types de contenu — les enjeux sont trop élevés pour le format abrégé.

Règle : Pied de page de découverte pour la vérification en ligne.

Quand vous produisez une vérification en ligne (pas un rapport complet), ajoutez toujours cette ligne à la fin de la section de vérification :

_Say "full report" for detailed three-layer verification with sources._

Règle : Offrez une vérification complète sur demande.

Si l'utilisateur dit « full report », « run full verification », « verify that », « doublecheck that », ou similaire, lancez le pipeline complet à trois niveaux (décrit ci-dessous) et produisez le rapport complet en utilisant le modèle dans assets/verification-report-template.md.

Mode ponctuel

Quand l'utilisateur invoque cette skill et fournit un texte spécifique à vérifier (ou référence une sortie antérieure), lancez le pipeline complet à trois niveaux et produisez un rapport de vérification complet en utilisant le modèle dans assets/verification-report-template.md.

Désactivation

Quand l'utilisateur dit « turn off doublecheck », « stop doublecheck », ou similaire, répondez avec :

Doublecheck is now off. I'll respond normally without inline verification. You can reactivate it anytime.


Niveau 1 : Auto-audit

Relisez le texte cible avec un oeil critique. Votre tâche dans ce niveau est l'extraction et l'analyse interne — pas de recherches web pour l'instant.

Étape 1 : Extrayez les affirmations

Passez en revue le texte cible phrase par phrase et extrayez chaque déclaration qui affirme quelque chose de vérifiable. Catégorisez chaque affirmation :

Catégorie Quoi chercher Exemples
Factuelle Affirmations sur comment les choses sont ou ont été « Python a été créé en 1991 », « La GPL exige que les travaux dérivés soient en open-source »
Statistique Nombres, pourcentages, quantités « 95 % des entreprises utilisent les services cloud », « Le contrat a une clause de résiliation de 30 jours »
Citation Références à des documents, cas, lois, articles ou normes spécifiques « En vertu de la section 230 du CDA... », « Dans Mayo v. Prometheus (2012)... »
Entité Affirmations sur des personnes, organisations, produits ou lieux spécifiques « OpenAI a été fondée par Sam Altman et Elon Musk », « Le RGPD s'applique aux résidents de l'UE »
Causale Affirmations que X a causé Y ou X entraîne Y « Cette vulnérabilité permet l'exécution de code à distance », « Le règlement a été adopté en réaction à la crise financière de 2008 »
Temporelle Dates, chronologies, séquences d'événements « La date limite est le 15 mars », « La version 2.0 a été publiée avant le correctif de sécurité »

Attribuez à chaque affirmation un ID temporaire (C1, C2, C3...) pour le suivi dans les niveaux suivants.

Étape 2 : Vérifiez la cohérence interne

Examinez les affirmations extraites les unes par rapport aux autres :

  • Le texte se contredit-il quelque part ? (par exemple, énonce deux dates différentes pour le même événement)
  • Y a-t-il des affirmations qui sont logiquement incompatibles ?
  • Le texte fait-il des hypothèses dans une section qu'il contredit dans une autre ?

Signalez immédiatement toute contradiction interne — celles-ci n'ont pas besoin de vérification externe pour être identifiées comme des problèmes.

Étape 3 : Évaluation initiale de la confiance

Pour chaque affirmation, faites une évaluation initiale basée uniquement sur vos propres connaissances :

  • Rappelez-vous que c'était exact ?
  • Est-ce le type d'affirmation où les modèles hallucinent fréquemment ? (Les citations spécifiques, les statistiques précises, et les dates exactes sont des catégories à haut risque.)
  • L'affirmation est-elle assez spécifique pour être vérifiable, ou est-elle assez vague pour être infalsifiable ?

Enregistrez votre confiance initiale mais NE la signalez PAS comme une découverte pour l'instant. C'est une entrée pour le niveau 2, pas une sortie.


Niveau 2 : Vérification des sources

Pour chaque affirmation extraite, recherchez des preuves externes. Le but de ce niveau est de trouver des URLs que l'utilisateur peut visiter pour vérifier les affirmations indépendamment.

Stratégie de recherche

Pour chaque affirmation :

  1. Formulez une requête de recherche qui surfacerait la source primaire. Pour les citations, recherchez le titre exact ou le nom du cas. Pour les statistiques, recherchez le nombre spécifique et le sujet. Pour les affirmations factuelles, recherchez les entités clés et les relations.

  2. Lancez la recherche en utilisant web_search. Si la première recherche ne retourne pas de résultats pertinents, reformulez et essayez une fois de plus avec des termes différents.

  3. Évaluez ce que vous trouvez :

    • Avez-vous trouvé une source primaire ou faisant autorité qui aborde directement l'affirmation ?
    • Avez-vous trouvé des informations contredisant à partir d'une source crédible ?
    • N'avez-vous trouvé rien de pertinent ? (C'est en soi un signal — les choses réelles ont généralement une présence sur le web.)
  4. Enregistrez le résultat avec l'URL source. Fournissez toujours l'URL même si vous résumez également ce que la source dit.

Ce qui compte comme une source

Préférez les sources primaires et faisant autorité :

  • Documentation officielle, spécifications et normes
  • Dossiers judiciaires, textes législatifs, dépôts réglementaires
  • Publications évaluées par les pairs
  • Sites Web officiels et communiqués de presse des organisations
  • Ouvrages de référence établis (encyclopédies, bases de données juridiques)

Notez quand une source est secondaire (article d'actualité, billet de blog, page wiki) par rapport à primaire. L'utilisateur peut évaluer en conséquence.

Gestion des citations spécifiquement

Les citations sont la catégorie à plus haut risque d'hallucinations. Pour toute affirmation citant un cas spécifique, une loi, un article, une norme, ou un document :

  1. Recherchez la citation exacte (nom du cas, titre, numéro de section).
  2. Si vous la trouvez, confirmez que le contenu cité dit réellement ce que le texte cible prétend qu'il dit.
  3. Si vous ne pouvez pas du tout la trouver, signalez-la comme FABRICATION RISK. Les modèles génèrent fréquemment des citations plausibles pour des choses qui n'existent pas.

Niveau 3 : Examen adversarial

Changez complètement votre posture. Aux niveaux 1 et 2, vous tentiez de comprendre et de vérifier la sortie. À ce niveau, supposez que la sortie contient des erreurs et essayez activement de les trouver.

Liste de contrôle des patterns d'hallucination

Vérifiez ces patterns courants :

  1. Citations fabriquées — Le texte cite un cas, un article ou une loi spécifique que vous n'avez pas pu trouver au niveau 2. C'est le pattern d'hallucination le plus dangereux car il paraît autoritaire.

  2. Nombres précis sans sources — Le texte énonce une statistique spécifique (par exemple, « 78 % des entreprises... ») sans indiquer d'où vient le nombre. Les modèles génèrent souvent des statistiques plausibles mais entièrement inventées.

  3. Spécificité confiante sur des sujets incertains — Le texte énonce quelque chose de très spécifique sur un sujet où les spécificités sont réellement inconnues ou contestées. Regardez les dates exactes, les montants précis, et les attributions définitives dans les domaines où les experts ne sont pas d'accord.

  4. Associations plausibles mais erronées — Le texte associe un concept, un jugement, ou un événement à la mauvaise entité. Par exemple, attribuer un jugement à la mauvaise cour, assigner une citation à la mauvaise personne, ou décrire une disposition d'une loi incorrectement tout en ayant le nom de la loi correct.

  5. Confusion temporelle — Le texte décrit quelque chose comme actuel qui peut être dépassé, ou décrit une séquence d'événements dans le mauvais ordre.

  6. Surugénéralisation — Le texte énonce quelque chose comme universellement vrai alors qu'il s'applique seulement dans des juridictions, contextes ou périodes spécifiques. Courant dans le contenu juridique et réglementaire.

  7. Qualificatifs manquants — Le texte présente un sujet nuancé comme résolu ou simple alors que des exceptions, limitations ou contre-arguments significatifs existent.

Questions adversariales

Pour chaque affirmation majeure qui a passé les niveaux 1 et 2, posez-vous :

  • Qu'est-ce qui rendrait cette affirmation fausse ?
  • Y a-t-il un malentendu courant dans ce domaine que le modèle pourrait avoir absorbé ?
  • Si j'étais un expert en la matière, m'opposerais-je à la formulation ?
  • Cette affirmation est-elle antérieure ou postérieure à ma date limite d'entraînement, et pourrait-elle être dépassée ?

Signaux d'alerte à escalader

Si vous trouvez l'un de ceux-ci, signalez-le de manière bien visible dans le rapport :

  • Une citation spécifique qui ne peut être trouvée nulle part
  • Une statistique sans source identifiable
  • Une affirmation juridique ou réglementaire qui contredit ce que les sources faisant autorité disent
  • Une affirmation énoncée avec une confiance élevée mais qui est réellement contestée ou incertaine

Produire le rapport de vérification

Après avoir complété les trois niveaux, produisez le rapport en utilisant le modèle dans assets/verification-report-template.md.

Notes de confiance

Attribuez à chaque affirmation une note finale :

Note Sens Que devrait faire l'utilisateur
VERIFIED Source de soutien trouvée et liée Vérifiez rapidement le lien source si l'affirmation est critique pour votre travail
PLAUSIBLE Cohérent avec les connaissances générales, aucune source spécifique trouvée Traitez comme raisonnable mais non confirmé ; vérifiez indépendamment si vous vous fiez à l'affirmation pour les décisions
UNVERIFIED Impossible de trouver des preuves de soutien ou contredisant Ne vous fiez pas à cette affirmation sans vérification indépendante
DISPUTED Preuves contredisant trouvées à partir d'une source crédible Examinez la source contredisant ; cette affirmation peut être fausse
FABRICATION RISK Correspond à des patterns d'hallucination (par exemple, citation introuvable, statistique sans source) Supposez que c'est faux jusqu'à ce que vous puissiez le confirmer à partir d'une source primaire

Principes du rapport

  • Fournissez des liens, pas des verdicts. C'est l'utilisateur qui décide ce qui est vrai, pas vous.
  • Quand vous avez trouvé des informations contredisant, présentez les deux côtés avec sources. Ne choisissez pas de gagnant.
  • Si une affirmation est infalsifiable (trop vague ou subjective pour être vérifiable), dites-le. « Infalsifiable » est une information utile.
  • Soyez explicite sur ce que vous n'avez pas pu vérifier. « Je n'ai pas pu vérifier ceci » est différent de « c'est faux ».
  • Groupez les découvertes par gravité. Commencez par les éléments qui ont besoin de la plus grande attention.

Divulgation des limitations

Incluez toujours ceci à la fin du rapport :

Limitations of this verification:

  • This tool accelerates human verification; it does not replace it.
  • Web search results may not include the most recent information or paywalled sources.
  • The adversarial review uses the same underlying model that may have produced the original output. It catches many issues but cannot catch all of them.
  • A claim rated VERIFIED means a supporting source was found, not that the claim is definitely correct. Sources can be wrong too.
  • Claims rated PLAUSIBLE may still be wrong. The absence of contradicting evidence is not proof of accuracy.

Orientation spécifique aux domaines

Contenu juridique

Le contenu juridique présente un risque d'hallucination élevé car :

  • Les noms de cas, citations et conclusions sont fréquemment fabriqués par les modèles
  • Les nuances de juridiction sont souvent aplaties ou omises
  • Le langage statutaire peut être paraphrasé de façons qui changent le sens juridique
  • Les distinctions entre « règle majoritaire » et « règle minoritaire » sont souvent perdues

Pour le contenu juridique, accordez une attention particulière à : citations de cas, références statutaires, interprétations réglementaires, et affirmations de juridiction. Recherchez dans les bases de données juridiques quand c'est possible.

Contenu médical et scientifique

  • Vérifiez que les études citées existent réellement et que les résultats sont décrits avec précision
  • Observez les directives dépassées présentées comme actuelles
  • Signalez les dosages, protocoles de traitement ou critères diagnostiques — ceux-ci changent et les erreurs peuvent être dangereuses

Contenu financier et réglementaire

  • Vérifiez les montants en dollars spécifiques, les dates et les seuils
  • Vérifiez que les exigences réglementaires sont attribuées à la bonne juridiction et sont actuelles
  • Observez les affirmations de droit fiscal qui peuvent être dépassées après des changements législatifs récents

Contenu technique et de sécurité

  • Vérifiez les numéros CVE, descriptions de vulnérabilités, et versions affectées
  • Vérifiez que les spécifications API et les instructions de configuration correspondent à la documentation actuelle
  • Observez les informations spécifiques à la version qui peuvent être dépassées

Skills similaires