En octobre 2025, Deloitte a remboursé le gouvernement australien. Le cabinet avait livré une étude à 440 000 AU$ au Département de l'emploi et des relations de travail ; le rapport publié contenait une citation fabriquée tirée d'un arrêt de tribunal fédéral et des références à des articles académiques inexistants (The Guardian, 2025). Une version révisée a révélé que GPT-4o avait été utilisé lors de la rédaction. Des informations ultérieures ont chiffré le remboursement à environ 97 000 AU$ — le dernier versement du contrat.
Un détail importe plus que l'argent. Les fabrications n'ont pas été détectées par la révision interne du cabinet, ni par celle du client. Elles l'ont été par un universitaire extérieur qui a vérifié les références. Le livrable avait passé chaque niveau de contrôle auquel il était soumis, parce que rien n'y semblait faux.
C'est là la catégorie qui compte : non pas le modèle qui échoue, mais le modèle qui rend sa copie. Demandez à un modèle de langage de totaliser des revenus sur deux cents lignes et vous obtenez une réponse avec le bon ordre de grandeur, le bon symbole monétaire et une phrase assurée autour du tout. Ce que vous n'obtenez pas de manière fiable, c'est la somme. Une réponse manquante se remarque. Un mauvais chiffre bien présenté est transmis au conseil d'administration.
Et la présentation ne vacille jamais, parce que l'assurance est elle aussi du texte généré. Le modèle ne sait pas qu'il a tort ; il n'y a aucune alarme interne à réprimer. La phrase qui affirme le chiffre et le chiffre lui-même proviennent du même endroit — le prochain token probable.
Plausible n'est pas calculé
Le réflexe est de classer les mauvais chiffres sous la rubrique maturité du modèle : la prochaine version saura sûrement additionner. La recherche dit que l'échec est structurel, et elle est inhabituellement cohérente sur les raisons.
GPT-4, invité à multiplier deux nombres à trois chiffres, a obtenu 59 % de bonnes réponses en zéro-shot ; ChatGPT, 55 % (arXiv, 2023). À quatre chiffres, GPT-4 est tombé à 3 %. À cinq, 0 %. Les auteurs de Faith and Fate ont retracé le mécanisme : les transformeurs traitent les problèmes compositionnels en faisant correspondre des fragments linéarisés de ce qu'ils ont vu — une recherche de motifs, non une procédure. La falaise se situe exactement là où les motifs s'épuisent.
L'addition n'est pas plus sûre. Une analyse de 2025 a montré que les LLM additionnent avec une heuristique de prévision à un chiffre plutôt qu'avec un algorithme : la précision s'effondre précisément là où les retenues se propagent au-delà d'un chiffre, indépendamment du prompting ou de la tokenisation, et les erreurs sont prévisibles à partir de la seule structure des retenues (arXiv, 2025). Systématique, non aléatoire. Le modèle ne calcule pas approximativement. Il fait autre chose qui coïncide souvent avec le calcul.
GSM-Symbolic d'Apple a fermé la dernière échappatoire — l'idée que cela n'affecterait peut-être que l'arithmétique difficile (Apple, 2024). Prenez des problèmes de niveau primaire et ne changez rien d'autre que les nombres : chaque modèle de pointe testé a obtenu de moins bons résultats. Ajoutez une clause plausible mais sans rapport : la précision a chuté jusqu'à 65 %. Et la précision variait sensiblement entre différentes instanciations du même modèle de question — le même problème, reformulé, renvoie une distribution différente de réponses. Cette dernière observation explique le problème de la démonstration. Une démo est un tirage dans la distribution. Un audit, c'est la distribution.
Le verdict des auteurs — « les LLM actuels ne sont pas capables d'un véritable raisonnement logique » — est inhabituellement direct pour un article de recherche. Personne ne l'a remis en cause.
Les correctifs évidents, mesurés
Chaque équipe confrontée à cet échec se tourne vers les mêmes quatre correctifs. Chacun a été mesuré.
Récupération. FinanceBench a soumis à GPT-4-Turbo 150 questions sur des documents financiers publics, avec un système de récupération fournissant les documents. Il a répondu incorrectement ou refusé de répondre dans 81 % des cas (Patronus AI, 2023). Seize configurations — GPT-4-Turbo, Llama 2, Claude 2, bases vectorielles, contexte long — ont révélé des faiblesses sur 2 400 réponses examinées manuellement, et les modèles ont halluciné des chiffres dès que les pages de preuves n'étaient pas fournies parfaitement. La récupération extrait le document. Le modèle se trompe quand même sur le chiffre.
Ancrage. La BBC a donné à ChatGPT, Copilot, Gemini et Perplexity un accès direct à ses propres articles et leur a posé des questions sur l'actualité. 51 % des réponses présentaient des problèmes significatifs ; 91 % en avaient au moins quelques-uns. 19 % des réponses citant du contenu BBC introduisaient des erreurs factuelles — affirmations erronées, chiffres erronés, dates erronées — et 13 % des citations attribuées à des articles BBC étaient altérées ou n'avaient jamais existé (BBC, 2025). La source était disponible. Les chiffres ont quand même dévié.
Un modèle plus performant. La fiche système d'OpenAI rapporte qu'o3 hallucine sur 33 % des prompts PersonQA et o4-mini sur 48 % — contre 16 % pour l'ancien o1 (OpenAI, 2025). Selon la mesure du fournisseur lui-même, les nouveaux modèles de raisonnement hallucinent deux à trois fois plus que leur prédécesseur. o3 fait simplement plus d'affirmations — plus de correctes et plus de fabriquées, livrées avec la même température de certitude.
Un meilleur prompting. Le prompting par brouillon étape par étape fait passer la multiplication à trois chiffres de GPT-4 de 59 % à 92 % (arXiv, 2023). Mieux — et toujours un produit faux sur douze. Même un fine-tuning exhaustif de GPT-3 sur la multiplication à quatre chiffres n'a produit qu'environ 40 % sur des problèmes à quatre chiffres inédits, et 0 % à cinq chiffres. Le plafond est le mécanisme, non le prompt.
Chaque correctif améliore les probabilités. Aucun ne change qui fait l'arithmétique. La réponse est toujours échantillonnée dans une distribution de chiffres plausibles, et un seul membre de cette distribution est la somme.
Changer qui fait l'arithmétique
La réponse structurelle est une division du travail tracée exactement selon la ligne de compétence. Les modèles de langage excellent dans le langage et sont peu fiables avec les chiffres — le modèle ne doit donc jamais être celui qui calcule.
SQAI est construit sur cette séparation. Le modèle rédige une intention typée — sum amount where region = "east" — et un runtime SQAI l'exécute comme du code compilé : validé contre un contrat ancré par hash, vérifié selon la politique, calculé en float64 sur un seul thread, retourné avec sa provenance.
{
"status": "ok",
"value": 2130.5,
"rows_matched": 5
}
Ce 2130.5 n'est pas un token probable. C'est la somme, produite par un noyau déterministe à partir d'une surface de 4 574 capacités en lecture seule réparties sur 445 modules — 4 564 d'entre elles entièrement déterministes — répondant en 0,83–0,93 ms à chaud.
Déterministe signifie vérifiable. finance.npv(0.1, [-1000, 300, 420, 560, 680]) retourne 505.020148896933 sous le hash de calcul b74f67d0… — la même valeur et le même hash que l'appel soit effectué depuis TypeScript ou Python, parce que les résultats sont hachés sur une forme canonical JSON unique. L'affirmation est honnêtement délimitée : déterministe dans le périmètre d'exécution déclaré, avec une enveloppe enregistrant la version du runtime, la plateforme, le mode de précision et le nombre de threads plutôt que de surestimer la portée. La réponse d'un modèle au même prompt ne peut pas promettre de correspondre à elle-même à la prochaine exécution. Celle-ci se rejoue à l'octet près, des mois plus tard, dans l'un ou l'autre langage.
Il existe une seconde fuite, que la plupart des architectures laissent ouverte. Connectez un moteur de calcul, puis versez les lignes brutes de la requête dans le contexte « pour résumé » — et le modèle re-dérive, et réinvente, silencieusement des chiffres à partir des lignes. SQAI traite le contexte comme une frontière gouvernée : au plus 25 lignes, 250 cellules et 32 000 octets atteignent jamais le modèle, derrière une limite par défaut de 100 lignes et un plafond d'exécution strict de 1 000. La troncature est toujours déclarée, de sorte que le modèle ne peut honnêtement pas prétendre avoir totalisé ce qu'il a vu. Les lignes partielles ne sont jamais affichées, afin qu'aucun demi-enregistrement ne le tente vers une complétion par imagination. Les agrégats sont calculés avant la frontière. Le modèle reçoit la réponse, non le devoir.
Et la politique n'est pas un prompt. Les sources, champs et fonctions autorisés sont fixés dans le code au moment de createSQAI() et vérifiés en cours de processus avant l'exécution ; l'entrée d'outil du modèle ne contient aucun champ de politique, il n'y a donc rien qu'il puisse élargir. Demander une capacité hors politique ne produit pas un contournement créatif — cela produit policy_denied_function. L'argument est le même que celui qui sous-tend l'interdiction aux agents d'écrire du SQL : ne gouvernez pas le texte généré avec des instructions au mieux-effort ; gouvernez l'exécution avec des listes d'autorisation que le texte ne peut pas toucher.
Qui a fait l'arithmétique ?
La prochaine fois qu'un système d'IA vous remet un chiffre de revenus, une question classe toutes les architectures du marché : qui a fait l'arithmétique ?
Si la réponse est « le modèle », vous tenez un chiffre à la présentation irréprochable et à la provenance inconnue, et le seul chemin de vérification est qu'un humain refasse le travail — ce que vous cherchiez précisément à automatiser. Les fabrications de Deloitte ont été détectées parce qu'un universitaire extérieur au processus a décidé de vérifier. Ce n'est pas un contrôle. C'est de la chance.
Si la réponse est « un runtime SQAI, et voici le hash », la vérification est une relecture : même intention, même runtime, mêmes octets. L'échec devient plus subtil — et plus silencieux — lorsque le mauvais chiffre provient d'une jointure éventée plutôt que d'une mauvaise addition, ce qui est une autre histoire. Mais la discipline tient en une phrase : le modèle rédige la question, jamais la réponse.
Le mauvais chiffre de revenus ne s'annonce pas. Il arrive mis en forme, cité et assuré — et à cinq chiffres de multiplication, jamais juste. Construisez le pipeline pour qu'il ne puisse pas entrer.