MLE-Agent : un agent en ligne de commande pour les baselines ML et les tâches Kaggle
🤖 MLE-Agent: Your intelligent companion for seamless AI engineering and research. 🔍 Integrate with arxiv and paper with code to provide better code/research plans 🧰 OpenAI, Anthropic, Gemini, Ollama, etc supported. :fireworks: Code RAG
En bref
- De quoi s’agit-il ?
- MLE-Agent est un agent Python sous licence MIT qui génère des projets ML, dialogue avec vous dans un terminal et peut enchaîner une compétition Kaggle sans intervention. Sa valeur dépend surtout de la qualité de vos clés API et de la discipline de votre dépôt.
- À qui s’adresse-t-il ?
- Adoptez MLE-Agent si vous voulez un squelette de projet ML généré depuis une phrase en langage naturel et un mode Kaggle scriptable, et si vous acceptez de fournir vos propres clés OpenAI, Anthropic, Gemini ou Ollama. Ne l'adoptez pas si vous avez besoin d'un cadre d'évaluation reproductible ou d'un agent dont chaque étape est auditable : la documentation publique ne décrit ni ces garanties ni un mode hors ligne complet.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 67 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le problème visé : partir d'une phrase floue et obtenir un projet exécutable
Le README donne un exemple de besoin volontairement vague : « I want to predict the stock price based on the historical data ». C'est le point de départ que MLE-Agent revendique traiter. L'outil s'adresse aux ingénieurs ML et aux chercheurs qui veulent une base de code exécutable plutôt qu'un notebook vide, et qui acceptent de piloter un agent depuis un terminal. Le projet se présente comme un « pairing LLM agent », donc un assistant en binôme, pas un service autonome en arrière-plan. Trois usages sont documentés explicitement : prototyper une baseline, générer un rapport de travail hebdomadaire, et participer à une compétition Kaggle. Cette dernière option est la plus ambitieuse, et aussi celle qui suppose le plus de préparation en amont. La cible réelle est donc étroite : quelqu'un qui sait déjà évaluer un pipeline ML et qui veut gagner du temps sur la structure initiale, pas quelqu'un qui cherche une réponse automatique à un problème de modélisation.
Ce que l'agent fait concrètement entre votre invite et le code
D'après la description du dépôt et le README, MLE-Agent combine plusieurs briques : un agent de planification, une couche d'accès aux modèles (OpenAI, Anthropic, Gemini, Ollama, Mistral selon les notes de version), une intégration Arxiv et Papers with Code pour la recherche de méthodes, une fonction de débogage automatique par échange entre un codeur et un débogueur, et une couche RAG sur votre code. Le README mentionne un « Local RAG support to make personal ML/AI coding assistant » dans la feuille de route, avec la case cochée, ce qui suggère que l'indexation locale est disponible. Le flux décrit reste linéaire : l'agent comprend la demande, propose un plan, écrit du code dans le répertoire du projet, exécute localement, lit les erreurs, corrige. Les fichiers générés vivent dans le répertoire créé par mle new. Le point à retenir est que la qualité du résultat dépend directement du modèle branché : Ollama permet de tout garder en local, mais rien dans le matériel fourni ne documente le comportement comparé des différents fournisseurs.
Installation et commandes : ce que la documentation donne réellement
L'installation passe par PyPI avec pip install -U mle-agent, ou par uv pip install -U mle-agent. Une installation depuis les sources est décrite : git clone du dépôt, création d'un environnement avec uv venv .venv, activation via source .venv/bin/activate, puis pip install -e . Le cycle de base tient en trois commandes. mle new <project name> crée un répertoire de projet dans le chemin courant. Il faut ensuite s'y placer avec cd <project name> avant de lancer mle start, qui démarre le travail sur la baseline. mle chat ouvre une session interactive dans le terminal depuis le même répertoire. Deux commandes supplémentaires sont documentées pour les rapports : mle report démarre une application web locale accessible sur http://localhost:3000/, et mle report-local accepte --email, --start-date, --end-date et un chemin vers un dépôt Git local. Le mode Kaggle automatique s'appelle avec mle kaggle --auto et les options --datasets, --description, --submission, --sub_example et --comp_id. Le README précise qu'il faut avoir rejoint la compétition au préalable.
Le mode Kaggle automatique : la promesse la plus forte, la moins vérifiable
mle kaggle --auto est présenté comme capable de mener une compétition de la préparation des données à la soumission sans interaction humaine, à condition de fournir les jeux de données, une description, un fichier de soumission et un exemple de soumission. C'est une revendication lourde, et le matériel disponible ne contient aucun résultat de compétition, aucun classement, aucune trace d'exécution. Il faut donc la traiter comme une capacité annoncée, pas comme une performance établie. Le paramètre --comp_id suggère que l'agent s'appuie sur l'identifiant de la compétition pour récupérer du contexte, ce qui implique un accès réseau et probablement des identifiants Kaggle, même si le README ne détaille pas cette configuration. Autre contrainte pratique : les chemins de datasets et de soumission sont passés en ligne de commande, donc l'agent opère sur des fichiers que vous avez déjà préparés. Le gain se situe sur l'itération code-débogage, pas sur la collecte des données.
Limites et cas où l'outil n'est pas le bon choix
La dernière version publiée listée est la 0.4.2, datée du 12 octobre 2024, alors que le dernier push sur la branche main est plus récent. Cet écart entre l'activité du dépôt et le rythme des versions signale que l'API en ligne de commande peut bouger sans qu'une release ne le reflète. La feuille de route garde d'ailleurs des cases non cochées, dont l'intégration avec des plateformes cloud de données et de test, ce qui indique que le périmètre actuel reste local. Aucune information n'est fournie sur la gestion des secrets : on ne sait pas depuis le matériel si les clés API sont stockées dans un fichier de configuration, dans des variables d'environnement, ou saisies à chaque session. Pour un projet soumis à des contraintes de conformité, c'est un point à vérifier avant toute adoption. Enfin, un agent qui exécute du code généré sur votre machine introduit un risque d'exécution non contrôlée. Si vous avez besoin d'un pipeline dont chaque étape est reproductible et versionnée, un cadre classique avec des scripts explicites reste plus prévisible.
Face à un assistant de code généraliste : la différence tient à l'ancrage ML
Un assistant comme GitHub Copilot ou un agent de codage générique complète des lignes dans un éditeur. MLE-Agent prend un autre chemin : il crée une arborescence de projet, choisit une structure de fichiers, et s'appuie sur des sources de recherche spécialisées, Arxiv et Papers with Code, pour proposer des méthodes. Cette intégration est la vraie différence de conception, car elle oriente l'agent vers la littérature scientifique plutôt que vers des extraits de code trouvés sur le web. En contrepartie, un assistant d'éditeur reste dans votre environnement existant et ne réorganise rien. Si votre projet a déjà une structure établie et une CI, lancer mle new à côté n'a pas de sens : vous voulez des suggestions dans vos fichiers, pas un nouveau répertoire. Inversement, si vous démarrez de zéro sur une tâche de modélisation, la génération d'une arborescence complète fait gagner du temps que la complétion de code seule ne fait pas gagner.
Coût de maintenance, licence et points à contrôler
La licence est MIT, ce qui autorise la réutilisation, la modification et la redistribution, y compris dans un contexte commercial, à condition de conserver l'avis de copyright et le texte de licence. Ce n'est pas un avis juridique : faites relire le fichier LICENSE du dépôt si vous redistribuez. Le coût de maintenance se répartit sur deux postes. D'abord les dépendances Python, qui suivent le rythme des bibliothèques d'agents et des SDK de fournisseurs de modèles. Ensuite la facturation des appels API, qui dépend entièrement du modèle choisi et du volume de contexte envoyé ; le matériel fourni ne donne aucune estimation de consommation par tâche. L'option Ollama est la seule qui déplace ce coût vers votre matériel local. La version 0.4.2 étant la dernière release listée, prévoyez de tester la branche main si vous dépendez d'une fonctionnalité récente, et vérifiez les fichiers de configuration générés par mle new avant de les committer.
Conclusion éditoriale
Adoptez MLE-Agent si vous voulez un squelette de projet ML généré depuis une phrase en langage naturel et un mode Kaggle scriptable, et si vous acceptez de fournir vos propres clés OpenAI, Anthropic, Gemini ou Ollama. Ne l'adoptez pas si vous avez besoin d'un cadre d'évaluation reproductible ou d'un agent dont chaque étape est auditable : la documentation publique ne décrit ni ces garanties ni un mode hors ligne complet. Avant tout, lancez mle new puis mle chat sur un projet jetable et inspectez les fichiers produits avant de confier au mode --auto un dépôt réel.
Notes de la communauté