📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

A OpenAI colocou Subagentes no Codex (isso muda tudo)

Eli Rigobeli - IA15:57

Transcription

A OpenAI acaba de mudar a forma que você utiliza o Codex. Agora, ele não é só mais um único agente, ele pode virar um time completo. Isso daqui que você tá vendo não é só o Codex rodando, é o novo sistema de subagentes que a OpenAI acabou de liberar. Agora mesmo eu tenho múltiplos agentes trabalhando em paralelo na minha aplicação. Um tá implementando o upload de imagem, outro tá criando um sistema de hashtags e um outro ainda tá criando o esquema do banco de dados. No final, o agente revisor vai analisar tudo e consolidar o resultado. Isso é orquestração. É o Codex criando agentes especializados, distribuindo responsabilidades e mantendo o contexto principal limpo. E nesse vídeo eu vou te mostrar como funciona os subagentes e como você pode criar os seus próprios agentes personalizados. Mas antes, você tem uma pequena missão. Dá uma olhada aqui embaixo na quantidade de inscritos. Falta só um pouquinho pra gente colocar uma plaquinha de 100.000 inscritos ali na parede. Então, se você não é inscrito e gosta de inteligência artificial, automações, programação com IA, considera se inscrever no canal e deixa o seu gostei que assim o YouTube entrega o vídeo para mais pessoas. Bora pro vídeo.

E aqui no X está a postagem onde eles divulgaram essa novidade. Os subagentes já estão disponíveis no Codex. Você pode acelerar o seu fluxo de trabalho criando agentes especializados para manter a janela de contexto principal limpa, abordar diferentes partes de uma tarefa em paralelo e orientar agentes individuais à medida que o trabalho se desenvolve. Aí tem esse vídeo aqui, ó, pra gente ter uma ideia, né, dele criando os agentes, mas a gente vai ver isso aqui na prática. Aqui um artigo que explica como que tudo funciona. Eu vou deixar o link aqui embaixo. Recomendo vocês darem uma lida, mas eu vou explicar para vocês agora.

Existe um agente principal rodando na sessão que nós vamos chamar de orquestrador. Quando eu peço para esse orquestrador criar novos agentes hoje, por padrão, hoje já vem pré-construído, vamos dizer assim, três tipos de agentes. Vou chamar aqui de agente A, o B e o C. Então, pensa no orquestrador aqui como um coordenador que vai passar a tarefa aqui para cada um dos agentes, vai esperar ele trabalhar, terminar a tarefa e vai mostrar o resultado final. Não significa que toda vez que a gente pedir para ele criar novos agentes, que ele vai criar esses três agentes. Ele vai criar os que forem necessários ou o que eu pedi. E aí cada um desses agentes hoje tem um papel específico por padrão.

Tem o generalista aqui que é o padrão, que é o agente de uso geral, o agente principal numa execução simples. Aí temos o Explorer, que é o cara mais focado em leitura, que vai mapear o código, que vai analisar. Ele é um agente mais focado em leitura, em explorar o código, entender o que que tá acontecendo. Tecnicamente, ele não deveria sair fazendo alterações no código. E tem o worker, que é o executor. Esse sim vai implementar, vai corrigir, vai escrever código, mas o mais legal de tudo é que a gente consegue fazer o quê? Criar um novo agente totalmente customizado. No nosso caso aqui o agente X. E em algum momento eu vou pedir pro orquestrador chamar ele também. Esse agente também vai ter uma função e eu vou definir qual é a função dele. Eu vou chamar ele, por exemplo, de revisor. E aqui a gente pode ter vários agentes, desde que a gente tenha vários arquivos de configuração, um para cada agente, explicando o que que ele é, o que que ele faz, tá?

Mas que arquivo é esse e onde que ele fica? Dentro da pasta do seu usuário, no meu caso, tá? C2 pontos, usuários, o nome do meu usuário, tem uma pastinha chamada ponto codex. dentro de ponto codex vai ter esse conteúdo aqui e a gente vai criar uma pasta chamada agentes, mas em inglês aqui, ó, agents. Eu vou criar aqui o revisor de código. O que que eu fiz? Criei um arquivo aqui, ó, revisordecodigo.toml, que é a extensão desse arquivo. Abri o bloco de notas e por padrão, esse arquivo vai ter que ter nome, descrição e as instruções. Esses campos são strings. Então, a gente vai dar um igual aqui, ó, e colocar string em todos eles. Pronto. Agora é só preencher. Eu coloquei assim, ó, nome, revisor de código, description, agente especializado em revisão técnica de código e developer instructions. Coloquei: "Atue como revisor técnico analise bugs, regressões, segurança, arquitetura e qualidade. Evite comentários puramente estéticos. Não implemente novas features. Apenas revise e sugira melhorias". Para não ficar tudo numa linha só as instruções, você pode fazer dessa forma, ó. Adiciona três aspas, coloca o conteúdo e fecha as três aspas aqui. E esses três aqui é o mínimo que a gente precisa para ter de configuração do agente.

Agora, opcionalmente, a gente pode ter aqui nickname, a gente pode ter o modelo. Isso aqui é bem útil, né? Imagina, você tem um agente específico que usa um modelo mais barato ali para você economizar tokens. Pode ter configuração do nível de raciocínio, se tá no modo sandbox. Você pode inclusive configurar MCP e também skills para esse agente. Por exemplo, modelo GPT 5.4, apelido atlas, quero configurar um MCP. A gente colocaria uma configuração desse tipo aqui, ó, MCP Server. Aí eu colocaria URL do MCP. Quero configurar uma skill. Aí seria uma configuração assim, ó. Skill config. o PEF, ou seja, o local que tá essa skill, pode ver que ele leva lá, ó, pro skill.md e se tá habilitada ou não. Então é bem tranquilo a gente configurar. No link do artigo que tá aqui embaixo, tem alguns exemplos. No meu caso aqui, ó, eu vou tirar o modelo porque eu quero que ele utilize ali o 5.4 mesmo, Codex. Quando eu não coloco o modelo, ele vai, na verdade, herdar o modelo que eu estou utilizando na sessão. Vou deixar só o nome, descrição, instruções e o apelido.

Vamos lá, vamos testar. Já tô com Codex aberto aqui. Tem vídeo no canal mostrando como que funciona. Vou deixar o link aqui embaixo. E no último vídeo aqui do canal, nós criamos uma espécie de clone do Twitter e ficaram faltando algumas funcionalidades. Esse aqui foi o clone que a gente criou. Fui ver aqui, ó. Pessoal se cadastrou, hein? 14 seguidores. Tem várias pessoas aqui para seguir, ó. Que legal. Show, hein? Muito legal. Aqui, ó, em o que está acontecendo, eu não quis criar ali porque senão ia demorar muito o vídeo aquela parte de hashtag, certo? de ver o que que as pessoas estão digitando no momento. Vamos pedir para fazer isso. E outro detalhe, eu também não implementei aqui, ó, para subir postagem com imagem. Então, fica legal a gente adicionar a imagem, certo? Ó, eu consigo adicionar aqui o texto, tudo, mas eu não consigo adicionar a imagem. Vamos fazer isso também.

Eu vou baixar o código lá do repositório. Poderia usar a linha de comando para baixar, seria o melhor, mas eu vou baixar o zip aqui mesmo. Descompactei ele no desktop. Vou clicar aqui para abrir agora, ó. Abrir diretório. Tô dentro do diretório. Certo? Agora é só pedir para ele fazer aqui o que a gente quer. Só que eu quero pedir primeiro para ele rodar, pra gente garantir que tá tudo funcionando legal. Também poderia rodar manualmente os comandos pelo terminal, mas aqui eu vou pedir para ele fazer. Rode o projeto localmente para mim. Ele já vai instalar as dependências, vai rodar aqui no modo de desenvolvimento e vai me passar a URL. Beleza, falou que tá rodando aqui. Vou abrir essa URL. Pronto, rodando aqui na minha máquina.

Chegou a hora da gente ver aqui os agentes em ação. Então, que que eu vou pedir? Vamos lá. Vou pedir para ele o seguinte: "Implementar duas funcionalidades no projeto: 1. Permitir o upload de imagens no post utilizando Supabase Storage, salvando corretamente no banco e exibindo as imagens no feed. 2. Implementar sistema de hashtag, identificando automaticamente a hashtag no post e criando um rank das mais utilizadas recentemente. Na sidebar, na barra lateral hoje existe a sessão 'o que está acontecendo' com uma lista de vídeos. Substitua esse conteúdo por uma lista das hashtags em alta no momento." E aqui eu pedi para ele fazer de forma paralela e usar o máximo permitido pela configuração atual dos agentes. Crie o maior número de subagentes possível de forma segura, distribuindo responsabilidades de maneira granular, mas evitando sobreposição de escopo ou conflitos na entidade post. Coordene as dependências remotamente entre os agentes. Espere todos concluírem e ao final chame o agente revisor de código. Coloquei aqui o apelido Atlas para revisar todas as alterações antes de consolidar a resposta final." Enviar.

Vou mapear a estrutura do projeto primeiro para identificar onde dividir o trabalho sem conflito. Já entendeu aqui que já tinha o upload ali do avatar no storage? Então ele já entendeu como que vai funcionar o upload lá no Supabase da imagem. E ó que legal, ele criou aqui três agentes. Eu passo, consigo ver o modelo que ele colocou, o GPT 5.4 mini. Ah, eu quero ver o que que cada agente tá fazendo. Ó, eu clico aqui. Aí tem aqui o assunto, né, o tema que a gente tá tratando. Se eu clicar de novo, eu vejo o Newton, o Mencius e Avicena. Se eu clicar aqui no Newton, vamos ver o que que o Newton tá fazendo. Olha só, aqui é o que o Newton tá fazendo. Esse aqui é outro agente. Vamos clicar, ó, já mudou o conteúdo. Então eu consigo ir mudando aqui, ó, e vendo o que que cada um tá fazendo. Interessante, né? Vou voltar aqui pro principal.

Criou um SQL aqui, que é o arquivo que eu tenho que executar lá para criar as tabelas, as colunas necessárias. E ele tá aqui, ó, começando ainda o trabalho, tá? Tá zero de quatro tarefas concluídas. Que que ele definiu aqui? Mapear superfície de post, side bar, Supabase com os explorers em paralelo. Implementar núcleo de dados para mí hashtag. Executar workers paralelo. Então ele nem executou ainda o workers, ele tá só mapeando aqui com os explorers. Lembra? O Explorer ele nem muda nada. Então ele tá mapeando ali o que que precisa fazer com os explorers. E para isso ele criou três explorers. Agora ele iniciou aqui, ó, três agentes do tipo worker. E aqui tem seis agentes. Provavelmente esses daqui já terminaram o trabalho deles. Vamos ver. É, já terminou, tá vendo? Então, quem tá rodando aqui é só o Sócrates agora. Provavelmente esses outros agentes aqui, ó, eles já terminaram o trabalho dele, ó. Só tá rodando o Sócrates. Aqui ele trabalhando, ó. Vamos voltar pro principal. Aqui a gente também consegue ver, ó, que tem seis agentes em background. Se eu clicar, vamos ver se abre. Consigo ver todos eles.

Ele falou que ia chamar o revisor aqui, ó, e falou que bateu o limite de threads de agentes. Vou encerrar os Explorers e Workers já concluídos para liberar mais agentes. E aqui, ó, ele criou widens com as instruções. "Você está atuando como agente revisor de código Atlas." Então, você vê que ele acabou não utilizando ali o sobrenome Atlas, mas ele tá usando exatamente aqui o agente que nós criamos. Olha ele aqui. O Atlas está revisando agora. Ainda não tem o parecer final dele, então estou aguardando antes de fechar a resposta. E ele fechou todo mundo que já tinha concluído as tarefas, tanto que a gente só tem agora o Atlas, um agente background. O Atlas trouxe três pontos válidos de produção. Vou corrigi-los agora. Eu nem tô esperando que isso daqui vai funcionar de primeira, tá? O objetivo do vídeo é mostrar os subagentes em ação. Ó que legal, corrigi os três pontos do review. Agora estou revalidando. Então a gente vê que faz muito sentido a gente ter esses subagentes. E ali a gente só colocou instrução. Imagina se a gente preenche toda uma skill ali, uma habilidade para ele seguir.

Parece que ele acabou. Trabalhou por 11 minutos e 29 segundos. Impliquei as duas frentes. No back end contrato. Adicionei suporte a mídia de post #commigração nova em que me passou o arquivo aqui. Ele cria post imagem URL e tal. Explicou aqui na UI. O Composer inline e o modal agora aceitam imagens. A side bar da direita deixou de mostrar vídeos e agora carrega # em alta. Chamei o revisor Atlas no fim. Ele revisou as alterações e fechou após os ajustes finais.

Próximo passo obrigatório: aplicar a migration nova no Supabase no ambiente real. Então eu vou clicar aqui, ó, nesse SQL. Ele vai abrir o diretório. Abriu esse diretório e é esse arquivo aqui, ó. Ó, abrir aqui no bloco de notas mesmo. Todo esse conteúdo aqui, ó, eu tenho que ajustar lá no banco de dados. Ele tá alterando aqui a tabela dos posts, adicionando a coluna de URL da imagem, se ainda não existe. Teoricamente, o ideal seria eu ter aqui um banco de dados local ou um outro banco de dados que não esteja em produção para fazer isso daqui, fazer os testes, ver se não vai dar erro, porque se eu subir agora e é o que eu vou fazer e der erro, ele vai quebrar todo o sistema que já tá online. Mas como aqui a gente só tá testando, vamos embora. Se você tá com dúvida do que que é isso daqui, o que são essas migrations, onde que ele vai colocar Supabase, o que é isso, dá uma assistida no vídeo anterior.

Então, aqui no Supabase, eu vou vir em SQL Editor, vou apagar o que tava aqui, que era o anterior, e vou colar o novo, tá? Aqui, ó. Que que eu vou fazer agora? Clicar em run. Ele avisa que pode dar algum BO aqui, não tem problema. Tá rodando. E vamos torcer para dar sucesso. Sucesso. Como teve bastante alteração, reiniciei o servidor e aqui estamos. Vou dar um F5. Beleza, aqui já mudou, né? Não tem mais os vídeos. Vamos criar aqui um post com hashtag. Criei essa funcionalidade com codex. Publicar. Ele identificou a hashtag aqui. Se eu clicar na hashtag, ele não vai para posts com essa hashtag, ele foi pro post. Tudo bem? Isso daqui é uma outra melhoria. Mas ele também não adicionou aqui a hashtag. Deixa eu dar um F5. Ah, agora sim. Então, dei um F5 aqui, ó. Apareceu a hashtag, ó. Que legal. Apareceu também o número um aqui, que deve ser a quantidade de post. Então, tá mostrando Codex, um post recente, não consigo navegar ali em todos os posts da hashtag, mas como eu falei, isso daqui é uma nova funcionalidade, beleza? Que aliás a gente pedindo ali, ele resolve isso rapidinho.

Vamos lá, vamos testar agora o post das imagens. Para isso, eu vou pegar uma imagem aqui, ó, de bom dia. Bom dia, tá aqui, salvar. Beleza. Então, eu vou escrever aqui bom dia. Vou selecionar a imagem. Apareceu aqui. Publicar. Ah, funcionou, pessoal. Olha só que legal. Atualizando. Tá aqui. Muito bom, né? Agora é comitar que isso daqui já vai direto lá para a nossa main que automaticamente também via o Vercel que foi apresentado aqui na aula anterior, no vídeo anterior do canal, isso daí já vai ficar disponível para todo mundo.

Só para não passar batido, que inclusive no vídeo anterior eu não comentei muito aqui, ó, em storage, no Supabase, no caso, ó, nós temos aqui o storage dos avatars, certo? Então, se eu clicar aqui em avatar, eu vejo todas as imagens que as pessoas subiram, ó. Tá vendo, ó? Se eu clicar aqui em algum desses, eu vejo o avatar de algum usuário que já adicionou a imagem. Se eu voltar em post images, eu vejo aqui a imagem que eu acabei de criar, ó. Porque o Supabase, como eu falei para vocês, além de ter o banco de dados, a autenticação, ele também faz esse papel aqui de storage. Se eu clicar aqui, ó, eu vejo exatamente a imagem de bom dia.

E aí, gostou desse novo recurso? Bem interessante, né? Tem um detalhe importante, eu não comentei no meio do vídeo, mas é de se esperar que a gente vai gastar mais tokens à medida que a gente adiciona mais agentes em paralelo. Essa função, ela é uma mudança de paradigma. Por quê? A medida que a gente vai adicionando mais agentes, mais códigos vão sendo gerado ali de uma vez. Ele divide o problema, cria ali especialista, ele realmente trabalha em paralelo. Naturalmente a gente tem mais códigos sendo gerado por IA. Pode ser ruim se você é um dev, né? e tá querendo ter um controle melhor do que que a IA tá fazendo, naturalmente você vai ter mais código ali para revisar. Mas nada impede de você não pedir para ele só ficar criando múltiplos agentes, mas utilizar um agente específico com uma instrução específica ou com uma skill específica para desenvolver uma solução. Com certeza isso acaba ajudando você a implementar uma nova solução com IA de forma mais assertiva também. Eu gostei, achei bem interessante. Tá no começo ainda, como eu falei, a gente pode integrar MCP, as configurações das skills. A gente monta praticamente um time inteiro ali dentro do Codex.

Espero que você tenha gostado do vídeo. Eu sou Ele Rigobell. Deixa o seu like se você ainda não deixou. Obrigado por assistir e até o próximo.