Transcript
00:00:00Este é o Symphony da OpenAI, uma ferramenta de código aberto para orquestrar agentes de longa duração usando um
00:00:05rastreador de problemas existente como o Linear para ajudar seu agente a concluir tarefas de forma autônoma sem qualquer
00:00:10supervisão humana. Mas por que um agente não precisa construí-lo do zero antes que você possa usá-lo?
00:00:14Ele suporta apenas a CLI do Codex? E este é o começo de mais
00:00:18ferramentas de código aberto da OpenAI? Inscreva-se e vamos descobrir.
00:00:25O Symphony só existe porque a OpenAI atingiu um gargalo de atenção humana, o que significa que os engenheiros
00:00:30só podiam supervisionar 3 a 5 sessões do Codex simultaneamente antes que a alternância de contexto começasse
00:00:35a afetar negativamente a produtividade. Isso, claro, não iria escalar. Então adivinhe como a OpenAI resolveu
00:00:41o problema de “agentes rápidos, gestores humanos lentos”? Eles se livraram dos gestores humanos. Mais ou menos.
00:00:47Porque com o Symphony, humanos colocam tarefas em um quadro, um novo agente será criado para concluir essa tarefa,
00:00:52e o agente só envolverá o humano se houver algo para revisar.
00:00:55Mas como o Symphony se compara a ferramentas semelhantes como Multica e Conductor? Bem,
00:00:58assista à demonstração e isso ficará cristalino. Antes de começarmos, porém, eu só quero dizer
00:01:03que o Symphony tem o processo de instalação mais estranho que já vi na minha vida. Ou pode ser a
00:01:07forma mais genial de instalar algo. Falaremos sobre isso mais tarde.
00:01:10Primeiro, vamos passar por um exemplo básico. Então, estou com o Symphony rodando,
00:01:14verificando tarefas no Linear para trabalhar. E no Linear, vou criar um novo problema,
00:01:18que será construir um app Hello World usando TypeScript e BUN.
00:01:22No momento, o Symphony não está configurado para trabalhar em tarefas do backlog. Então, mudarei o status para To-Do
00:01:27e clicarei em Create Issue. Lembre-se do ID da tarefa, que é SYN7.
00:01:31Então, depois de um tempo, o Symphony detecta o ID dessa tarefa. E alguns segundos depois,
00:01:36temos um erro de validação de GraphQL, o que não é grande coisa e é muito fácil para o Codex corrigir.
00:01:41Mas depois disso, podemos ver que o Codex concluiu o trabalho, mudou o problema
00:01:45de To-Do para Done, e deixou um comentário aqui do Symphony. O que significa que se formos ao
00:01:49nosso diretório de espaços de trabalho do Symphony, falaremos mais sobre isso depois, podemos ver que temos um novo
00:01:53espaço de trabalho com o mesmo ID do nosso problema. E se entrarmos nesse espaço de trabalho, temos a lista
00:01:58de arquivos criados para o app Hello World TypeScript BUN. E se entrarmos no diretório source,
00:02:04podemos ver que o código do app está bem aqui. E isso é essencialmente o Symphony em poucas palavras.
00:02:08Agora vamos ver como configurá-lo. Existem duas formas de instalar o Symphony
00:02:12de acordo com este repositório. Opção dois, que é a que estamos acostumados, configuramos o Elixir,
00:02:16clonamos o repositório, depois buildamos o código e o executamos usando o arquivo de fluxo de trabalho existente.
00:02:20A opção um, no entanto, é possivelmente a maneira mais estranha ou visionária de instalar algo.
00:02:25Você basicamente dá ao seu agente de codificação este prompt, e ele lerá o arquivo de especificação,
00:02:30que tem mais de 2.000 linhas. Mas ele basicamente dá ao seu agente instruções
00:02:34detalhadas sobre como construir o Symphony, o que é bizarro porque se todos seguissem este caminho,
00:02:39nenhuma das duas versões do Symphony seria igual. Algumas pessoas teriam recursos diferentes em
00:02:43linguagens diferentes, o que seria um caos para a OpenAI manter e dar suporte.
00:02:47Mas também é genial, porque se você construísse sua própria versão do Symphony,
00:02:51você se sentiria responsável por ela. Você corrigiria os bugs, adicionaria os recursos,
00:02:55e você essencialmente a manteria. E se você não quisesse que o Symphony usasse o Linear ou
00:02:59o Codex, isso seria com você. Alguém construiu uma versão em Go do Symphony que roda no Charm CLI,
00:03:04e outra pessoa construiu uma alimentada pelo SDK do Claude. Eu não fui tão criativo,
00:03:09então coloquei o prompt padrão no Codex usando GPT 5.5 Low Effort, e ele me deu uma versão em Python
00:03:15do Symphony, o que faz sentido porque LLMs são muito bons em Python. Mas assim que terminar,
00:03:19você precisará de uma chave de API pessoal do Linear, que você pode obter em Security and Access,
00:03:23e pode criar uma clicando aqui. Depois, terá que adicionar essa chave ao seu perfil de trabalho,
00:03:28que é um arquivo que diz ao Symphony como fazer seu trabalho, contendo algum YAML front matter,
00:03:32que claro tem a chave de API, estados ativos para o agente saber quando pode trabalhar em uma tarefa,
00:03:37bem como a raiz do espaço de trabalho e o comando codecs, que é o comando de shell que o Symphony
00:03:42usa para lançar um agente de codificação. E abaixo disso está o prompt markdown enviado ao agente de codificação
00:03:46para cada problema. Você pode acessar o arquivo workflow.ind da OpenAI no repositório deles se estiver interessado.
00:03:51Mas no momento, este fluxo de trabalho não é adequado para um projeto real. Digamos que eu quisesse fazer mudanças no
00:03:56meu app de emulação de filme em que estive trabalhando. Eu precisaria adicionar um hook create-after, que roda
00:04:01depois que o Symphony cria um espaço de trabalho para um problema, e este hook primeiro clonará o repositório no
00:04:06diretório do espaço de trabalho e depois fará o checkout para uma nova branch nesse repositório. Também adicionei um hook
00:04:10run-after, que roda depois que o Codex termina de trabalhar no problema. Então este prepara os arquivos, depois
00:04:15cria um novo commit antes de fazer o push da branch e criar um novo pull request com estes valores.
00:04:20Então agora se eu rodar o Symphony usando UV, que também foi adquirido pela OpenAI, mas isso é assunto para outro
00:04:25vídeo, ele está verificando novos problemas. Agora, se eu criar um novo problema para atualizar o readme, apenas
00:04:30na seção que mostra o processamento em lote, para usar um curinga em vez de mostrar múltiplos arquivos, novamente,
00:04:35mudarei de backlog para to-do, e clicarei em create issue. Agora o Symphony detectou esse
00:04:40problema. E se eu olhar o diretório de espaços de trabalho do Symphony, vemos que há uma nova pasta correspondente
00:04:45ao ID do problema, que contém o projeto clonado. E agora que o Symphony terminou de trabalhar no
00:04:49problema, ele mudou o status para done e criou um novo PR com um link para o ticket do Linear
00:04:54e a mudança exata que eu solicitei. Agora, é claro, eu poderia mudar meu código do Symphony para adicionar uma
00:04:59descrição melhor para o PR e colocar um link para o PR nos comentários, mas tenho certeza de que isso é muito fácil para o
00:05:04Codex fazer. Então, essa é uma visão geral rápida do Symphony. Se você já se sente confortável ou trabalha em uma
00:05:08empresa que usa o Linear, você se sentirá em casa com a interface. E se você é um usuário do Codex,
00:05:13pode usar suas habilidades, ferramentas MCP e plugins que você já tem instalados. Eu pessoalmente não
00:05:18uso o Codex, mas consigo ver perfeitamente a visão que a OpenAI pretendia com o Symphony. Imagine
00:05:22que você tivesse uma equipe de desenvolvedores trabalhando todos no mesmo projeto com IA. Em vez de cada um ter seu
00:05:28próprio arnês pessoal com seu próprio fluxo de trabalho, pode haver um agente central com habilidades centrais, ferramentas
00:05:33centrais, fluxos de trabalho e plugins centrais. E cada desenvolvedor pode se comunicar com isso dando
00:05:37uma tarefa a ele e eles podem ver no que outros desenvolvedores estão trabalhando, quais prompts usaram e podem
00:05:41ver rapidamente quais outros recursos podem afetar o recurso no qual estão trabalhando. Embora
00:05:46seja muito difícil criar um recurso que não toque em outra parte do código em que alguém
00:05:49mais esteja trabalhando. Mas por mais legal que o Symphony seja, na minha opinião, o Multica faz um trabalho melhor porque é
00:05:54mais fácil de configurar, criar e adicionar diferentes agentes, e você pode até agendar tarefas. No entanto,
00:05:59vejo totalmente um lugar para o Symphony. É como uma versão básica do Multica onde você
00:06:04pode adicionar os recursos exatos que deseja em vez de ter um produto já construído para você. Então pense
00:06:08no Symphony como o arnês Pi e outras ferramentas como Multica ou Conductor como código pronto. E se
00:06:13você não sabe nada sobre o Multica, dê uma olhada neste vídeo, que mostra tudo o que você
00:06:18precisa saber sobre ele.