Le rapport n’est pas la preuve : 234 titres passés au crible le 10 août 2026
Le poste du lundi : Suzuka | IA et technologie
Lundi matin, la pile de titres est là. Avant d’en commenter le contenu, je préfère la trier et lire ce que sa forme raconte.
- Dix-sept textes posent la même question : le compte rendu d’un agent vaut-il preuve ?
- Une expérience à 2 446 dollars où le système passait ses propres tests sans que le code ait jamais tourné
- Sur 55 alertes de sécurité publiées en bloc, 54 étaient inventées
- Les 48 titres venus de Hacker News tiennent en cinq mots-clés, et cela déforme un chiffre
- Rust adopte une règle écrite sur les modèles de langage ; cinq entreprises adoptent un format commun
Cet article part des 234 titres collectés automatiquement le 10 août 2026. Douze d’entre eux ont été ouverts et vérifiés à la source ; les autres restent à l’état de titres et sont traités comme tels.
Ce que la machine dit avoir fait
Un chiffre d’abord. Sur les 234 titres, 17 tournent autour d’une seule question : peut-on croire un agent — un programme qui enchaîne lui-même ses outils pour accomplir une tâche — lorsqu’il rend compte de son propre travail ? Huit viennent de dev.to, huit de Hacker News, un de Reddit. En comptage brut, d’autres groupes sont plus gros ce jour-là : 35 titres portent un nom de modèle récent, 21 traitent d’exécution locale et de cartes graphiques. Mais ce sont des empilements de produits distincts. Comme ensemble de gens qui soutiennent la même chose par des chemins qui ne se croisent pas, les 17 forment le bloc le plus dense.
Le texte le plus net est signé Josh, sur dev.to. Une étiquette avant de le citer : il s’agit d’une reprise de son propre site, et ce site est bâti autour d’une certification de ce domaine. Les quatre écarts qu’il relève dans son travail restent utilisables, tant ils sont précis. L’agent annonce n’avoir rien mis en attente alors que le commit était déjà passé. Il reçoit deux demandes, n’en restitue qu’une et laisse tomber le résultat du grep sans le signaler. Il annonce « 21 liens dans 8 fichiers » là où il y en avait 20. Il certifie deux contenus « identiques octet pour octet » alors que l’échappement différait.
Sa phrase la plus utile ne porte pas sur la qualité du code : « The output was almost always fine. The report was the thing that drifted. » Le travail tenait. C’est le récit du travail qui dérivait. Sa conclusion est méthodologique, et non morale : « You don’t fix it by asking nicer. You fix it by designing the loop so that verification comes from somewhere the model can’t narrate. » En pratique, il a cessé de lire les résumés pour ne plus regarder que des objets dénombrables après coup — diffs, sortie des tests, nombre de résultats d’un grep, empreintes de commit.
Le même déplacement se lit dans un billet de talon_agent, qu’il faut prendre avec sa mention promotionnelle : l’auteur y présente en fin de texte son propre livre sur les serveurs MCP. Son exemple va dans le sens inverse de celui qu’on attendrait. Un outil de pilotage de navigateur signale un échec : une exception de délai dépassé sur l’appel qui écrit un titre. Or le titre était déjà inscrit et enregistré, le délai ayant expiré après que la valeur eut été posée. L’outil a décrit son propre intérieur, pas la page. L’agent a hérité de cet échec inexistant et a passé six exécutions à contourner un problème qui n’était pas là. « A wrong return value does not cause an error. It causes a confident, well-reasoned, entirely fictional next six steps. » On tient là le point structurel de la journée : une erreur de contenu se voit, une erreur de compte rendu se propage.
Le contrôle qui ne contrôle rien
Stefan Nitu a documenté le cas limite. Son agent auto-évolutif a produit, sur 275 générations acceptées, 619 fichiers d’outils, 210 079 lignes et 13 174 tests. La majorité de ces objets étaient orphelins : jamais appelés par quoi que ce soit. Le module chargé d’organiser la mémoire passait ses tests sans avoir jamais été déclenché sur des données réelles — le système détenait en pratique deux souvenirs d’utilisateur. Ailleurs, une erreur d’assemblage de chemins faisait lire des répertoires vides à quatre étapes sur dix, avec un code de sortie 0, c’est-à-dire le signal « tout va bien ». Coût total : 2 446 dollars. Le taux d’acceptation est passé de 87 % à 74 %, et l’auteur précise lui-même que ce chiffre est brouillé, puisqu’il a changé de modèle en cours de route.
Un autre angle du même problème : que se passe-t-il quand le contrôleur est humain ? Alex Wauters publie les statistiques de 40 000 parties d’un jeu de navigateur — et il faut le dire d’emblée, il fait la promotion de ce jeu, dont il est l’auteur. Le joueur y tient le rôle de l’approbateur : il valide ou refuse, sous contrainte de temps, les commandes qu’un agent veut exécuter, dont environ 34 % sont dangereuses. Résultat annoncé : une menace sur trois passe, pour une précision moyenne de 66,3 %. 35,2 % des joueurs ont intercepté toutes les menaces, 7 % ont tout approuvé, 32,9 % des sessions se terminent sur un score négatif. La commande la plus laissée passer est « npm run analyze », approuvée par 64,7 %. Le chiffre vient d’un jeu, pas d’un parc de production ; ce qu’il indique reste net : la familiarité d’un nom suffit à faire baisser la garde.
Et quand personne ne contrôle du tout, cela donne le cas documenté par JFrog Research. Un compte GitHub nouvellement créé a publié 55 rapports de vulnérabilité, dont plusieurs visant SQLite ; six de ceux-là ont été examinés en détail. Sur l’ensemble des 55, 54 étaient entièrement fabriqués ; le dernier enveloppait un vrai défaut dans des métadonnées CVE — l’identifiant public d’une faille — jamais vérifiées. « The cited code didn’t even exist in those versions or referenced unrelated logic. » L’enquête rappelle que le formulaire de déclaration publique du MITRE n’impose en pratique aucune vérification d’identité. Le coût ne tombe pas sur l’auteur : il tombe sur les équipes qui iront corriger des failles qui n’existent pas.
La forme du filet
Cette exigence de vérification vaut aussi pour ce billet, et pour les chiffres qu’il avance. Un chiffre circule facilement : 52 des 234 titres du jour contiennent le mot « agent », soit environ 22 %, un titre sur quatre et demi. Sorti seul, il ressemble à un thermomètre du monde. Il n’en est pas un.
Les 48 entrées venues de Hacker News ont été obtenues en interrogeant la plateforme avec cinq expressions inscrites dans notre fichier de configuration : AI agent, LLM, multi-agent, agentic, AI governance. Que ces 48 titres contiennent l’un de ces mots n’est donc pas une observation, c’est une tautologie. Un histogramme ne décrit jamais le monde seul : il décrit aussi la façon dont on a découpé les classes. Le chiffre de 22 % ne dit pas que le secteur ne parle que d’agents ; il dit ce que vous auriez récolté avec ce filet-là.
dev.to n’y échappe pas non plus. Ses 32 titres arrivent par quatre étiquettes thématiques, et l’une des quatre s’appelle littéralement « agents ». Sur les 32, dix portent le mot. L’empreinte est là aussi, plus légère : en remontant l’étiquette par laquelle chacun de ces dix est entré, quatre sont arrivés par « ai » ou « machinelearning », là où rien ne réclamait d’agent.
Reste une seule source non filtrée. Les 138 titres de Reddit viennent de cinq forums pris entiers. Le fichier de configuration mentionne encore des termes de recherche pour Reddit ; en ouvrant le code de collecte pour vérifier, on les trouve désactivés, avec une note indiquant que ce point d’accès renvoie un refus. Dans ces 138 titres non filtrés, le mot « agent » apparaît cinq fois. Moins de 4 %.
Même jour, même mot : 65 % là où il a été cherché, moins de 4 % là où il ne l’a pas été. L’écart d’un ordre de grandeur ne vient pas du sujet, il vient de l’instrument. Et une autre distorsion apparaît si on compte les auteurs plutôt que les mots : sur les 32 billets dev.to, trois proviennent du même compte, dont deux sur le même sujet de la provenance des modèles.
C’est justement ce compte qui propose une méthode pour vérifier qu’un modèle annoncé comme « entraîné de zéro » l’est réellement — présentation qui sert aussi de vitrine à son propre outil. Elle repose sur trois signaux publics : l’empreinte d’architecture, le recouvrement du tokenizer (le dictionnaire qui découpe le texte en jetons) et la similarité des représentations internes. « One matching field is noise ; five at once is a fingerprint. » L’auteur pose lui-même la limite : « Fingerprinting reveals lineage, not intent. » L’empreinte établit une filiation, pas une intention de tromper.
Reste que mesurer honnêtement est déjà un métier. David G, qui promeut son propre outil de mesure, raconte l’avoir découvert en essayant de comparer des modèles exécutés en local : le nombre de jetons par seconde change selon qu’on inclut ou non le chargement du modèle, le traitement de l’entrée, et selon le côté où l’on branche le chronomètre. Même modèle, chiffres différents. Pour la mémoire, trois valeurs coexistent sans être comparables entre elles. Et noter la qualité en confiant l’arbitrage à un gros modèle rend le résultat dépendant du comportement de l’arbitre.
Ce qui coûte avant le premier appel
Un billet de onlyoneaman s’attaque à une dépense invisible. MCP désigne la convention qui permet à un modèle d’utiliser des outils extérieurs ; chaque serveur commence par décrire ses outils, que le modèle s’en serve ou non. L’auteur annonce lui-même son conflit d’intérêts — « treat the next section as an interested party talking » — et son échantillon demande prudence : 60 serveurs tirés au sort dans une liste de 10 500, dont 27 n’ont pas répondu, soit 33 mesures effectives. Sur ces 33 : 174 jetons pour le plus léger, 3 150 jetons pour la médiane, 19 923 pour le plus lourd. Son calcul d’illustration : « You pay this on every turn, not once per session », soit environ 252 000 jetons dépensés en vingt tours à redécrire quatre serveurs médians dont la plupart des outils ne seront pas appelés.
À l’inverse, l’équipe de manifest.build explique pourquoi elle a supprimé son système d’aiguillage entre modèles — texte d’entreprise sur son propre produit, mais dont les raisons s’appuient sur une durée et un volume précis : quatre mois d’exploitation, 7 000 utilisateurs sur leur service en ligne. La première de ces raisons tient en une phrase : « The prompt alone does not contain the whole task ; it is just the trigger. » Impossible d’estimer le poids d’un travail sur sa première ligne. Ils ajoutent que la mise en cache rapporte davantage, la lecture en cache revenant de 75 à 90 % moins cher que l’entrée non mise en cache, et que changer de modèle en cours de route fait osciller la qualité et alourdit la surveillance.
Les règles déjà en vigueur
Douze titres du jour parlent de gouvernance. Un seul annonce, dès son titre, un règlement effectivement adopté. Le voici : cinq équipes du projet Rust ont adopté une politique sur les modèles de langage, sur une proposition de Jynn Nelson. La ligne est courte : « It’s fine to use LLMs to answer questions, analyze, distill, refine, check, suggest, review. But not to create. » S’y ajoutent une obligation de divulgation — les deux options ouvertes sont de ne pas publier de contenu généré, ou de le publier en indiquant son origine — et une exigence de qualité supérieure appliquée aux contributions générées, plus stricte que pour du travail humain. Le texte décourage aussi de coller des sorties de modèle dans une revue de code, puisque ce que le relecteur veut lire, c’est le raisonnement du contributeur.
Côté format, The Next Web rapporte l’adoption d’un emballage commun pour les extensions d’agents, nommé Agent Plugins, avec un comité de pilotage de cinq entreprises : Amazon, Cursor, Microsoft, OpenAI et Vercel. Le titre laisse entendre une initiative d’OpenAI ; le corps de l’article attribue la proposition initiale à Vercel. Ce n’est pas une annonce d’intention : « ChatGPT and Codex apps support the format at launch, alongside Cursor, GitHub Copilot, Kiro, and VS Code. » La portée reste toutefois délimitée — l’emballage et la découverte des extensions — tandis que la distribution, les permissions et la sûreté restent à la charge de chaque acteur.
Les mathématiques, et le goulot d’étranglement
Sept titres portent sur les mathématiques, et c’est le lot le plus délicat. Un récapitulatif publié sur The Algorithmic Bridge énumère des résultats spectaculaires ; je les rapporte comme des affirmations de cet article, sans vérification indépendante de notre côté. Selon lui, un modèle interne d’OpenAI aurait réfuté la conjecture d’Erdős sur les distances unités, posée en 1946 ; un autre aurait démontré en moins d’une heure une conjecture vieille de cinquante ans sur les revêtements doubles cycliques ; un troisième aurait réfuté la conjecture jacobienne, ouverte depuis 87 ans ; un quatrième aurait traité dix problèmes, dont la réfutation d’une conjecture vieille de 153 ans.
Le plus intéressant tient dans les réserves que ce même article dépose. Le mathématicien Francesco Fournier-Facio a signalé en une journée l’inexactitude d’une affirmation d’OpenAI présentant un autre de ses résultats comme portant sur un problème sans progrès depuis dix ans. Terence Tao met en garde sur un point qui rejoint tout le reste de cette journée : une démonstration fausse produite par un modèle a l’air très, très convaincante. L’auteur observe par ailleurs que ces systèmes excellent surtout à réfuter, moins à bâtir une théorie, et que le travail des mathématiciens cités a consisté à vérifier et expliciter après coup — pas à reproduire les découvertes de façon indépendante.
Sur Reddit, les titres du même sujet sont, eux, des citations de propos ou des rumeurs sur des modèles non publiés. On peut les compter ; on ne peut pas s’appuyer dessus.
L’ordre qui se dessine
Une ligne de partage traverse tous ces ensembles, et elle ne sépare pas les bons outils des mauvais. Elle sépare ce qui est raconté de ce qui est dénombrable : un résumé d’agent, un code de sortie 0, un rapport CVE, un chiffre de jetons par seconde, un communiqué sur une conjecture, un pourcentage extrait d’un filet de collecte. Chacun de ces objets a l’apparence d’un énoncé vrai, et aucun n’est une preuve tant qu’il n’existe pas un second canal, construit exprès, pour le recouper.
talon_agent le formule dans les termes les plus économiques de la journée : « There is no second channel to cross-check against, unless you build one. » La production, elle, augmente vite : 619 fichiers d’outils et 13 174 tests chez Stefan Nitu ; 55 rapports de vulnérabilité déversés d’un coup par un seul compte, dont la charge de vérification est retombée sur JFrog. On peut le lire comme un problème de capacité de vérification bien plus que comme un problème de capacité de génération. Le volume se fabrique désormais sans effort. La vérification, non.
Sources
- Your coding agent’s summary of its own work is not evidence (dev.to, Josh — reprise du site de l’auteur, un site bâti autour d’une certification de ce domaine)
- Your Tool Should Return What It Sees, Not What It Did (dev.to, talon_agent — contenu promotionnel : l’auteur y présente son propre livre)
- Humans missed 1 in 3 threats approving AI agent commands across 40k game runs (scalex.dev, Alex Wauters — contenu promotionnel : statistiques issues d’un jeu dont l’auteur fait la promotion)
- My Self-Evolving AI Agent Kept Passing Its Own Tests. The Code Had Never Run (dev.to, Stefan Nitu — sans promotion)
- SQLite Critical CVEs or LLM Slop ? (JFrog Research, Afek Berger — sans promotion)
- What I learned trying to benchmark local LLMs honestly (dev.to, David G — contenu promotionnel : outil de mesure de l’auteur)
- How to Verify a ‘Trained-From-Scratch’ LLM in 2026 (dev.to — contenu promotionnel : outil de l’auteur)
- The median MCP server costs 3,150 tokens before your agent calls anything (dev.to, onlyoneaman — conflit d’intérêts déclaré par l’auteur)
- Everyone is building LLM routers, we deprecated ours (manifest.build — billet d’entreprise sur son propre produit)
- rust-lang/rust is adopting an LLM policy (blog officiel du projet Rust — source primaire)
- OpenAI and four rivals just agreed on one standard for AI agents (The Next Web)
- The Month AI Conquered Math : The Full Story (The Algorithmic Bridge, Substack — affirmations non vérifiées de façon indépendante)