Aller au contenu
Retour au blog
· Ulysse Trin

Autoresearch : quand un agent IA fait de la recherche ML à votre place

Le principe

Andrej Karpathy vient de publier autoresearch, un projet qui pose une question simple : que se passe-t-il si on laisse un agent IA faire de la recherche machine learning tout seul pendant la nuit ?

Le concept : un agent (Claude Code, Codex, ou autre) reçoit un setup d’entraînement de LLM. Il modifie le code, lance un entraînement de 5 minutes, vérifie si le résultat s’est amélioré, garde ou jette, et recommence. Vous dormez. Au réveil, vous avez un log d’expériences et, si tout va bien, un meilleur modèle.

Trois fichiers, pas un de plus

L’architecture est volontairement minimaliste :

  • prepare.py : préparation des données, tokenizer, dataloader, évaluation. Fixe, l’agent n’y touche pas.
  • train.py : le modèle GPT complet, l’optimiseur (Muon + AdamW), la boucle d’entraînement. C’est le seul fichier que l’agent modifie. Architecture, hyperparamètres, taille de batch, tout est ouvert.
  • program.md : les instructions pour l’agent. C’est le seul fichier que l’humain modifie.

La séparation est nette. L’humain programme le program.md. L’agent programme le train.py. Chacun son fichier.

Un budget fixe de 5 minutes

Chaque expérience dure exactement 5 minutes de temps réel, quelle que soit la config. Ça donne environ 12 expériences par heure, une centaine pendant la nuit.

L’intérêt de ce budget fixe est double. D’abord, toutes les expériences sont comparables : que l’agent change l’architecture, la taille du modèle ou le batch size, le temps est le même. Ensuite, autoresearch converge naturellement vers le modèle optimal pour votre hardware dans ce budget, pas le meilleur modèle absolu, mais le meilleur modèle que votre GPU peut produire en 5 minutes.

La métrique unique est le val_bpb (bits par byte sur le jeu de validation). Plus bas = mieux. Indépendant de la taille du vocabulaire, ce qui rend les comparaisons architecturales équitables.

Ce qui est réellement nouveau

L’idée d’automatiser des expériences ML n’est pas nouvelle. Ce qui est nouveau, c’est le medium. On ne programme plus un script de hyperparameter search. On écrit un document Markdown qui décrit une stratégie de recherche, et un agent LLM l’interprète librement.

Le program.md fourni par défaut est volontairement basique. Karpathy le dit explicitement : l’enjeu est d’itérer sur ce fichier pour trouver le “code d’organisation de recherche” qui produit les progrès les plus rapides. Combien d’agents ? Quelle stratégie d’exploration ? Quelles contraintes ? C’est de la méta-recherche : on ne cherche plus les bons hyperparamètres, on cherche les bonnes instructions pour l’agent qui cherche les bons hyperparamètres.

Les choix de design qui comptent

Un seul fichier modifiable. L’agent ne touche que train.py. Pas de fragmentation, pas de refactoring inutile. Les diffs restent lisibles et auditables.

Self-contained. PyTorch et quelques dépendances. Un GPU, un fichier, une métrique. Pas de distributed training, pas de configs YAML imbriquées. Le setup tient en 4 commandes.

Single GPU. Par design, pas par limitation. L’objectif n’est pas d’entraîner le meilleur modèle du monde, mais de créer un terrain d’expérimentation où un agent peut itérer vite. Un H100 est recommandé, mais des forks existent pour Apple Silicon (MLX) et macOS.

Ce que ça implique pour la suite

Autoresearch est un prototype, mais il pointe vers quelque chose de concret. Si un agent peut itérer sur un training loop pendant la nuit et trouver des améliorations, alors le rôle du chercheur ML se déplace. Moins de temps à modifier du code et relancer des runs. Plus de temps à formuler des hypothèses, structurer les instructions, et analyser les résultats.

C’est aussi une illustration du pattern qu’on voit émerger partout avec les agents IA : l’humain ne code plus directement, il code les instructions qui guident l’agent qui code. Le program.md est exactement l’équivalent du CLAUDE.md dans un projet logiciel classique avec Claude Code. La compétence qui compte n’est plus “écrire du PyTorch”, c’est “écrire les instructions qui font qu’un agent écrit du bon PyTorch”.

Pour reprendre les mots de Karpathy : “Research is now entirely the domain of autonomous swarms of AI agents.” On n’y est pas encore. Mais avec autoresearch, on voit à quoi ressemble la première étape.

Pour aller plus loin


Vos équipes dev veulent coder avec l’IA ? Formation Claude Code en 2 jours →