Montrer au robot, plutôt que le réentraîner
Une nouvelle tâche devrait coûter quelques démonstrations, pas un cycle d'entraînement. Voici comment nous apprenons à Cortex à apprendre à partir d'un prompt.
Apprendre quelque chose de nouveau à un robot a toujours voulu dire collecter des données et entraîner un modèle. Pour une grande capacité inédite, c'est le bon investissement. Mais la plupart de ce qu'un entrepôt envoie à un robot n'est pas une capacité nouvelle, c'est une variation nouvelle : une catégorie de produits qu'il n'a jamais prélevée, un bac agencé un peu différemment, une SKU inédite avant la haute saison. Pour cela, un cycle d'entraînement complet est un outil lourd. La compétence est généralement déjà à portée du modèle. Ce qui manque, c'est un moyen de désigner la nouvelle tâche et que le robot suive.
Nous voulons pour la manipulation ce que l'apprentissage en contexte a apporté aux modèles de langage : montrer au robot une poignée de démonstrations vidéo d'une nouvelle tâche et le voir l'exécuter, sans réentraînement entre les deux. Cet article explique comment cela fonctionne dans Cortex, et pourquoi nous l'avons conçu ainsi.
Tout ce qui suit a été testé sur des tâches courtes et autonomes, de l'ordre d'un simple pick-and-place : sortir un article donné d'un bac et le préparer pour l'expédition, ou retirer un plateau d'échantillons étiqueté et le poser sur un lecteur dans un flux de laboratoire. Et cela n'a été testé que sur des tâches proches de celles que Cortex connaît déjà, au sein d'un même domaine. Nous ne l'avons pas validé sur des travaux à long horizon, sur des tâches combinant plusieurs compétences distinctes, ni sur le transfert entre domaines. Les résultats décrits sont les premiers résultats, dans ce périmètre, et nous sommes transparents sur cette limite.
Une démonstration est une courte vidéo de la tâche effectuée. C'est toute l'interface : pas d'étiquettes d'action, pas de traces de téléopération, rien à annoter. Si vous pouvez filmer la tâche, vous pouvez la spécifier.
L'étape suivante tentante consisterait à réduire ces clips à une description compacte unique et à la transmettre au modèle. Nous nous en abstenons délibérément. Comprimer les démonstrations en un seul résumé jette précisément le détail qui les rend utiles : la texture de l'approche, la manière dont le contact se fait, la différence entre le mouvement du début et celui de la fin. Nous gardons plutôt les démonstrations entières, dans un tampon où le modèle peut puiser, et nous y récupérons ce qui est nécessaire.
Le mécanisme est donc la récupération. À chaque pas , l'observation courante du robot constitue la requête. Nous l'encodons et la comparons au tampon de démonstrations , en récupérant les segments les plus similaires :
où est un encodeur visuel gelé et une mesure de similarité. L'ensemble récupéré est placé devant le modèle comme exemples en contexte, exactement l'idée du few-shot prompting dans un modèle de langage : les exemples pertinents figurent dans le contexte, et le modèle y prête attention pendant qu'il agit.
Comme est recalculé à chaque pas, les exemples que voit le robot changent au fil de la tâche. Au début d'un prélèvement, les moments récupérés concernent l'approche ; quand la pince se referme, la prise ; à la sortie, la dépose. L'orientation vient toujours de la partie de la démonstration qui compte à cet instant précis, plutôt que d'une image moyennée de la tâche dans son ensemble.
Une démonstration n'est qu'une courte vidéo. Nous gardons chacune entière plutôt que de la comprimer en résumé, afin que la texture de l'approche, le contact et le relâchement restent tous disponibles à la récupération.
En clair :
vous apprenez au robot en lui montrant quelques vidéos de la tâche, et il conserve ces vidéos intactes pour s'y référer, au lieu de les tasser dans une note abrégée.
Cortex n'agit pas directement à partir de la perception. Il forme d'abord un plan de haut niveau, une lecture de ce qu'est la tâche et de la manière de l'aborder, puis imagine comment la scène va probablement se dérouler avant de s'engager dans un mouvement. Deux parties du système portent cela : un modèle vision-langage qui forme le plan, et un world model qui imagine les futurs.
Pour que l'une ou l'autre partie fasse son travail sur une nouvelle tâche, elle doit savoir de quelle tâche il s'agit. Les démonstrations récupérées vont donc aux deux. En conditionnant les deux étapes sur le même ensemble récupéré, le plan et l'observation suivante imaginée s'écrivent :
Le modèle vision-langage reçoit les démonstrations comme un modèle de langage reçoit des exemples few-shot : les segments de sont placés dans son contexte aux côtés de la scène courante, et il y prête attention en formant le plan . C'est la voie bien comprise, et elle l'est pour une bonne raison : c'est ainsi que fonctionne l'apprentissage en contexte partout ailleurs. Un modèle entraîné uniquement à imiter ne prête pas attention de lui-même aux exemples en contexte ; il l'apprend une fois, en une seule étape d'amorçage. Ensuite, chaque nouvelle tâche n'est plus qu'une question de démonstrations fournies, tant que cette tâche reste proche de ce que le modèle a déjà vu. Nous nous sommes appuyés sur cette proximité de manière délibérée : les démonstrations testées sont des variations de tâches familières dans un même domaine, pas des sauts vers un comportement réellement nouveau.
Le world model reçoit le même . Son travail est de se représenter comment la scène va se dérouler, et sur une nouvelle tâche, ces futurs imaginés doivent ressembler à l'exécution démontrée, pas à une supposition générique. Comme les démonstrations sont des vidéos et que le world model raisonne déjà en vidéo, le conditionner tombe naturellement : nous montrons à un modèle vidéo exactement le type d'images dans lequel il travaille déjà. Cela s'avère peu coûteux à activer, une adaptation légère plutôt qu'un réentraînement.
Le bénéfice d'alimenter les deux, c'est la cohérence. Le même apparaît dans les deux expressions, de sorte que le plan et les futurs imaginés proviennent d'une source commune et s'accordent sur la tâche en cours. Le robot décide quoi faire et se représente le déroulement à partir des mêmes indices, ce qui est exactement ce que l'on veut lorsque les deux doivent s'aligner pour que le mouvement soit juste.
Sans démonstrations :

Le robot bloque à l'ouverture de la boîte, car le couvercle diffère légèrement des boîtes précédentes
Avec démonstrations :

Le robot parvient à ouvrir la boîte après avoir reçu des démonstrations de ce nouveau type de boîte, sans réentraînement.
En clair :
Le robot décide à la fois quoi faire et se représente comment cela va se passer, et nous veillons à ce que les vidéos d'exemple nourrissent les deux, afin que son plan et ses attentes concordent.
La récupération nous offre un sous-produit utile : une distance. Lorsque nous cherchons les segments de démonstration les plus proches de la vue courante, nous apprenons aussi à quel point ils le sont réellement. En notant le segment le plus proche, cette distance s'écrit :
C'est une mesure directe de la façon dont les démonstrations couvrent la situation dans laquelle se trouve le robot. Un petit signifie que la démonstration la plus proche correspond bien : le robot est en terrain balisé. Un grand signifie qu'il se trouve en territoire moins familier. Cela nous donne un signal naturel du degré de délibération attendu : s'appuyer sur ce qui a été démontré quand la correspondance est étroite, et réfléchir plus soigneusement quand elle ne l'est pas. C'est une manière propre de laisser le système jauger sa propre confiance à partir des démonstrations elles-mêmes plutôt que de la présumer, et cela s'accorde naturellement avec la façon dont Cortex raisonne déjà sur la quantité de planification. Dans nos tests, ce signal reste faible, car les tâches se situent volontairement près du terrain connu.

Courbe de la distance au segment le plus proche au fil des étapes d'une exécution : faible et stable tant que le robot est en terrain balisé, les pics marquant les moments que les démonstrations couvrent moins bien.
En clair :
en vérifiant à quel point la situation courante correspond aux vidéos qu'on lui a montrées, le robot sait s'il est en terrain connu et réfléchit davantage quand ce n'est pas le cas.
Cela prolonge ce qu'est déjà Cortex plutôt que d'y greffer quelque chose sur le côté. Toute la prémisse du système est que former un plan et l'éprouver contre des futurs imaginés vaut mieux que réagir image par image. L'apprentissage en contexte étend cette prémisse du comment le robot agit au quoi on lui demande de faire : la tâche peut être définie par l'exemple à l'exécution, au lieu d'être figée à l'entraînement. La structure planifier-puis-imaginer reste inchangée. Nous avons seulement changé d'où vient la tâche, et veillé à ce que les deux moitiés du système l'entendent.
Nous restons délibérément prudents sur le périmètre. L'objectif à court terme est la variation adjacente : une nouvelle catégorie d'objets, un nouvel agencement de bac, au sein d'un domaine où Cortex tourne déjà, appris à partir d'une poignée de démonstrations vidéo avec les poids gelés. Le gain est concret et opérationnel : une nouvelle SKU définie par quelques clips, traitée sans cycle d'entraînement. La valeur, c'est le cycle d'entraînement que nous n'avons plus à dépenser.
| Configuration | Démos | Entraînement | Réussite |
|---|---|---|---|
| Référence entraînée (nouvelle catégorie) | jeu complet | cycle complet | 97.6% |
| En contexte, VLM + world model | 2–3 | aucun | 92.6% |
C'est la direction que nous construisons. Les démonstrations restent proches du robot, comme une ressource où puiser d'un instant à l'autre ; les parties qui planifient et qui imaginent les voient toutes les deux ; et le degré auquel le robot s'y appuie est mesuré plutôt que supposé. Nous enseignons au robot comme on enseignerait une nouvelle tâche à une personne sur le terrain : lui montrer, et le laisser regarder.
Accédez au contenu et aux fichiers de cet article
Copiez l'intégralité du texte de l'article dans le presse-papiers pour le lire ou le partager facilement.
Téléchargez dans un fichier ZIP toutes les images haute résolution utilisées dans cet article.