Spectrométrie de masse appliquée à l'identification
Le MALDI-TOF ne pèse pas la bactérie. Il mesure un temps de vol, le convertit en masse, et compare le profil obtenu à une collection d'empreintes. Les sept scènes ci-dessous détaillent chacune de ces étapes, du dépôt de la colonie jusqu'au nom de l'espèce.
Pas dans la comparaison d'empreintes de l'étape 7. Celle-ci calcule une distance entre deux listes de nombres, selon une règle écrite à l'avance : c'est un programme déterministe, au sens de la partie I de l'article.
Elle arrive juste après, parce qu'un spectre est une liste de nombres, et que classer une liste de nombres est le travail ordinaire d'un modèle d'apprentissage. L'article s'en sert deux fois. Une machine à vecteurs de support sépare deux souches sur la hauteur de deux pics seulement (Figure 5). Et un modèle entraîné sur plus de 300 000 spectres prédit la résistance aux antibiotiques, là où la comparaison d'empreintes ne donne que le nom de l'espèce.
Elle n'a pas été programmée ligne à ligne. La demande tenait en une phrase, complétée ensuite par une seconde :
« génère une animation en html/javascript pour expliquer de manière pédagogique le principe de l'identification bactérienne à l'aide du MALDI-TOF »
« je souhaite que l'animation détaille les étapes du dépôt, tir, accélération… comparaison »
Le modèle a écrit le programme. Le terme est d'Andrej Karpathy, en février 2025. Il désignait au départ une pratique assumée sans relecture : « I “Accept All” always, I don't read the diffs anymore », écrivait-il, et il la réservait aux programmes sans lendemain. Cette page n'est pas un programme sans lendemain, elle illustre un article. Le point de vigilance de la section 4.6 s'applique donc, et voici ce qui a été vérifié, et ce qui ne l'est pas.
Rien de ce qui précède ne se voit en lisant la page. C'est pourquoi le vibe coding demande de relire le programme, et pas seulement de regarder si l'animation tourne.