Aller au contenu

Audit critique et limites

Ce document est la pièce centrale du dépôt.

Le travail dont il est issu a été construit sous forme de fil de discussion, en une journée, par accumulation d'analogies. Cette méthode produit des intuitions justes et des raccourcis qui ne tiennent pas. Publier le fil tel quel exposerait l'ensemble à être écarté sur un détail, alors que l'intuition de départ mérite mieux.

Vingt-trois points sont documentés. Chacun suit la même structure : ce que le fil affirmait, pourquoi c'est un problème, et la formulation retenue. Les corrections sont traçables : chacune est implémentée dans src/, vérifiée dans tests/, et illustrée dans un notebook.

La dernière section, ce que le modèle ne peut pas faire, ne corrige rien : elle énumère les limites qui subsistent, y compris celles qui touchent à l'usage réglementaire de l'index.


A. Nomenclature

1. L'index et l'algorithme sont deux objets distincts

Le fil. Le résumé exécutif écrit « nous préconisons une régulation technique imposant un Index de Dissipation Entropique (ADE) ». Le sigle et le nom désignent deux choses différentes, et le reste du fil emploie les deux indifféremment.

Le problème. Ce n'est pas une coquille. Un index est une métrique — quelque chose qu'un régulateur mesure et dont il fixe un seuil. Un algorithme est un mécanisme — quelque chose qu'une plateforme implémente. Les confondre rend la proposition réglementaire inintelligible : impose-t-on une mesure ou une implémentation ? La différence est considérable, juridiquement comme techniquement.

Retenu.

Sigle Objet Nature Qui l'utilise
IDE Indice de Diversité Exposée métrique auditable, dans \([0, 1]\) le régulateur
ADE Algorithme de Diversité Exposée filtre de recommandation la plateforme

L'IDE se mesure sans accès au code : il suffit d'observer les contenus servis. L'ADE est une façon parmi d'autres de le maintenir au-dessus d'un seuil. Le mémorandum impose le premier et ne prescrit pas le second — imposer une implémentation serait à la fois inapplicable et contre-productif.

Équivalents anglais : Exposed Diversity Index (EDI) et Exposed Diversity Algorithm (EDA).

Et le nom lui-même a été corrigé, après coup

Les deux objets s'appelaient à l'origine Index et Algorithme de Dissipation Entropique**, d'après l'analogie avec la décohérence quantique. Le point B de cet audit démonte cette analogie transfert par transfert, et la conclusion en est qu'aucun de ses emprunts spécifiquement quantiques n'a survécu : ce qui tient est de la mécanique statistique classique.

Garder ce nom aurait été garder une revendication réfutée dans l'intitulé de l'instrument. Le sigle IDE est conservé — il sert de nom de paquet — mais il se lit désormais Indice de Diversité Exposée, ce qui est exactement ce que la mesure retenue calcule : la répartition de l'attention servie entre les points de vue déclarés. Le dépôt et l'adresse du site ont suivi, au prix connu d'avance : GitHub ne redirige pas les pages publiées, et les anciens liens Index-Dissipation-Entropique ne fonctionnent plus. La fonction historique, elle, s'appelle label_diversity_index, parce qu'elle mesure la diversité des étiquettes et rien de plus.

Implémenté dans ide.entropy.label_diversity_index et ide.ade.


B. Corrections mathématiques

2. Le signe du coefficient de régulation

Le fil. Le score de l'ADE est d'abord écrit \(S(i,c) = \mathrm{Pertinence}(i,c) - \mu \cdot \Delta H(i,c)\), puis quelques lignes plus loin : « nous configurons l'algorithme avec un signe positif (\(+\mu \cdot \Delta H\)) pour récompenser les contenus qui maximisent l'entropie ».

Le problème. Les deux versions font l'inverse l'une de l'autre. Avec \(\Delta H > 0\) pour un contenu qui diversifie le fil, la version négative pénalise la diversité : elle refermerait la bulle qu'elle prétend ouvrir. Une plateforme de mauvaise foi pourrait implémenter la première version et se réclamer du texte.

Retenu. \(S(i,c) = \mathrm{Pertinence}(i,c) + \mu \cdot \Delta H(i,c)\) avec \(\mu \ge 0\) et \(\Delta H = H_{\text{futur}} - H_{\text{actuelle}}\). Le code refuse un \(\mu\) négatif par une exception explicite, plutôt que de l'accepter silencieusement.

Vérifié par tests/test_ade.py::TestEntropicScore — dont un test s'assure qu'à \(\mu = 0\) l'ADE est indiscernable d'un filtre d'engagement pur.

3. Les deux échelles de \(N\) : la tension centrale du travail

Le fil. « L'augmentation de la taille \(N\) agit comme une pompe à entropie. » Et, quelques pages plus loin, le terme de diffusion de l'équation de Fokker-Planck : \(B(x) = k_B T (1-x^2) / N\).

Le problème. Ces deux affirmations disent le contraire l'une de l'autre, et c'est la première chose qu'un relecteur de physique statistique relèvera. Le facteur \(1/N\) signifie que plus la population est grande, moins sa variable macroscopique est bruitée : c'est la loi des grands nombres. Une grande population n'est pas plus désordonnée, elle est plus prévisible.

Retenu. Les deux énoncés sont vrais, mais ne portent pas sur le même objet.

  • L'entropie de configuration totale est extensive : elle croît comme \(N\). Il y a effectivement exponentiellement plus de façons pour un million de personnes d'être en désaccord que pour dix.
  • Les fluctuations de la moyenne \(x\) décroissent en \(1/N\). La grandeur observable — le taux d'adhésion à une idée — devient de plus en plus stable.

La thèse défendable n'est donc pas « une grande population devient bruyante » mais :

Une grande population devient rigide. Sa taille ne l'agite pas, elle la prive de plasticité stochastique. Et c'est précisément cette rigidité qui rend le consensus organique inatteignable et la polarisation irréversible : un système sans bruit ne peut plus quitter le puits de potentiel où il est tombé.

Cette reformulation est plus forte que l'originale, pas plus faible : elle explique l'irréversibilité, ce que la version « pompe à entropie » ne faisait pas.

Mesuré dans notebooks/04_fokker_planck_paysage.ipynb — la densité de modérés s'effondre exponentiellement avec \(N\). Vérifié par tests/test_fokker_planck.py::TestDriftAndDiffusion::test_diffusion_decreases_with_population.

4. La dérive \(A(x) = Jx + H\) ne peut produire aucune transition de phase

Le fil. Le potentiel social est posé comme \(V(x) = -\frac{J}{2}x^2 - Hx\), d'où la dérive \(A(x) = -\partial_x V = Jx + H\) et la distribution stationnaire \(P_{\text{stat}}(x) \propto \exp\!\left(\frac{2N}{k_BT}\left(\frac{J}{2}x^2 + Hx\right)\right)\).

Le problème. Cette exponentielle est convexe : elle est maximale aux extrêmes \(x = \pm 1\) pour toute température. Le modèle prédit donc une société éternellement polarisée, y compris à température infinie — l'inverse du « scénario A » que le fil décrit deux paragraphes plus loin. Aucune transition de phase n'existe dans cette formulation. De plus, \(A(x) = Jx + H\) est non bornée : rien n'y retient l'opinion dans \([-1, 1]\).

Retenu. Le terme manquant est l'entropie de mélange — le nombre de configurations individuelles compatibles avec une opinion moyenne \(x\). En l'ajoutant, on obtient exactement l'énergie libre de Helmholtz que le fil invoquait sans jamais l'écrire :

\[f(x) = \underbrace{-\frac{J}{2}x^2 - Hx}_{E} \; + \; T \underbrace{\left[\frac{1+x}{2}\ln\frac{1+x}{2} + \frac{1-x}{2}\ln\frac{1-x}{2}\right]}_{-S}\]

d'où :

\[A(x) = -f'(x) = Jx + H - T\,\mathrm{artanh}(x)\]

Le rappel entropique \(-T\,\mathrm{artanh}(x)\) diverge aux opinions unanimes, ce qui borne la dynamique, et fait apparaître une vraie température critique de champ moyen \(T_c = J\). La formulation du fil en est la linéarisation au voisinage de \(x = 0\) : elle n'était pas fausse, elle était incomplète — et incomplète précisément là où se joue le phénomène qu'elle prétendait décrire.

Implémenté dans ide.fokker_planck.mean_field_free_energy et drift_term. Vérifié par tests/test_fokker_planck.py::TestFreeEnergy.

5. Les probabilités de transition biaisées du Voter Model deviennent négatives

Le fil. \(P(x \to x + \tfrac{1}{N}) = x(1-x) + h(1-x)\) et \(P(x \to x - \tfrac{1}{N}) = x(1-x) - hx\).

Le problème. La seconde s'écrit \(x(1 - x - h)\) : elle est négative dès que \(h > 1-x\). Ce n'est plus une probabilité.

Retenu. Les deux canaux d'influence sont mélangés au lieu d'être additionnés — avec la probabilité \(h\), l'individu écoute la source médiatique plutôt que son voisin :

\[P(x \to x + \tfrac{1}{N}) = (1-h)\,x(1-x) + h\,(1-x) \qquad P(x \to x - \tfrac{1}{N}) = (1-h)\,x(1-x)\]

Cette forme reste positive sur tout \(h \in [0,1]\), se réduit exactement au Voter Model classique en \(h = 0\), et conserve la dérive asymétrique qui faisait l'intérêt de la formulation initiale.

Vérifié par tests/test_voter.py::TestDisinformationBias::test_maximal_bias_never_produces_negative_probabilities, qui exécute le modèle à \(h = 1\).

6. Le signe du rappel dans l'équation de résonance

Le fil. \(\ddot{V} + (\lambda - \gamma\alpha)\dot{V} - \omega_0^2 V = \xi(t)\).

Le problème. Le signe négatif du terme de rappel fait du point d'équilibre un col instable quels que soient les autres paramètres. Le système divergerait même à gain algorithmique nul, et le critère \(\gamma\alpha > \lambda\) — qui est le résultat le plus intéressant de tout le fil — perdrait tout contenu.

Retenu. \(\ddot{V} + (\lambda - \gamma\alpha\,\sigma(V))\dot{V} + \omega_0^2 V = \xi(t)\). Avec le signe correct, l'instabilité provient bien de l'amortissement effectif négatif, et le critère devient significatif.

7. Une résonance non bornée ne décrit rien d'observable

Le fil. « La visibilité \(V(t)\) n'oscille plus, elle explose de manière exponentielle : \(V(t) \propto e^{(\gamma\alpha - \lambda)t}\). »

Le problème. Mathématiquement exact, physiquement vide : l'attention disponible est finie. Un modèle qui prédit une visibilité infinie ne permet ni de comparer deux configurations, ni de calibrer un seuil.

Retenu. Un facteur de saturation \(\sigma(V) = 1/\big(1 + (V/V_{\text{sat}})^2\big)\) éteint progressivement l'amplification à mesure que la visibilité approche la capacité d'attention. Le système ne diverge plus : il s'installe dans un cycle limite de type Van der Pol — une oscillation médiatique auto-entretenue d'amplitude finie.

C'est un gain de réalisme, pas un artifice de convergence : ce que l'on observe d'une fausse information installée n'est pas une explosion, c'est un sujet qui revient périodiquement.

Illustré dans notebooks/06_resonance_larsen.ipynb, où les deux régimes sont tracés côte à côte.


C. Requalifications conceptuelles

8. La décohérence n'augmente pas l'entropie du système global

Le fil. « L'entropie de von Neumann a bondi de \(0\) à une valeur positive. »

Le problème. L'évolution d'un système quantique fermé est unitaire, donc l'entropie de von Neumann du tout est rigoureusement constante. Ce qui croît, c'est l'entropie du sous-système réduit — obtenue en traçant sur les degrés de liberté de l'environnement. L'information n'est pas détruite, elle est délocalisée dans les corrélations système-environnement. Un physicien écarte l'analogie en une phrase si ce point n'est pas posé.

Retenu. La formulation précise, et une précision associée qui renforce l'analogie plutôt qu'elle ne l'affaiblit : une superposition cohérente est un état pur, d'entropie nulle. Ce n'est donc pas la multiplicité des possibilités qui produit du désordre, c'est la perte de cohérence entre elles.

Le pendant social est plus juste ainsi : une population où chacun garde plusieurs opinions ouvertes n'est pas désordonnée. Le désordre naît du contact avec un environnement qui fixe les positions.

Vérifié par tests/test_entropy.py::TestVonNeumannEntropy::test_superposition_is_still_pure.

9. « Effet tunnel social » : requalifié en métaphore

Le fil. Le basculement direct d'un extrême à l'autre sans passer par la modération est attribué à un « effet tunnel social ».

Le problème. L'effet tunnel est un phénomène strictement quantique, sans équivalent dans un système classique bruité. Le mécanisme correct porte un nom et une théorie : le franchissement de barrière par activation thermique, décrit par la formule de Kramers, dont le taux est \(\propto e^{-\Delta V / k_B T}\).

Retenu. Kramers comme mécanisme, l'effet tunnel comme image explicitement signalée. La différence n'est pas cosmétique : la loi de Kramers est testable et donne une dépendance en température que le tunnel ne donne pas. On perd une image séduisante, on gagne une prédiction.

10. \(1/k^N\) décrit un état initial, pas une dynamique

Le fil. « La probabilité d'obtenir une unanimité spontanée s'effondre en \(1/k^N\). »

Le problème. Ce calcul suppose \(N\) individus tirant leur opinion indépendamment parmi \(k\) options. C'est la probabilité d'une unanimité par hasard à l'instant initial — or tout l'intérêt du sujet est que les individus interagissent, et que c'est cette interaction qui produit (ou non) le consensus. Le chiffre est juste et hors sujet.

Retenu. L'énoncé est conservé comme description de l'état initial, et la question dynamique est traitée là où elle a un sens : le temps de consensus du Voter Model, qui croît en \(N\) (réseau globalisé) ou \(N^2\) (voisinage local).

11. \(\tau_D \propto \tau_R / N\) est une heuristique, pas un résultat

Le fil. Le temps de décohérence est donné comme inversement proportionnel au nombre de particules de l'environnement.

Le problème. Le résultat de Zurek fait intervenir la séparation spatiale des composantes de la superposition et la longueur d'onde thermique de de Broglie, pas un \(1/N\) littéral. Présenté comme une loi, l'énoncé est faux ; présenté comme un ordre de grandeur, il est utile.

Retenu. L'expression est conservée, explicitement étiquetée comme loi d'échelle heuristique, avec la référence au calcul exact.


D. Arguments à reformuler

12. La connectivité globale accélère le consensus, elle ne l'empêche pas

Le fil. « Le réseau social passe d'un réseau classique à un réseau small-world à couplage infini […] rendant tout consensus macroscopique strictement impossible. »

Le problème. C'est mesurablement faux. Le temps de consensus du Voter Model croît comme \(N^2\) sur un anneau, \(N \ln N\) en dimension 2, et \(N\) seulement en champ moyen. Un réseau densément connecté converge donc plus vite qu'un voisinage géographique. Le fil cite d'ailleurs ces lois correctement une page plus tôt, avant d'en tirer la conclusion inverse.

Retenu. La connectivité n'est pas la cause de la fragmentation. Elle amplifie et accélère — dans la direction que le champ lui donne. Les vraies causes sont :

  1. le biais directionnel \(h\) des micro-champs algorithmiques \(H_i(t)\) ;
  2. l'homophilie — le fait que les liens créés relient des individus déjà semblables, ce qui compartimente le réseau en sous-graphes internes.

La conséquence est importante pour le mémorandum : le levier utile porte sur le champ, pas sur le nombre de liens. Brider la portée des partages reste défendable comme mesure d'urgence, mais ce n'est pas la connectivité en soi qu'il faut viser.

Mesuré dans notebooks/03_voter_consensus_et_taille.ipynb. Vérifié par tests/test_voter.py::TestConsensusScaling::test_global_connectivity_accelerates_consensus.

13. Deux températures critiques, deux significations

Observation. Le dépôt manipule deux valeurs critiques différentes, et il faut dire laquelle sert à quoi :

Modèle \(T_c\) Signification
Ising 2D (Onsager, exact) \(2/\ln(1+\sqrt{2}) \approx 2{,}269\,J\) voisinage géographique, 4 voisins
Champ moyen (Curie-Weiss) \(J\) chacun subit l'opinion moyenne de tous

L'écart n'est pas une erreur : le champ moyen surestime la cohésion, donc sous-estime la température nécessaire pour la briser. La comparaison a un sens sociologique — un réseau social globalisé est plus proche du champ moyen qu'un voisinage réel, ce qui signifie qu'il est plus fragile à la polarisation, pas moins.

La valeur d'Onsager sert de test de validation du code : c'est le seul point du dépôt où une prédiction théorique exacte, indépendante de nos hypothèses sociologiques, peut confirmer que l'implémentation est correcte.

Mesuré dans notebooks/02_ising_temperature_sociale.ipynb.


E. Le prototype logiciel

14. Cinq défauts du code du fil

Le prototype pygame est conservé tel quel dans legacy/simulation_thread_2026-08.py, et réimplémenté proprement dans ide.abm.

  1. Aucune température sociale. C'est le défaut le plus lourd, et il est silencieux : sans agitation individuelle, le conformisme est une force purement contractante. La population s'effondre sur un point unique, l'IDE tombe à zéro quels que soient les autres réglages, et le modèle ne peut représenter ni le débat fluide ni l'effet du bruit thermique que la note propose précisément d'injecter. Le paramètre central de toute la théorie était absent de sa seule implémentation.
  2. Contamination par téléportation. infecter() écrivait self.opinion.x = 1.0 if self.opinion.x > 0 else -1.0 : l'individu était instantanément placé dans un coin du compas. Toute dynamique ultérieure disparaissait, et la « polarisation » mesurée n'était plus qu'un décompte de contaminations. Remplacé par une radicalisation progressive.
  3. Vérification infaillible. Tout individu contaminé passant à portée d'un fact-checker était soigné avec certitude — hypothèse que la littérature sur l'hystérésis des croyances, invoquée ailleurs dans le même fil, contredit directement. L'efficacité est devenue probabiliste et paramétrable.
  4. Bords absorbants. Le rabattement des opinions par troncature accumulait les individus agités sur les bords du compas, où ils restaient piégés. L'IDE mesuré chutait à haute température pour une raison purement numérique. Les bords sont désormais réfléchissants.
  5. Indentation perdue. Dans le fil imprimé, le corps de main() et le garde if __name__ == "__main__" ont perdu leur indentation : le script ne s'exécute pas en l'état.

F. Correction issue de la mesure

Ces points n'ont pas été trouvés par relecture du fil mais par confrontation aux données. Ils sont ajoutés après coup, ce qui est la façon normale dont un audit doit vivre. Le second ne corrige pas le fil d'origine mais un instrument que ce dépôt avait lui-même construit.

15. Le critère \(\gamma\alpha > \lambda\) n'est pas un test, c'est une définition

Le fil, et le mémorandum qui en découlait. « Interdire les configurations algorithmiques où le taux d'amplification d'un contenu dépasse son taux d'amortissement naturel : \(\gamma\alpha > \lambda\). »

Le problème, révélé par la calibration. Le rapport \(\gamma\alpha/\lambda\) dépasse 1 dans les 19 épisodes d'attention mesurés, sous les quatre estimateurs testés. Ce n'est pas une propriété inquiétante de l'écosystème : c'est une tautologie de la procédure d'estimation. Un épisode d'attention observable a nécessairement connu une phase de croissance, donc \(r_{\text{up}} > 0\), donc \(\gamma\alpha > \lambda\).

Autrement dit, la recommandation demandait à un régulateur de vérifier une condition qui est vraie de tout contenu ayant percé. Elle était inapplicable, et rien dans le raisonnement théorique ne le signalait.

Retenu. Un plafond sur le rapport, \(\gamma\alpha/\lambda \leq \rho_{\max}\). La grandeur réglementaire est la marge au-dessus du seuil, pas son franchissement. La mesure fournit une référence descriptive — médiane de 2,5 à 4,2 selon l'estimateur — dont un \(\rho_{\max}\) normatif peut se discuter.

Ce que cet épisode enseigne sur la méthode. Une erreur de ce type ne se voit pas par relecture : elle ne devient visible qu'en essayant de mesurer. C'est l'argument le plus concret en faveur de la calibration empirique — non pour confirmer le modèle, mais pour découvrir où ses recommandations ne veulent rien dire.

16. Une variation de rang abondante n'est pas une exploration

Ce que ce dépôt avait construit. L'estimation de la sévérité \(\eta\) du biais de position (rang adverse) est assortie d'un contrôle d'identifiabilité : elle refuse de répondre quand aucun contenu n'a été servi à plusieurs rangs. Le contrôle a été présenté comme la garde à passer avant d'estimer.

Le problème, révélé par la mesure sur MIND. Le contrôle compte la variation de rang sans dire d'où elle vient. Dans MIND, l'ordre enregistré est mélangé : la variation y est maximale — un contenu médian y apparaît à seize positions distinctes — et entièrement artificielle. L'estimateur accepte donc le jeu, se déclare identifiable, et renvoie une sévérité qui n'est qu'une fonction croissante d'un paramètre de nuisance, de \(-0{,}13\) à \(+0{,}25\) selon le seuil d'impressions, toujours assortie d'une erreur type inférieure à 0,007.

Retenu. Un test d'échangeabilité intra-fil qui précède l'estimation : à fil donné, les clics sont-ils répartis indépendamment de la position enregistrée ? Il est exact — l'espérance et la variance sont connues sous l'hypothèse nulle — et il s'accompagne de son étalonnage de puissance, sans lequel un test qui ne rejette rien ne dit rien.

Ce que cet épisode enseigne sur la méthode. Un contrôle nécessaire invite à le croire suffisant. Celui-ci a été écrit pour attraper le cas visible — une plateforme déterministe, qui ne produit aucune variation — et il laissait passer le cas invisible, une variation abondante et fausse. Un contrôle ne vaut que confronté au cas qu'il n'a pas été conçu pour voir.

17. Un condensé qui supposait au lieu de vérifier

Ce que ce dépôt avait construit. Les journaux d'impressions mesurés ici pèsent de 135 Mo à 2,2 Go et ne peuvent pas être versionnés : le dépôt n'en porte qu'un condensé, dont un test vérifie qu'il rend les mêmes chiffres que le journal brut. Pour MIND, ce condensé résumait la structure d'un fil à sa longueur, en supposant qu'un fil de longueur \(L\) occupe exactement les rangs 1 à \(L\).

Le problème, révélé par Baidu-ULTR. L'hypothèse est vraie de MIND et fausse d'une page de résultats de recherche, qui saute des rangs — vingt positions distinctes pour des sessions d'au plus dix-neuf documents. Le condensé reconstruisait alors des rangs qui n'avaient pas été servis.

Ce qui rend ce défaut instructif, c'est qu'il était indolore. Il ne produisait ni erreur ni valeur absurde : \(z = -200\) au lieu de \(-206\), une sévérité de 1,32 au lieu de 1,49. Des chiffres du bon ordre de grandeur, du bon signe, avec la bonne conclusion. Sans la comparaison systématique au journal brut, il n'y avait rien à voir.

Retenu. Le condensé vérifie désormais la structure au lieu de la supposer, et conserve les rangs servis un par un lorsque l'hypothèse tombe. Un test fige les deux cas.

Ce que cet épisode enseigne sur la méthode. Une optimisation de stockage est une hypothèse sur les données, et elle doit être traitée comme telle. La garde qui l'a attrapée n'est pas une relecture : c'est la règle, posée au chantier précédent, qu'un condensé doit être comparé au journal brut à chaque construction.

18. Comparer deux mesures au même plancher nominal

Ce que ce dépôt avait publié. Le rang adverse a comparé quatre mesures de diversité au même plancher de 0,70 et conclu que la « proximité à la cible » résistait le mieux à l'enterrement. La conclusion a été reprise dans le mémorandum et sur la page d'accueil.

Le problème. Les quatre mesures ne vivent pas sur la même échelle. Un plancher de 0,70 sur la proximité à la cible n'exige pas la même diversité qu'un plancher de 0,70 sur l'entropie : à ce niveau, la première n'expose que 0,43 d'entropie, la seconde 0,70. Comparer leurs coûts à plancher égal, c'est comparer une norme exigeante à une norme lâche.

Retenu. La comparaison se fait à diversité réellement exposée égale. Elle donne des coûts identiques à moins de 0,6 % de la borne exacte : le choix de la mesure ne compte presque pas, ce sont le niveau et la conscience du rang qui font la norme.

Ce que cet épisode enseigne sur la méthode. Le dépôt disposait déjà de la bonne méthode et ne l'avait pas appliquée à ses propres mesures : la comparaison des lignes de base fixe le plancher précisément pour rendre les concurrents comparables. Une méthode acquise dans un chapitre ne se transporte pas toute seule dans les autres.

19. Une remise d'attention conventionnelle donnée pour universelle

Ce que ce dépôt avait publié. « Une plateforme certifiée à 0,70 n'expose que 0,36 », sans mention de la remise employée — \(1/R\), c'est-à-dire une sévérité d'attention de 1.

Le problème. Ce même dépôt a mesuré que la sévérité est une propriété de la surface : 1,10 sur une page de résultats, 0,04 à 0,11 sur un bandeau de trois vignettes. Recalculé à sévérité 0,1, le fil « certifié à 0,70 » en expose 0,747 : l'enterrement disparaît. À sévérité 2, il n'en expose que 0,157 et l'échappatoire ne coûte plus que 2,7 %.

Retenu. La remise doit être mesurée sur la surface et publiée avec le résultat. Le prix de la norme consciente du rang, lui, est stable — 20,8 à 24,1 % — ce qui est la seule chose que la convention permettait de dire sans risque.

Ce que cet épisode enseigne sur la méthode. Une convention d'évaluation empruntée à un autre domaine — ici la remise du rang réciproque — entre dans un résultat comme une hypothèse, même quand elle n'est jamais énoncée. Le dépôt avait mesuré la grandeur qui la remplace avant de publier le résultat qui en dépendait.

20. Une forme d'examen supposée, jamais testée

Ce que ce dépôt publie. Une sévérité de biais de position, \(\hat\eta = 1{,}10 \pm 0{,}09\) sur Baidu-ULTR, estimée sous le modèle \(P(\text{clic} \mid i, R) = g(i)\,R^{-\eta}\).

Le problème. Le dépôt a construit un test qui dit si l'ordre d'un journal porte de l'information — c'est le test d'échangeabilité — et n'en a jamais construit qui dise sous quelle forme. Or sous un modèle à cascade, où le lecteur s'arrête dès qu'il a trouvé, la décroissance de l'attention est géométrique et non polynomiale. La loi ajustée surestime alors l'exposition réelle d'un facteur 40 à 4 110 au douzième rang — et l'ajustement paraît excellent, avec une erreur type de 0,04.

Ce qui est confirmé au passage. Le test d'échangeabilité, lui, tient : il rejette sous cascade entre \(z = -208\) et \(z = -241\), plus fortement que sur données réelles. C'est parce qu'il ne suppose rien — il ne teste que l'indépendance.

Retenu. La sévérité doit être publiée avec la forme supposée, et cette forme reste à tester. C'est la piste ouverte de la page des angles morts.

Ce que cet épisode enseigne sur la méthode. Un instrument qui ne suppose rien survit à un changement de modèle ; un instrument qui suppose une forme ne survit qu'à ce que cette forme tienne. Le dépôt avait les deux et n'avait éprouvé que le premier.

21. Restreindre aux fils à plusieurs clics, et fabriquer sa propre réponse

Ce que j'allais publier. Le test de forme ne peut pas séparer une cascade d'un simple budget de clics — un lecteur qui cesse de cliquer une fois servi. L'idée vint naturellement de restreindre le journal aux sessions à plusieurs clics, où un budget de un est exclu par construction. Appliquée à Baidu-ULTR, la restriction donne \(z = -8{,}2\) (\(p = 2 \times 10^{-16}\)) : une signature de cascade nette, sur données réelles.

Le problème. Le nombre de clics d'un fil est un collider de ses clics individuels. Conditionner dessus induit une dépendance négative entre eux — c'est le paradoxe de Berkson — et fabrique donc exactement la signature que le test cherche. Sur un journal simulé sous modèle de position pur, sans cascade ni budget, la restriction fait passer l'écart réduit de \(+0{,}74\) à \(\mathbf{-45{,}7}\).

Ce que la restriction mesurait n'était donc pas une propriété du journal mais la sélection que je venais d'opérer.

Retenu. La restriction est proscrite, et la mise en garde figure dans la documentation de la fonction — à l'endroit où quelqu'un aura l'idée de la refaire.

Ce que cet épisode enseigne sur la méthode. C'est la troisième fois qu'un protocole apparemment raisonnable fabrique son propre résultat, et la troisième fois qu'un contrôle sur données simulées le rattrape avant publication. La règle vaut d'être écrite : tout protocole appliqué à des données réelles doit d'abord être appliqué à des données dont on connaît la réponse.

22. Estimer une exposition qu'on pouvait mesurer

Ce que ce dépôt a fait pendant six chapitres. Estimer la sévérité de l'exposition à travers les clics, sous le modèle \(P(\text{clic} \mid i, R) = g(i)\,R^{-\eta}\), et publier \(\hat\eta = 1{,}10 \pm 0{,}09\) sur Baidu-ULTR.

Le problème. Baidu-ULTR publie une colonne displayed_time que le dépôt n'avait jamais lue. Elle mesure directement ce qui a été affiché, donc l'exposition elle-même. Mesurée ainsi, la sévérité vaut \(0{,}882 \pm 0{,}046\) sur 143 documents, contre 55 pour l'estimation par les clics : l'estimation surestime la décroissance de 23 %.

L'écart n'est pas une imprécision mais un confondant identifié : un clic est le produit de l'examen et de l'attrait, et comme l'attrait décroît lui aussi avec le rang, la sévérité ajustée sur les clics absorbe les deux.

Ce que la mesure a tranché en outre. L'impasse du test de forme — impossible de séparer une cascade d'un budget de clics — tombe immédiatement : sur l'examen, la discrimination est totale (\(z = -158\) à \(-412\) contre \(-1{,}03\)), et la cascade est réfutée sur Baidu-ULTR. La loi de puissance, elle, se révèle le pire des trois ajustements sur la courbe mesurée : \(R^2 = 0{,}72\) contre \(0{,}96\) et \(0{,}99\).

Retenu. L'exposition se mesure quand la donnée existe, et la demande d'accès réclame désormais une colonne affichages — qui retire d'un coup le besoin d'estimer \(\eta\), l'hypothèse de forme, et le confondant d'attrait.

Ce que cet épisode enseigne sur la méthode. Le dépôt a construit trois contrôles successifs, une estimation par effets fixes, un étalonnage de puissance et une limite d'identification — tout cela pour approcher une grandeur qui était dans une colonne du fichier. Avant de raffiner une estimation, il faut avoir lu le schéma des données.

23. Une explication mécanique avancée sans la tester

Ce que j'avais écrit. La courbe d'examen mesurée sur Baidu-ULTR ne suit pas une loi de puissance : elle tient jusqu'au deuxième rang, chute, puis s'aplatit. J'y ai vu « la signature d'un seuil d'écran », et j'ai ajouté que la colonne serp_height « encode précisément la hauteur de page, donc le rang où ce seuil tombe ».

Le problème. C'était une hypothèse mécanique, plausible, et non testée — alors que la colonne invoquée permettait précisément de la tester. Vérification faite, le rang explique mieux que la hauteur cumulée au-dessus (\(R^2\) de McFadden \(0{,}082\) contre \(0{,}057\)), et les pixels n'ajoutent que \(0{,}0007\) une fois le rang connu. À rang égal, l'effet des pixels ne subsiste qu'aux deux premiers rangs puis s'éteint — l'inverse de ce qu'un seuil d'écran prédirait.

Ce qui reste vrai. Le constat tient : la courbe mesurée n'est pas une loi de puissance, et un modèle à deux régimes l'ajuste mieux. Seule l'explication tombe.

Ce que la mesure suggère à la place. La décroissance viendrait du contenu plus que de la place : un format enrichi au-dessus retire 8,4 points d'examen à ce qui suit, à rang et à hauteur comparables (format et retour). C'est un effet de satisfaction, non de géométrie.

Ce que cet épisode enseigne sur la méthode. Une explication mécanique se formule en une phrase et se teste en une heure ; l'écart entre les deux est exactement l'endroit où une affirmation fausse s'installe. La règle du dépôt — ne rien publier qu'on n'ait mesuré — vaut aussi pour les explications, pas seulement pour les chiffres.

24. Un effet mesuré sans tenir le contenu fixe

Ce que j'avais écrit. Un format enrichi servi plus haut retire 8,4 points d'examen à ce qui suit, à rang et à hauteur de page comparables — 21 strates, toutes de même signe. J'en avais conclu que la remise d'attention \(w_R\) « n'est pas une propriété du rang, ni même de la surface : c'est une propriété de la page servie », et qu'« aucune loi \(e(R)\) ne peut la représenter ».

Le problème. Les strates tenaient le rang et les pixels fixes, mais pas le contenu. Un encadré de réponse ne s'affiche pas au hasard : il répond à une question factuelle, qui n'appelle pas la même lecture qu'une recherche exploratoire. La comparaison portait donc sur deux populations de requêtes, et l'écart pouvait venir du format ou de ce sur quoi le format apparaît.

Ce que la mesure appariée rend. À contenu tenu fixe — même document, même rang, servi une fois avec un format enrichi au-dessus et une fois sans — le rapport de risques passe de \(0{,}82\) à \(0{,}940\) (IC95 \([0{,}916 ; 0{,}964]\)). Un second appariement, par requête, indépendant du premier, rend \(0{,}942\). Les deux tiers de l'effet publié étaient une composition.

Ce qui rend l'épisode net. Une simulation où le format n'a aucun effet, mais où les pages enrichies tombent sur des contenus moins consultés, rend \(0{,}785\) en stratifiant par le rang — c'est-à-dire à peu près le chiffre que ce dépôt avait publié. Le protocole appliqué à des données dont on connaît la réponse fabrique le résultat qu'il devait mesurer.

Ce qui reste vrai. L'effet résiduel est établi par l'appariement le plus peuplé, et son incidence sur l'indice se chiffre : \(0{,}0025\), contre \(0{,}0350\) pour la convention \(1/R\) que la conclusion d'origine devait disqualifier. Quatorze fois moins. La loi de rang tient donc, et la colonne format de la demande d'accès passe de nécessaire à utile.

Ce que cet épisode enseigne sur la méthode. C'est la quatrième fois qu'un protocole raisonnable fabrique son propre résultat, et la première où il l'a fait dans un chapitre qui appliquait déjà la règle du contrôle simulé — mais à une autre question. Le contrôle avait été posé sur la géométrie, pas sur la composition. Un contrôle ne protège que de ce qu'il contrôle.

25. Une absence énoncée comme un fait, sans l'avoir cherchée

Ce que j'avais écrit. Six chapitres répètent la même phrase : « aucun jeu de données public ne porte à la fois le rang servi et une étiquette de point de vue interprétable ». Elle sert de justification à la demande d'accès, de conclusion à MIND et à rang servi, et de réserve permanente à l'indice.

Le problème. Trois jeux avaient été examinés — MIND, Baidu-ULTR, l'Open Bandit Dataset — et la phrase a été écrite comme si elle portait sur tous. C'est une affirmation d'absence, et une affirmation d'absence ne se démontre pas par la mesure : elle se démontre par une recherche, qui n'avait pas été faite. Le quatrième jeu regardé porte les deux colonnes.

Ce que rend le quatrième jeu. EB-NeRD (Ekstra Bladet, RecSys Challenge 2024) donne la liste servie et une rubrique déclarée pour chaque article. Le premier contrôle du dépôt dit alors que son ordre enregistré ne contient pas le rang : \(z = +1{,}05\), \(p = 0{,}29\) sur 232 887 fils, et le journal aurait détecté une sévérité de \(0{,}0066\) — cent trente-quatre fois plus faible que celle mesurée sur Baidu-ULTR. Ce n'est donc pas un défaut de puissance.

Ce que la correction rapporte. La conclusion pratique survit — l'indice exposé n'est pas mesurable sur données publiques — mais sa raison change, et la nouvelle raison est plus utile : une plateforme peut livrer une colonne d'ordre qui n'est pas le rang, sans mentir et sans que rien ne le signale. La demande au titre de l'article 40 réclame désormais un rang vérifiable, et le test d'échangeabilité devient une clause de recevabilité plutôt qu'un préalable méthodologique. Au passage, l'indice aveugle au rang reçoit enfin un chiffre réel : \(0{,}47\) par journée-utilisateur, soit \(4{,}6\) rubriques effectives sur \(26\).

Ce que cet épisode enseigne sur la méthode. Le dépôt a une règle — ne rien publier qu'on n'ait mesuré — et elle ne couvre pas ce cas : une absence n'est pas mesurable. Sa règle jumelle manquait : une affirmation d'absence doit publier l'étendue de la recherche qui la fonde. « Aucun jeu public » aurait dû s'écrire « aucun des trois jeux examinés », et l'écart entre les deux formulations est exactement ce qui a permis à l'erreur de vivre six chapitres.


Ce que le modèle ne peut pas faire

Ces limites ne sont pas des corrections en attente. Ce sont les frontières du travail, et elles doivent être énoncées par ses auteurs plutôt que par ses relecteurs.

Une analogie n'est pas une explication

Rien dans ce dépôt ne démontre que les opinions humaines obéissent à une mécanique statistique. Le travail établit qu'un formalisme emprunté à la physique reproduit certains comportements observés — transition brusque, persistance après démenti, amplification sélective. C'est une hypothèse structurelle, féconde parce qu'elle produit des quantités mesurables. Ce n'est pas une loi de la nature sociale.

Un seul de ses paramètres est aujourd'hui calibré sur données réelles : le rapport \(\gamma\alpha/\lambda\) (calibration). Et cette calibration, loin de conforter le modèle, a montré qu'une de ses recommandations réglementaires ne voulait rien dire (point 15) et que l'un de ses mécanismes n'était pas étayé par les données. \(J\), \(T\), \(\gamma\) et \(\alpha\) pris séparément restent sans procédure d'estimation : le formalisme est cohérent, son ancrage empirique n'est qu'entamé. C'est toujours la principale faiblesse du travail.

L'analogie de départ est réfutée — et c'est un résultat

Il faut le dire plus nettement que « une analogie n'est pas une explication ». Les affirmations propres à l'analogie quantique ont été vérifiées une à une, et aucune n'a tenu :

Ce que l'analogie affirmait Verdict
plus le système est grand, plus il se désordonne faux, et à l'envers — la variable macroscopique devient plus déterministe en \(1/N\) (point 3)
la décohérence augmente l'entropie faux — l'évolution globale reste unitaire ; c'est le sous-système réduit qui voit son entropie croître (point 8)
\(\tau_D \propto \tau_R/N\) heuristique, pas le résultat de Zurek (point 11)
effet tunnel social métaphore — l'analogue correct est le franchissement de barrière par activation (point 9)
\(1/k^N\) mesure l'improbabilité du consensus décrit un état initial, pas une dynamique (point 10)

Ce qui subsiste — paysage d'énergie libre, transition de phase, hystérésis, loi de Kramers — relève de la mécanique statistique classique, dans la lignée d'Ising et de la sociophysique. Rien de spécifiquement quantique n'a survécu au passage.

L'analogie a donc fonctionné comme échafaudage : elle a suggéré des quantités mesurables qui lui survivent — un indice de diversité exposée, une sévérité d'exposition, un seuil d'amplification. C'est un rôle réel, et il ne se confond pas avec la vérité. Le nom de l'instrument a d'ailleurs été corrigé en conséquence (point 1).

Les individus ne sont pas des spins

  • Intentionnalité. Un individu peut adopter une posture anticonformiste, ironique ou stratégique. Un spin n'a pas d'intention, et un modèle de spins ne peut pas représenter quelqu'un qui feint d'être d'accord.
  • Multidimensionnalité. Le modèle à agents utilise deux axes continus plutôt qu'un spin binaire, ce qui atténue le problème sans le résoudre : une opinion réelle n'est pas un point dans un espace de faible dimension.
  • Réseaux dynamiques. Les individus coupent des liens, changent de plateforme, se réorganisent. La topologie est ici fixée, sauf par le seuil de bulle.
  • L'environnement n'est pas passif. Un bain thermique ne poursuit pas d'objectif. Un algorithme de recommandation, si — il optimise une fonction de coût, ce qui fait de lui un acteur stratégique et non un environnement. C'est le point où l'analogie physique est la plus fragile, et c'est aussi ce qui rend l'ADE concevable : on peut changer une fonction de coût, pas une loi physique.

Les limites propres à l'IDE comme instrument réglementaire

Ces réserves comptent au moins autant que les corrections mathématiques, parce qu'elles portent sur ce que le mémorandum demande à un législateur.

  • La discrétisation en points de vue est un choix politique. L'IDE mesure l'entropie d'une distribution de modalités. Qui définit les modalités définit l'index. Découper l'espace des opinions en 4, en 40 ou en 400 catégories change la valeur mesurée, et le découpage n'est pas un acte technique neutre.
  • L'index est manipulable. Une plateforme qui doit maintenir un IDE au-dessus d'un seuil peut y parvenir en servant des contenus formellement divergents mais substantiellement vides — de la diversité d'étiquette sans diversité d'argument. Toute métrique imposée devient une cible ; celle-ci n'y échappe pas, et le mémorandum doit être lu comme une proposition à durcir, pas comme un dispositif prêt à l'emploi.
  • Un seuil sur l'IDE est une contrainte sur ce que les gens voient. Elle est défendable — mais c'est une contrainte, et la présenter comme une simple mesure technique serait malhonnête. Le fil emploie la formule « la régulation cesse d'être une censure arbitraire pour devenir une ingénierie de la stabilité ». La formule est belle et il faut s'en méfier : une ingénierie de la stabilité est une intervention sur le débat public. Elle doit être justifiée comme telle, avec les garde-fous démocratiques correspondants, et non naturalisée par un vocabulaire de thermodynamique.
  • Vie privée. Mesurer l'IDE d'un fil individuel suppose d'observer ce qui est servi à des individus. Un protocole d'audit crédible doit être agrégatif et différentiellement privé — ce dépôt ne le propose pas.

Ce que les simulations ne montrent pas

Les notebooks explorent des régimes de paramètres choisis pour être lisibles. Aucune étude systématique de sensibilité n'a été menée, les tailles de systèmes sont modestes (réseaux de 24×24, populations de quelques centaines), et aucun résultat n'est comparé à un jeu de données réel. Les conclusions sont qualitatives : elles portent sur l'existence de régimes et le sens des dépendances, jamais sur des valeurs numériques transposables.

Ce que vingt-cinq corrections enseignent, prises ensemble

Les corrections ci-dessus ont été consignées une à une, dans l'ordre où elles sont survenues. Prises ensemble, elles dessinent trois régularités qui valent plus que leur somme.

Les erreurs qui survivent le plus longtemps sont celles qui produisent des chiffres vraisemblables. Aucune n'a jamais produit une valeur absurde. Le condensé qui supposait la structure des fils rendait \(z = -200\) au lieu de \(-206\) ; la restriction aux fils à plusieurs clics rendait \(-8{,}2\) au lieu de rien ; l'ajustement d'une loi de puissance sur une cascade rendait \(\hat\eta = 0{,}5\) avec une erreur type de \(0{,}04\). Un chiffre du bon ordre de grandeur, du bon signe, avec la bonne conclusion — c'est exactement ce qu'aucune relecture n'attrape.

Ce qui les a attrapées n'est jamais la relecture, c'est la confrontation. À des données dont on connaît la réponse, à une vérité terrain, à une autre méthode d'estimation, ou à la littérature du domaine. Cinq des vingt-cinq corrections viennent de la lecture initiale du fil ; les vingt autres viennent d'avoir mesuré — ou, pour la dernière, d'avoir cherché.

Et la moitié portent sur les propositions du dépôt lui-même, non sur son point de départ. Un instrument construit pour vérifier les affirmations d'autrui doit être retourné contre les siennes, et il l'est ici plus souvent qu'il ne l'a été contre le fil d'origine. C'est la seule défense contre le biais qui consiste à éprouver rigoureusement ce qu'on croit faux et superficiellement ce qu'on croit vrai.

Ce que ces trois régularités ne prouvent pas. Elles ont été promues un temps en conclusion du dépôt, sous le titre « la méthode est le vrai résultat ». C'était un excès, et il est retiré pour trois raisons.

  • Les règles qu'on en tire — mesurer plutôt qu'estimer, éprouver un protocole sur des données dont on connaît la réponse, tester une explication comme un chiffre — sont banales. Personne ne les conteste, elles ne s'énoncent pas ici pour la première fois, et aucun relecteur ne les recevra comme un résultat.
  • La démonstration est circulaire. L'argument était « la méthode vaut parce qu'elle a rattrapé vingt-cinq erreurs » ; or c'est le même travail qui les a produites. Une méthode évaluée sur ses propres fautes se compare à une référence qu'elle a fabriquée. Sans erreur, rien à rattraper et la valeur affichée tombe à zéro.
  • Rien n'a été validé de l'extérieur. Les 623 tests vérifient que le code fait ce qui est annoncé, non que ce qui est annoncé soit vrai, et aucun relecteur n'est passé (appel à relecture).

Ce qui se transmet d'un dépôt, ce sont ses objets : un test exact d'échangeabilité, une spécification agrégée en six colonnes, un exposant d'attention mesuré, dix résultats négatifs. Chacun s'applique à d'autres données et répond seul. Un précepte, non : il demande qu'on y adhère. Ce qui reste des trois régularités est un avertissement chiffré, et sa place est ici, dans un audit, non en conclusion : un travail averti a violé les trois règles en les connaissant, et le coût de chaque violation est consigné plus haut, épisode par épisode.