OpenGrall apresenta o modo “Engenheiro”: robô escreve drivers e configura módulos sozinho
OpenGrall descreveu o modo “Engenheiro”, no qual o robô, sob comando, pode montar sozinho um plugin para um novo módulo — de um servomotor de câmera a um…
Processado por IA de Habr AI; editado por Hamidun News
OpenGrall descreveu o modo "Engenheiro" — uma arquitetura na qual um robô pode criar plugins, escrever drivers e adaptar código para novo hardware com base em comandos de texto. A ideia não é sobre autonomia completa a qualquer custo, mas sim delegar integração rotineira para uma LLM mantendo controle humano.
Como os papéis funcionam
No projeto OpenGrall, a inteligência do robô é dividida em dois circuitos. O "Piloto" é um modelo local que funciona a bordo, toma decisões rapidamente e gerencia movimento em tempo real. Ele vê sensores, lê arquivos do projeto e pode atualizar memória, mas não tem direito de alterar código do sistema.
Este modo é necessário para que o robô não dependa da nuvem para tarefas básicas e não quebre sua própria lógica durante operação normal. O "Engenheiro" é ativado apenas sob solicitação ou quando uma tarefa requer acesso a ferramentas de desenvolvimento. Esta é uma LLM em nuvem que recebe acesso ao código do projeto, configurações e documentação.
Não apenas gera código às cegas, mas atua como um agente separado: estuda a estrutura dos plugins, busca exemplos, edita arquivos, executa código em uma sandbox e faz perguntas esclarecedoras ao proprietário. Se o comando soar como "vire à esquerda", o Piloto funciona; se soar como "configure o manipulador", o bastão passa para o Engenheiro.
Como o Engenheiro funciona
A ideia principal do modo é não escrever tudo manualmente para cada novo módulo. Se, por exemplo, uma câmera servo no ESP32 for conectada ao robô via WebSocket, o proprietário só precisa descrever o dispositivo e comandos disponíveis em um arquivo de auto-descrição. Depois disso, o Engenheiro lê o projeto, compara plugins existentes e cria um novo módulo para hardware específico. OpenGrall reuniu um conjunto separado de ferramentas para isso:
- busca por documentação e exemplos funcionais na web
- leitura de artigos, especificações e arquivos do projeto
- análise da estrutura de diretórios e plugins existentes
- edição direcionada de código e criação de novos arquivos
- execução e teste do código escrito em uma sandbox isolada
A seguir vem não "magia de um botão", mas um ciclo de desenvolvimento controlado. Primeiro, o modelo constrói um esqueleto de classe e pode mostrá-lo para um humano antes de gerar o arquivo completo. Em seguida, os métodos são preenchidos passo a passo em modo streaming para evitar regenerar todo o módulo e perder contexto.
Para calibração, o Engenheiro pode colocar um humano no loop: pedir que coloque um objeto na frente da câmera, meça a distância até o corpo ou confirme que o servo atingiu o ângulo desejado. Isso é especialmente importante onde uma descrição de texto sozinha não é suficiente. O autor aposta não apenas em conectar novos módulos, mas também em reestruturação mais profunda do sistema.
O artigo dá um exemplo com um navegador: a versão manual básica com aproximadamente 1.500 linhas de código pode ser substituída por uma implementação muito mais extensa com trajetórias suaves, rerotas em tempo real e menos solavancos. Em outras palavras, não estamos mais falando sobre gerar um único driver, mas sobre dar ao robô uma ferramenta para reescrever seus próprios subsistemas para uma nova tarefa.
"A decisão final permanece com o humano."
A segurança é mantida através de três mecanismos simples: sandbox para execução de código, backups automáticos antes de cada alteração e geração passo a passo com verificação de resultados. Código é executado com timeout e sem chamadas de sistema, uma cópia do arquivo é criada antes da edição e a integração no ciclo principal não acontece automaticamente. Mesmo que o modelo cometa um erro ou siga um caminho arquitetônico errado, um humano pode parar o processo, reverter alterações e tomar a decisão final manualmente.
Onde a abordagem tem limitações
Os autores do OpenGrall dizem diretamente que o primeiro código gerado não deve ser idealizado. LLMs têm os mesmos problemas crônicos: APIs desatualizadas, dependências desnecessárias, wrappers incorretos e incompatibilidade com o ambiente. A diferença é apenas que o agente pode ler logs, reiniciar testes e fazer correções por conta própria até que o módulo funcione. Mas na prática, tal depuração autônoma pode levar não minutos, mas horas de tempo real, especialmente se o hardware é não-padrão ou a documentação é bruta.
Há também limitações arquitetônicas mais rígidas. Para configurar um manipulador, câmera ou lidar, este modo faz sentido: o modelo vê a descrição, entende a geometria da tarefa e pode montar uma interface funcional em cima de comandos existentes. Mas para controlar a locomoção de um hexápode ou outras tarefas com requisitos rigorosos de velocidade e adaptabilidade, código Python auto-gerado sozinho não é suficiente. De acordo com o autor, outras abordagens são necessárias — por exemplo, TinyML e aprendizado em simulação, onde o comportamento é desenvolvido através de milhões de iterações, não escrito superficialmente com base em uma solicitação de texto.
O que isso significa
OpenGrall demonstra uma mudança interessante: um robô começa a ser percebido não como um dispositivo rigidamente programado, mas como uma plataforma que pode ser mais treinada e estendida com comandos de texto. Robótica completamente autônoma ainda está distante, mas para integração de sensores, plugins e subsistemas individuais, tal "Engenheiro" já pode reduzir significativamente a quantidade de trabalho manual — desde que o interruptor final permaneça nas mãos humanas.
Quer parar de ler sobre IA e começar a usar?
AI News é um feed curado de notícias de IA. A Hamidun Academy ensina você a usar IA no trabalho.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.