AWS e Hugging Face publicaram Strands Robots, um SDK Apache 2.0 que encadeia coleta de dados, treinamento de modelos e implantação física em um único loop. O stack se baseia no formato de dataset do LeRobot, que suporta 90.000+ datasets de 8.000+ publishers no Hub. Qualquer ferramenta construída para dados LeRobot pode consumir gravações Strands sem conversão.

A abstração central é uma factory Robot() que resolve um nome para braços, humanoides, bases móveis e mãos. A mesma factory registra demonstrações em simulação e implanta uma política treinada em hardware físico—alternar entre modos requer apenas um argumento de palavra-chave (mode="real"). Todos os quatro estágios do pipeline—record, sync, stream, deploy—compartilham um backend e formato únicos. Nenhuma conversão acontece entre estágios. Mover uma política da simulação SO-100 para o braço físico SO-101 não requer mudanças de código.

Os dados fluem através do Hugging Face Storage Buckets, um armazenamento de objetos mutável, sem versão e apoiado por Xet, anunciado em março de 2026. Buckets usam o namespace hf:// junto com repositórios de datasets e são acessíveis via hf CLI. Cada chamada de sync envia apenas os bytes alterados desde a execução anterior. Durante o treinamento, o dataset é transmitido frame-a-frame do Hub sem um download local completo. O vídeo da câmera é decodificado dinamicamente usando torchcodec.

O ganho de eficiência é explícito. Um loop ingênuo copia todo o dataset crescente para a memória GPU antes de cada execução de treinamento e envia cada novo checkpoint enquanto novas gravações chegam. Em cadência diária, os custos de transferência por byte se acumulam. A transmissão elimina a cópia pré-treinamento; a sincronização incremental elimina uploads redundantes. O post não publica números de throughput de streaming, então equipes com datasets grandes devem fazer benchmark de suas próprias condições de rede e armazenamento antes de se comprometer.

Fora do pipeline de dados, a camada de agent decide quais episódios manter, quando a mudança de cena garante re-gravação, se um batch é grande o suficiente para treinar e qual checkpoint substitui a política atual do braço. Strands expõe estes como AgentTools compostos em um único agent. O modelo de raciocínio pode ser Amazon Bedrock, Anthropic, OpenAI ou uma instância Ollama local.

Requisitos: strands-robots[sim-mujoco,lerobot]>=0.5.1, que puxa LeRobot >=0.6.1, datasets, av e torchcodec. O runtime precisa Python 3.12+, roda em Linux e macOS e suporta Apple Silicon via MuJoCo. Um notebook complementar em examples/notebooks/05_streaming_data_loop.ipynb executa o loop completo em um laptop sem hardware físico.

O stack ainda não suporta coordenação multi-robô, políticas de embodimento heterogêneas ou versionamento de datasets. Storage Buckets explicitamente não têm versão. Equipes que precisam de snapshots de treinamento reproduzíveis devem adicionar versionamento por camadas ou fazer push para um repositório padrão no momento do checkpoint. Este post é a parte dois de uma série; a parte um cobriu a factory Robot() e implantação em uma única direção, mas não o caminho de retorno de dados.

Para equipes de robotics ML avaliando pipelines de aprendizado contínuo, esta arquitetura—um objeto coletando e reproduzindo dados, um backend para todos os quatro estágios, sincronização incremental no armazenamento—vale a pena testar contra configurações onde a transferência de dados é tratada por scripts customizados.