Hugging Face montre enfin le pipeline agentique complet, de l’enregistrement au déploiement
Publié le **13 août 2026**, ce billet de Hugging Face avec AWS assemble une boucle très concrète : **enregistrer des démonstrations**, **les synchroniser dans un bucket**, **entraîner en streaming** puis **redéployer** la politique sur le robot. Pour une équipe dev qui construit des agents, l’intérêt dépasse la robotique : c’est une démonstration claire d’un pipeline IA unifié, où collecte, stockage, entraînement et exécution partagent le même format et les mêmes outils.
Fil « Strands Agents, LeRobot et Hugging Face Storage Buckets »

Hugging Face et AWS présentent une chaîne de bout en bout autour de Strands Agents (un kit de développement logiciel pour agents), LeRobot (la pile open source de Hugging Face pour jeux de données et politiques robotiques) et Hugging Face Storage Buckets (des espaces de stockage modifiables dans le Hub). Le point central : un même agent peut enregistrer une démonstration, la synchroniser dans hf://buckets/..., relire ce jeu de données en streaming — c’est-à-dire sans téléchargement complet local — puis recharger le checkpoint (le dossier de poids entraînés) pour le déployer sur le même objet Robot(). Le billet a été publié le 13 août 2026 et s’appuie sur Strands Robots, un SDK open source sous licence Apache 2.0. (huggingface.co)
Ce qui change concrètement pour les développeurs
Le changement important n’est pas “un nouveau modèle”, mais une boucle de travail cohérente. Le même backend Robot("so100") sert à la collecte et à la relecture des données, et le format disque reste celui de LeRobot du début à la fin. Hugging Face insiste aussi sur le fait que les buckets sont un espace de travail mutable (modifiable sans historique), à distinguer d’un dépôt de dataset versionné, qui reste l’endroit où publier l’artefact relu et conservé. En pratique, cela donne une séparation utile pour une équipe :
- bucket = zone de collecte continue ;
- repo versionné = artefact relu, publié et traçable ;
- même format LeRobot = pas de conversion entre collecte, entraînement et déploiement. (huggingface.co)
Le billet montre par exemple un enchaînement minimal où l’agent enregistre puis synchronise un dataset vers un bucket :
from strands import Agent
from strands_robots import Robot, sync_dataset_to_bucket
sim = Robot("so100")
agent = Agent(tools=[sim])
agent(
"Create a world with the so100 robot, add a red cube and a front camera, "
"start recording (repo_id='local/cube_pick', root='/tmp/cube_pick', fps=30, "
"overwrite=True, task='pick up the red cube'), run the mock policy for "
"60 steps, then stop recording."
)
sync_dataset_to_bucket("/tmp/cube_pick", "my-org/robot-fave")
Pourquoi le stockage et le streaming comptent vraiment
La partie la plus utile pour un lecteur qui travaille déjà avec des assistants de code ou des agents est peut-être ici : Hugging Face décrit un stockage appuyé sur Xet avec déduplication au niveau des octets (le système ne renvoie que les morceaux réellement modifiés d’un fichier). Dans ses mesures citées par l’article, cette technique réduit d’environ 4× les données transférées par envoi sur le Hub. Le benchmark donné sur un fichier de 500 Mo annonce qu’une réécriture avec 1 % de changements transfère 5,5 Mo, avec 5 % de changements 27,5 Mo, et avec 10 % de changements 55 Mo. Pour des équipes qui accumulent des traces, vidéos ou gros artefacts d’agents, l’idée est simple : arrêter de recopier tout le dataset à chaque itération. (huggingface.co)
Entraîner sans phase de copie, puis redéployer
Côté entraînement, le billet met en avant stream_dataset() et StreamingLeRobotDataset, qui lisent les shards (gros fragments de fichiers) Parquet (format tabulaire colonne par colonne) et MP4 directement depuis le Hub. Seul le petit dossier meta/ reste en local ; les images sont décodées à la volée et les états/actions viennent des shards distants. Pour l’entraînement en ligne de commande, la configuration passe explicitement par --dataset.repo_type=bucket et --dataset.streaming=true, car un bucket est streaming-only. Hugging Face donne aussi un chiffre de référence : sur une NVIDIA L4 (g6.4xlarge), 500 étapes d’optimisation d’un modèle ACT de 51,6 millions de paramètres sur un épisode de 120 frames ont pris 133 secondes. Et sur ses benchmarks buckets, une lecture CDN (réseau de diffusion de contenu) “chaude” a atteint environ 1 086 Mo/s sur 10 Go contre 780 Mo/s “froide”, et environ 1 124 Mo/s sur 100 Go. (huggingface.co)
lerobot-train --policy.type=act \
--dataset.repo_id=my-org/robot-fave/cube_pick \
--dataset.repo_type=bucket \
--dataset.streaming=true \
--num_workers=4
The data never leaves the LeRobot format, and it never leaves the Hub. (huggingface.co)
Ce qu’il faut retenir pour une équipe IA
Même si la démo parle de robotique, la leçon vaut pour les outils IA en entreprise : un agent utile n’est pas seulement un modèle qui répond, c’est une boucle fiable entre collecte, stockage, entraînement et redéploiement. Le billet montre aussi les garde-fous à ne pas ignorer : séparer les jetons d’écriture et de lecture, utiliser des run_id distincts pour tracer chaque collecte, garder en tête qu’un bucket n’a pas d’historique, et faire attention à trust_remote_code=True lors du chargement de modèles. Concrètement, si votre équipe construit des agents qui produisent beaucoup de données ou de traces d’exécution, cette publication fournit un patron d’architecture très lisible : zone de travail mutable pour itérer vite, artefact versionné pour relire et auditer, streaming pour ne pas bloquer les GPU, même API pour boucler jusqu’au déploiement. (huggingface.co)