Ícone do site Café Codificado

Uma revisão prática do Conductor um aplicativo AI Parallel Runner

Uma revisão prática do Conductor, um aplicativo AI Parallel Runner

O que há de bom em Condutor é que ele tem um dos slogans mais simples: “Execute um monte de códigos Claude em paralelo”. Mas antes de continuar, devo salientar que existe outro produto chamado Orkes Conductor (anteriormente: Netflix Conductor) que gira em torno da IA, mas é bastante diferente. O mundo do agentic está começando a ficar lotado, não é? De qualquer forma, esta versão do Conductor vem de Laboratórios Melty. Ele pertence a uma nova categoria de aplicativos de codificação de IA que chamo de “aplicativos de execução paralela agente”.

Em primeiro lugar, por que quereríamos executar Códigos Claude separados? Precisamos saber mais uma informação, que fica clara na primeira página: “Cada espaço de trabalho é uma cópia e ramificação isolada do seu repositório Git. O Conductor apenas copia arquivos rastreados no git.” Isso significa que podemos fazer alterações independentes em cada espaço de trabalho, da mesma forma que uma equipe usa ramificações git para evitar conflitos durante a implementação de tarefas.

Se você lê minhas postagens regularmente e acha que isso parece um pouco familiar, bem, a Verdent está fazendo quase o mesmo com a IU, mas sem o foco em cópias isoladas.

O conselho do próprio Conductor é criar um espaço de trabalho por recurso. Embora você possa imaginar que deixar um LLM para trabalhar em um problema enquanto você se afasta e trabalha em outra questão é atualmente otimista, ainda neste domingo eu li o comentarista pró-IA Azeem Azhar boletim informativo, que afirmava que “Anthropic’s Soneto de Cláudio 4.5o melhor modelo de codificação da categoria, pode supostamente funcionar de forma autônoma por 30 horas em uma base de código” – então talvez o corredor paralelo seja apenas a direção de deslocamento para o trabalho de computação.

Veremos também que apenas identificar o espaço de trabalho se torna uma questão interessante, mas vamos começar com uma instalação.

Fui direto ao site para baixar o Conductor, que é um aplicativo exclusivo para Mac, como o Verdent. Existe uma lista de espera do Windows.

No momento, o Conductor funciona apenas por meio de repositórios compatíveis com GitHub. Então eu também tive que baixar o GitHub CLI. Embora eu não use principalmente o GitHub para meus repositórios, essa não é uma restrição que me impeça de experimentar. De qualquer forma, pulei no meu terminal e corri:

Então para autenticar:

Isso faz a dança de segurança para autenticar GitHub CLI em sua conta. Eventualmente, você verá isto:

Observe que este é um aplicativo somente para Mac, além de funcionar apenas para Claude Code da Anthropic e usar apenas repositórios compatíveis com GitHub. Mas, como eu disse, o Conductor representa uma família de aplicativos semelhantes e nenhuma dessas restrições durará muito.

Se você voltar à minha análise do Google Jules, eu coloquei minha ferramenta de aplicativo Rails no GitHub, então podemos também usá-la. Após associar uma pasta do drive ao seu projeto git, obtemos a tela principal:

A disposição da tela parece familiar. Em primeiro lugar, o nome exclusivo arbitrário é usado para identificar meu espaço de trabalho — isso será importante se eu tiver muitos espaços de trabalho. Então, olá Sacramento. Obtemos a caixa de consulta na parte inferior, o terminal no canto inferior direito, a área de comparação no canto superior direito e a lista de espaços de trabalho à esquerda.

Para confirmar se a versão antiga do aplicativo ainda funciona, executei o aplicativo no Warp e estava mais ou menos bom, com muito espaço para melhorias.

Observe que o diretório do projeto git é criado no condutor. Mas espere, este não é o espaço de trabalho de Sacramento. Isso está mais abaixo, como relata o terminal do Conductor:

OK, está entendido. Agora, vamos fazer uma mudança. O que costumamos fazer é usar Bootstrap em todas as views. Portanto, a versão atual do meu aplicativo usa botões Bootstrap coloridos na parte inferior da página para fornecer as opções CRUD:

Mas minha versão antiga no GitHub ainda não foi atualizada:

Então, olhando para o mostrar.html.erb view na nova versão, vemos como as classes Bootstrap são aplicadas:

Então pedirei ao Conductor para alterar os botões relevantes na versão antiga, descrevendo as classes a serem aplicadas:

Obviamente, se eu estivesse fazendo isso com raiva, faria muito mais sentido aplicar isso a todos mostrar.html.erb ver arquivo! Aliás, o Conductor está usando o Sonnet 4.5 para isso.

Mas é claro que não sentamos e assistimos ao trabalho do LLM. Passamos a criar outro espaço de trabalho e resolver outro problema. Vou direto para o espaço de trabalho em Indianápolis com minha nova edição.

Olhando para a barra lateral do meu aplicativo, parece que ele não usou uma boa variedade de imagens de ícones:

Compare isso com minha versão atualizada mais funcionalmente completa:

Então, pedirei ao Conductor para corrigir isso no espaço de trabalho de Indianápolis:

E eu deixei funcionar.

Mas se olharmos para o painel, vemos algo estranho:

Vemos que o Conductor renomeou o espaço de trabalho Sacramento com um nome baseado na ação da tarefa “estilo botão de conversa”. Embora seja lógico, o problema óbvio aqui é que a identidade desta tarefa do espaço de trabalho mudou – não tenho certeza se isso é sensato sem permissão. Este é agora o nome do novo branch git no qual as mudanças serão preparadas.

De qualquer forma, posso voltar e verificar a primeira tarefa, e está feito:

E fez o trabalho, embora eu precisasse dizer-lhe para usar o espaço de uma forma mais elegante. Mas isso seria outra tarefa!

Voltemos a Indianápolis, que agora é “add-nav-icons”. Isso também terminou:

Então, encerrando a tarefa anterior, executo novamente a nova tarefa (que permanece Indianápolis dentro do terminal):

Bem, o Travellers parece ter perdido seu ícone, mas os outros agora têm o seu. Novamente, esta seria outra solução.

Olhando para o terminal, o espaço de trabalho mantém seu nome, mas a ramificação muda de nome com base na tarefa:

Eu ainda teria que cuidar da mecânica de mesclagem (o Conductor nos incentiva a usar solicitações pull), mas fomos longe o suficiente para demonstrar que a execução paralela funciona bem em teoria. Definitivamente, é necessário algum cuidado para representar o nome do espaço de trabalho versus o nome da tarefa versus a ramificação da tarefa, mas uma jornada de UI refinada pode simplificar isso.

Alguém levantou a questão interessante de que esse tipo de trabalho fragmentado faz mais sentido para desenvolvedores seniores ou líderes de tecnologia cujo dia de trabalho geralmente é uma série de interrupções, em oposição aos desenvolvedores que precisam entrar “no fluxo”.

Mas embora o líder técnico já esteja acostumado a supervisionar o trabalho paralelo, outros engenheiros podem considerar a constante mudança de contexto com suspeita. Acho que muitos desenvolvedores conseguirão fazer boa música com o Conductor. Mas de qualquer forma, veremos um foco mais profundo no fluxo de trabalho paralelo do LLM, à medida que muitas tarefas bem definidas se tornarem o forte do LLM.

Sair da versão mobile