Source Attribution (Attribution de Sources)
La source attribution en IA est le processus de vérification qui garantit que chaque affirmation dans la réponse d’un LLM peut être tracée à une source identifiable et fiable, qu’il s’agisse d’un document récupéré, d’un résultat de recherche web, d’une API ou d’une base de connaissances.
- Catégorie
- Fiabilité et vérifiabilité des sorties LLM
- Aussi appelé
- Attribution, attributable generation, verifiable generation
- Distinction clé
- Faithfulness ≠ Factuality. L’attribution vérifie la fidélité aux sources fournies, pas la véracité dans l’absolu
- Métriques
- AttrScore, AIS (Attributable to Identified Sources), AutoAIS, SAFE
- Défis principaux
- Hallucination d’attribution, sur-attribution, sous-attribution, conflits de connaissances
- Frameworks
- RARR, Self-RAG, SAFE, SourceCheckup, HAGRID
- Verdict
- La couche de vérification indispensable entre le grounding et la citation. Sans attribution, les citations sont décoratives
Pourquoi l’attribution de sources est critique
Le grounding connecte un LLM à des données externes. La citation affiche des sources dans la réponse. Mais entre les deux, il manque un maillon : la vérification que le contenu généré est réellement supporté par les sources citées. C’est exactement le rôle de la source attribution.
Sans attribution vérifiée, un LLM peut citer une source existante tout en lui attribuant un contenu qu’elle ne contient pas. C’est le problème de l' »hallucination d’attribution » : la source est réelle, mais l’affirmation qui lui est rattachée est inventée. Ce type d’erreur est particulièrement dangereux car il donne une fausse impression de fiabilité.
La survey de HITsz-TMG (2023, maintenue à jour) identifie six problèmes fondamentaux de l’attribution dans les LLM :
| Problème | Description | Impact |
|---|---|---|
| Hallucination d’attribution | L’attribution ne correspond pas fidèlement au contenu de la source | Fausse confiance de l’utilisateur |
| Connaissance paramétrique non attribuable | Le modèle utilise ses connaissances internes mais ne peut pas les attribuer à une source | Affirmations invérifiables |
| Fiabilité variable des sources | Les sources récupérées ne sont pas toutes également fiables | Attribution à des sources de faible qualité |
| Biais d’attribution | Le modèle privilégie certaines sources par biais d’entraînement | Sous-représentation de sources pertinentes |
| Sur-attribution | Trop de sources citées pour une affirmation simple | Bruit, difficulté de vérification |
| Sous-attribution | Des affirmations importantes ne sont pas attribuées | Manque de vérifiabilité |
Deux sens de « source attribution »
Attribution des réponses (côté sortie)
C’est le sens le plus courant : vérifier que les affirmations dans la réponse du LLM sont supportées par les sources qu’il cite. Quand Perplexity affiche « [1] Wikipedia, [2] Reuters » à côté d’une affirmation, la source attribution vérifie que ces sources contiennent effectivement l’information attribuée.
Le cadre formel de Rashkin et al. (2021, Google) définit une sortie comme « attribuable à des sources identifiées » (AIS) si un annotateur humain considère que chaque affirmation est entièrement supportée par les sources citées. Trois niveaux de support sont distingués : support complet, support partiel, et aucun support.
Attribution des données d’entraînement (côté entrée)
Le second sens : identifier quelles données d’entraînement ont influencé une sortie spécifique du modèle. C’est un enjeu de propriété intellectuelle. Si un LLM génère un texte similaire à un article protégé, la source attribution permet d’identifier la contribution de cet article aux poids du modèle.
Le framework WASA (Wang et al., 2023, ICLR 2025) aborde ce problème par le watermarking : le LLM intègre des filigranes dans ses textes synthétiques qui contiennent des informations sur les données d’entraînement sources. Ce mécanisme permet l’attribution même après que le texte a été modifié ou paraphrasé.
Méthodes d’évaluation de l’attribution
AttrScore
AttrScore (Yue et al., 2023, EMNLP) est un framework d’évaluation automatique de l’attribution. Il propose deux approches : prompting de LLM pour évaluer si une réponse est supportée par sa source, et fine-tuning de modèles sur des données simulées de paires (affirmation, source, niveau de support).
AttrScore distingue trois types d’erreurs d’attribution :
| Type d’erreur | Description | Exemple |
|---|---|---|
| Contradictoire | La source contredit l’affirmation | Source : « Le PIB a baissé de 2 %. » Réponse : « Le PIB a augmenté de 2 %. » |
| Extrapolatoire | L’affirmation va au-delà de ce que la source dit | Source : « Le produit est disponible en France. » Réponse : « Le produit est un succès en France. » |
| Non supportée | Aucune information dans la source ne se rapporte à l’affirmation | Source sur la météo. Réponse contient un fait économique |
SAFE (Sentence-Level In-generation Attribution)
SAFE (Batista et al., 2025) évalue l’attribution au niveau de chaque phrase pendant la génération, pas après coup. Chaque phrase est évaluée pour sa traçabilité à une source identifiée. C’est plus granulaire qu’AttrScore (qui évalue au niveau du passage) et permet de localiser précisément les affirmations non attribuées.
RARR (Researching and Revising)
RARR (Gao et al., 2022) adopte une approche corrective : après la génération, un second LLM recherche des sources pour vérifier les affirmations, puis révise la réponse pour la rendre entièrement attribuable. C’est une forme de self-critique spécialisée dans l’attribution.
SourceCheckup
SourceCheckup (Wu et al., Nature Communications, avril 2025) est un pipeline automatisé pour évaluer si les citations LLM supportent réellement les affirmations associées. Il atteint 88,7 % d’accord avec le consensus d’experts médicaux (supérieur au taux d’accord inter-médecins de 86,1 %). C’est le benchmark le plus rigoureux à ce jour pour l’attribution dans le domaine médical.
HAGRID
HAGRID (Kamalloo et al., 2023) est un jeu de données collaboratif humain-LLM pour la recherche d’information générative avec attribution. Il fournit des exemples de réponses avec des citations correctement attribuées, servant de référence pour l’entraînement et l’évaluation de systèmes d’attribution.
Attribution à la génération vs post-hoc
Une recherche récente (Saxena et al., septembre 2025) compare deux stratégies d’attribution :
Attribution à la génération : le modèle produit les citations en même temps que le texte, pendant la génération. C’est l’approche de Perplexity, Google AI Overviews et des systèmes RAG avec citation inline. Avantage : naturel, intégré au flux. Inconvénient : le modèle peut « inventer » des attributions plausibles.
Attribution post-hoc : la réponse est d’abord générée sans citation, puis un second passage recherche et vérifie les sources pour chaque affirmation. C’est l’approche de RARR. Avantage : vérification indépendante. Inconvénient : latence supplémentaire et coût doublé.
L’évaluation holistique montre que les deux approches ont des forces complémentaires. L’attribution à la génération est plus fluide et moins coûteuse. L’attribution post-hoc est plus précise mais plus lente. Les systèmes les plus fiables combinent les deux : citation inline pendant la génération + vérification post-hoc pour les affirmations critiques.
Attribution par plateforme
| Plateforme | Type d’attribution | Qualité |
|---|---|---|
| Perplexity | Citations numérotées avec proéminence, sources cliquables | Bonne (attribution native au cœur du produit) |
| Google AI Overviews | Citations inline avec liens vers les sources web | Variable (dépend du grounding Google Search) |
| ChatGPT (avec web browsing) | Sources affichées en fin de réponse ou inline | Modérée (attribution non systématique, souvent sans lien) |
| Claude (avec web search) | Citations inline avec numéros de source | Bonne (sources structurées dans les métadonnées) |
Un constat important : ChatGPT domine le trafic de référencement IA (87,4 % du trafic de renvoi) mais son attribution est la moins transparente des quatre. Perplexity a la meilleure attribution mais un volume d’utilisation plus faible. Les plateformes priorisent des sources différentes : ChatGPT favorise Wikipedia (7,8 % des citations), Perplexity et Google AI Overviews favorisent Reddit (6,6 % et 2,2 % respectivement).
Impact business de l’attribution
L’attribution est devenue un enjeu commercial. Les données montrent que les marques bien citées par les LLM en 2025 ont vu leur volume de recherche de marque augmenter de 15 à 23 % en 2026. Le trafic de renvoi LLM, bien que représentant seulement 1,08 % du trafic total, convertit à un taux 2x supérieur au trafic traditionnel et nécessite 3x moins de sessions par conversion.
L’attribution détermine donc la visibilité dans l’ère de l’IA conversationnelle. Être mentionné par un LLM augmente la notoriété. Être cité (avec lien) augmente le trafic et la confiance. Les deux ne sont pas interchangeables.
Limites actuelles
L’asymétrie crawl/citation
Les crawlers IA consomment du contenu à un rythme 38 000 fois supérieur à celui auquel ils renvoient du trafic vers les sources. Cette asymétrie soulève des questions éthiques et économiques : les éditeurs de contenu alimentent les LLM mais ne reçoivent qu’une fraction du trafic en retour. La source attribution transparente et les liens cliquables sont une partie de la solution, mais le déséquilibre reste structurel.
Fiabilité de l’évaluation automatique
Les métriques automatiques d’attribution (AttrScore, AutoAIS) sont évaluées par des LLM eux-mêmes, créant un problème de circularité : on utilise un modèle potentiellement défaillant pour évaluer les défaillances d’un autre modèle. SourceCheckup contourne partiellement ce problème en validant contre le consensus d’experts humains, mais à un coût élevé.
Conflits de connaissances
Quand les connaissances paramétrique du modèle (apprises à l’entraînement) contredisent les sources récupérées, le modèle doit choisir. L’attribution correcte exige de suivre les sources fournies, mais les modèles ont une tendance à privilégier leurs connaissances internes quand elles sont fortement ancrées. La gestion de ces conflits reste un problème ouvert.
Bonnes pratiques pour les développeurs
Vérifier l’attribution, pas seulement la citation : afficher des sources ne suffit pas. Implémentez une vérification post-génération qui contrôle que chaque affirmation est effectivement supportée par la source citée. AttrScore ou un LLM-as-Judge dédié peut automatiser cette vérification.
Distinguer les niveaux de support : « support complet », « support partiel » et « non supporté » sont trois réalités très différentes. Ne les traitez pas de la même manière dans votre interface. Un indicateur visuel (vert/orange/rouge) aide l’utilisateur à calibrer sa confiance.
Gérer la connaissance paramétrique : quand le modèle utilise ses connaissances internes (pas de source récupérée), signalez-le explicitement. « Basé sur les connaissances du modèle » est plus honnête que de ne rien dire.
Implémenter l’attribution granulaire : au niveau de la phrase ou du segment, pas seulement au niveau de la réponse entière. SAFE montre que l’attribution phrase par phrase est plus fiable et plus utile que l’attribution globale.
Implémentation de la vérification d’attribution
Voici le pattern standard pour vérifier programmatiquement l’attribution dans un pipeline RAG :
# Vérification d'attribution post-génération
def verify_attribution(response, sources, verifier_model):
"""Vérifie que chaque affirmation est supportée par une source."""
# Découper la réponse en affirmations individuelles
claims = split_into_claims(response)
results = []
for claim in claims:
cited_source = extract_cited_source(claim)
if not cited_source:
results.append({"claim": claim, "status": "non_attributed"})
continue
# Vérifier le support via un LLM juge
verification = verifier_model.generate(
f"L'affirmation suivante est-elle entièrement supportée "
f"par la source ?nn"
f"Affirmation : {claim.text}n"
f"Source : {cited_source.content}nn"
f"Répondez : FULL_SUPPORT, PARTIAL_SUPPORT, "
f"CONTRADICTED, ou NO_SUPPORT"
)
results.append({
"claim": claim,
"source": cited_source,
"status": verification.strip()
})
# Calculer le score d'attribution global
full_support = sum(1 for r in results if r["status"] == "FULL_SUPPORT")
total = len(results)
attribution_score = full_support / total if total > 0 else 0
return {"score": attribution_score, "details": results}En production, ce pattern s’intègre comme middleware entre la génération et l’affichage. Les affirmations avec un support complet sont affichées normalement. Celles avec un support partiel reçoivent un indicateur visuel. Celles sans support ou contredites sont signalées ou supprimées.
Le coût de cette vérification est d’environ un appel LLM supplémentaire par affirmation vérifiée. Pour optimiser, on peut regrouper plusieurs affirmations dans un seul prompt de vérification, ou n’appliquer la vérification qu’aux affirmations les plus critiques (celles contenant des chiffres, des dates, des noms propres).
Pour les équipes qui déploient des systèmes RAG en production, la vérification d’attribution devrait être aussi standard que les tests unitaires en développement logiciel. Chaque release du pipeline devrait inclure une évaluation du score d’attribution sur un jeu de test représentatif. Une dégradation du score signale un problème dans le retriever, le prompt ou le modèle, et doit être traitée avant le déploiement.
Verdict
La source attribution est la couche de vérification qui transforme des citations décoratives en preuves vérifiables. Sans elle, le grounding est un mécanisme technique invisible et les citations sont des liens non vérifiés. Avec elle, chaque affirmation devient traçable, chaque source est vérifiable, et l’utilisateur peut exercer son jugement.
L’état de l’art progresse rapidement (SourceCheckup atteint 88,7 % d’accord avec les experts médicaux), mais les défis restent significatifs : hallucination d’attribution, conflits de connaissances, asymétrie crawl/citation. Pour les développeurs, la recommandation est claire : ne faites pas confiance aux citations générées par le LLM. Vérifiez-les programmatiquement. Et quand la vérification n’est pas possible, signalez-le à l’utilisateur.
Questions fréquentes
Quelle est la différence entre source attribution et citation ?
La citation est l’affichage d’une source dans la réponse (un lien, une référence, un numéro). La source attribution est le processus de vérification qui confirme que la source citée supporte réellement l’affirmation associée. La citation est visible par l’utilisateur. L’attribution est le mécanisme de vérification sous-jacent. Une citation sans attribution vérifiée est un lien décoratif.
Comment évaluer automatiquement la qualité de l’attribution ?
Trois approches principales : AttrScore (prompting ou fine-tuning pour évaluer le support de chaque source), AutoAIS (évaluation binaire attribuable/non-attribuable), et SourceCheckup (pipeline automatisé validé contre le consensus d’experts). Pour la production, un LLM-as-Judge dédié qui vérifie chaque paire (affirmation, source) est le compromis le plus pratique entre coût et fiabilité.
Qu’est-ce que l’hallucination d’attribution ?
C’est le cas où le LLM cite une source réelle mais lui attribue un contenu qu’elle ne contient pas. La source existe, le lien fonctionne, mais l’information attribuée est inventée ou déformée. C’est plus dangereux qu’une hallucination classique car l’utilisateur a l’impression de pouvoir vérifier, mais la vérification confirmerait en fait l’erreur si l’utilisateur ne lit pas attentivement la source.
L’attribution fonctionne-t-elle aussi bien pour toutes les plateformes IA ?
Non. Perplexity a la meilleure attribution (c’est le cœur de son produit). Google AI Overviews propose une attribution structurée via le grounding. ChatGPT a une attribution inconsistante (parfois avec liens, parfois sans). Claude avec web search propose des citations structurées. Les sources privilégiées varient aussi : ChatGPT favorise Wikipedia, Perplexity favorise Reddit. Il n’y a que 11 % de chevauchement entre les domaines cités par ChatGPT et Perplexity.
L’attribution peut-elle protéger contre les litiges de propriété intellectuelle ?
Partiellement. L’attribution des réponses (citer les sources utilisées) aide à la transparence mais ne résout pas le problème de l’attribution des données d’entraînement (quelles données ont formé le modèle). Le framework WASA propose le watermarking pour tracer les données d’entraînement dans les sorties du modèle. C’est un domaine actif de recherche, notamment en lien avec les régulations européennes (AI Act) et américaines sur la propriété intellectuelle du contenu IA.