SortieAnalyse · Sur le radarHabr AI→ original

Un rédacteur a passé 30 interviews au crible de Claude : les citations sont exactes, mais le modèle ne prononce jamais le verdict « ne regardez pas »

Un journaliste de Pressfeed a repris les données du HackerTube de Karpathy et demandé à Claude Sonnet de rédiger des fiches en russe pour 30 interviews. Le code a comparé les citations aux transcriptions : 26 correspondaient exactement et 4 presque. Mais le modèle a parfois inventé le reste du texte et n’a attribué le verdict « la fiche suffit » à aucune longue interview.

Traité par IA depuis Habr AI ; édité par Hamidun News
Un rédacteur a passé 30 interviews au crible de Claude : les citations sont exactes, mais le modèle ne prononce jamais le verdict « ne regardez pas »
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
Chiffre clé #1Les citations et les codes temporels sont vérifiés par le code ; le reste du texte doit être relu
Chiffre clé #2Le modèle a inventé la faillite personnelle d’un protagoniste et confondu des dates
Chiffre clé #3Sans raisonnement, une fiche coûte environ 1 000 tokens et 20 secondes

Andrej Karpathy a assemblé HackerTube en un week-end : une vitrine de 6 454 vidéos que les membres de Hacker News se recommandent depuis des années. Le fondateur de Pressfeed et rédacteur en chef du magazine « Signal » a décidé de créer un autre produit à partir des mêmes données : non pas un lien vers la vidéo, mais une fiche en russe, lisible en une minute, qui indique s’il vaut la peine de lancer la vidéo. Les données sont publiées sous licence ODC-By et les forks sont les bienvenus.

Le problème est familier à quiconque a construit un pipeline fondé sur un LLM : le modèle produit un texte accrocheur, mais seule une partie peut être vérifiée automatiquement. L’aspect le plus utile de cette expérience est précisément la frontière qu’elle révèle entre ce qui peut être vérifié et ce qui ne le peut pas.

Fonctionnement du pipeline

Parmi les 6 454 vidéos, l’auteur n’a conservé que les interviews et les podcasts, soit 435 contenus. Après avoir écarté les actualités éphémères et les vidéos qui ne faisaient que les mentionner, il en restait 310, dont 30 ont été sélectionnées manuellement. Tout fonctionne localement en Python, sans files d’attente ni bases de données. yt-dlp récupère les sous-titres, qui sont découpés en blocs d’environ une minute assortis de codes temporels. Ces blocs, accompagnés des commentaires de Hacker News, sont envoyés à Claude Sonnet, qui renvoie un JSON indiquant l’orateur, trois idées principales, une citation et un verdict. Le code vérifie ensuite les affirmations du modèle, puis Python génère des pages statiques destinées à nginx.

Ce que le code a pu vérifier — et ce qu’il n’a pas pu vérifier

La règle principale est que le modèle ne peut pas simplement affirmer qu’une personne a prononcé une phrase. Le code recherche la citation anglaise dans la transcription. Si elle correspond caractère par caractère, elle reçoit le statut « exact ». S’il trouve un passage très similaire, avec un ratio d’au moins 0,85, le statut est « presque ». Si rien n’est trouvé, le modèle bénéficie d’une deuxième tentative ; ensuite, la citation n’est tout simplement pas affichée. Sur 30 citations, 26 correspondaient exactement et 4 presque ; aucune n’a dû être supprimée. Les codes temporels sont traités de la même manière : seul le numéro d’un bloc réellement présent dans la transcription est accepté.

Le reste du texte ne peut toutefois pas être contrôlé ainsi. La relecture humaine a révélé trois catégories de problèmes.

La première : un fait inventé. Le modèle a attribué à Chris Sacca une faillite personnelle, alors que, dans la transcription, il dit le contraire : il a refusé de se déclarer en faillite et a remboursé lui-même sa dette. Les mots « dette », « millions » et « responsabilité » apparaissaient à proximité, et le modèle a complété l’histoire comme ce type de récit se termine habituellement.

La deuxième : la chronologie. La conversation de Karpathy avec Lex Fridman a été présentée comme ayant eu lieu « lorsque ChatGPT venait tout juste d’apparaître », alors que la vidéo a été mise en ligne le 29 octobre 2022, un mois avant son lancement.

La troisième, et la plus fréquente : de séduisants superlatifs invérifiables, tels que « la seule longue interview » ou « documenté nulle part ailleurs ». Il y en avait au moins cinq dans les 30 fiches. La conclusion de l’auteur mérite d’être retenue : il faut se méfier non des histoires étranges, mais des généralisations trop bien lissées. L’histoire de l’ordinateur d’échecs de Ken Thompson confisqué paraissait extravagante, mais elle était vraie.

Le modèle ne sait pas dire « ne regardez pas »

Chaque fiche comporte un verdict : regarder l’intégralité, regarder un extrait ou se contenter de la fiche. Lors du premier passage, le modèle a produit 0 verdict « intégralité », 25 « extrait » et 5 « la fiche suffit » ; ces cinq derniers concernaient tous des vidéos de moins de cinq minutes. Après durcissement du prompt — extrait limité à 25 minutes, verdict « la fiche suffit » attendu pour environ une vidéo sur trois et nouvelle génération en cas de non-respect — le résultat a empiré : « la fiche suffit » a complètement disparu, tandis que des extraits d’une heure ont résisté à la deuxième requête.

Les quatre verdicts finaux « la fiche suffit » ont été attribués par un humain aux vidéos de Gates, Hinton, Hotz et Sacca. L’auteur reconnaît honnêtement que personne n’a revu les vidéos en entier.

Combien cela coûte

Avec le raisonnement activé, le modèle consomme de 10 000 à 20 000 tokens de sortie et de 2 à 5 minutes par fiche, mais seules quelques fiches ont été testées ainsi. Sans raisonnement, une fiche coûte environ 1 000 tokens et 20 secondes. Le traitement de 30 vidéos dans trois flux prend environ 5 minutes et quelque 640 000 tokens d’entrée. L’auteur a choisi le second mode, complété par une relecture humaine.

Ce qu’il faut en retenir

Si vous construisez un pipeline similaire, séparez les sorties du modèle entre éléments vérifiables et non vérifiables. Pour les premiers, écrivez des contrôles déterministes : recherche des citations, validation des indices et des intervalles. Pour les seconds, prévoyez une intervention humaine et recherchez séparément les mots « unique », « pour la première fois » et « nulle part ailleurs ». Les décisions qui risquent de ressembler à un reproche, comme « cela ne vaut pas votre temps », devraient de préférence ne pas être déléguées au modèle : il les évitera subtilement, quelle que soit la manière dont vous ajusterez le prompt.

Autre conclusion secondaire : les biais des données sources se transmettent. Le classement de Karpathy récompense des recommandations répétées depuis longtemps ; la vidéo la plus récente a donc trois ans, et près de la moitié en ont dix ou davantage. Ce n’est pas un problème pour les classiques, mais les sujets d’actualité exigent une autre méthode de sélection.

Dossier

Questions clés sur cet article

Que sait-on sur Fonctionnement du pipeline ?

Parmi les 6 454 vidéos, l’auteur n’a conservé que les interviews et les podcasts, soit 435 contenus. Après avoir écarté les actualités éphémères et les vidéos qui ne faisaient que les mentionner, il en restait 310, dont 30 ont été sélectionnées manuellement. Tout fonctionne localement en Python, sans files d’attente ni bases de données. yt-dlp récupère les sous-titres, qui sont découpés en blocs d’environ une minute assortis de codes temporels.

Que sait-on sur Ce que le code a pu vérifier — et ce qu’il n’a pas pu vérifier ?

La règle principale est que le modèle ne peut pas simplement affirmer qu’une personne a prononcé une phrase. Le code recherche la citation anglaise dans la transcription. Si elle correspond caractère par caractère, elle reçoit le statut « exact ». S’il trouve un passage très similaire, avec un ratio d’au moins 0,85, le statut est « presque ». Si rien n’est trouvé, le modèle bénéficie d’une deuxième tentative ; ensuite, la citation n’est tout simplement pas affichée.

Que sait-on sur Le modèle ne sait pas dire « ne regardez pas » ?

Chaque fiche comporte un verdict : regarder l’intégralité, regarder un extrait ou se contenter de la fiche. Lors du premier passage, le modèle a produit 0 verdict « intégralité », 25 « extrait » et 5 « la fiche suffit » ; ces cinq derniers concernaient tous des vidéos de moins de cinq minutes.

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…