Transcript of Como fazer o Codex render mais gastando menos tokens
Rafael Quintanilha – QuantBrasil
0:00Com as IAIS ficando cada vez mais0:02inteligentes e o custo por inteligência0:04reduzindo, a verdade é que você não0:06precisa mais utilizar o modelo mais0:09completo a todo tempo. Por exemplo, no0:11benchmark do Jeep SWE, o GPT 5.6 Luna,0:15quando no Reason Máximo, tem um0:17desempenho similar com o que era o GPT0:195.4, um dos melhores modelos de alguns0:21meses atrás. Por isso, no vídeo de hoje,0:23eu quero te ensinar tudo sobre0:25orquestração de agentes, especificamente0:28no Harness do Codex. Eu vou te contar0:30por nós precisamos de subagentes, quais0:33são as suas vantagens e desvantagens. Eu0:35vou te passar também a recomendação0:37oficial da própria Open AI e responder a0:40pergunta: será que orquestração de0:42agentes é a forma mais eficiente de0:44utilizar a inteligência artificial?0:46Pessoal, a motivação do vídeo de hoje0:48veio desse tweet aqui do Eric Provenger,0:50que é, né, desenvolvedor lá do Codex,0:53tá? Então, no dia 15 de agosto, um dia0:55antes de eu gravar esse vídeo, ele0:56postou aqui que isso saiu debaixo do0:59radar, mas que eles tinham acabado de1:01colocar em produção a habilidade dos1:03modelos do Coldex de delegar trabalho1:06para qualquer modelo, inclusive o Luna.1:09No lançamento do GPT 5.6, nós tivemos1:12uma família de três modelos: Sol, Terra1:15e Luna. E naquela ocasião eu até vim1:17aqui no canal para fazer uma planilha pr1:19vocês e dizer, ó, não faz muito sentido1:21você utilizar o Terra ou Luna nessa e1:23nessa circunstância, porque, né, baseado1:25nos benchmark, a gente teria ali quais1:27seriam as escolhas ótimas. Eu vou deixar1:30esse vídeo para você assistir depois,1:31porque ele ainda é bastante relevante,1:33só que naquele caso eu estava falando1:35especificamente de você utilizar o1:37modelo como seu daily drive. Agora, uma1:39vez que você tem a possibilidade de1:41utilizar esses outros agentes também1:44como subagentes, com assistentes do que1:47o seu agente principal está fazendo, aí1:49eles passam sim a ter uma relevância bem1:52interessante. Particularmente depois que1:54a Opene AI passou a faca no preço do GPT1:575.6 Luna e também deixou o Terra 20%2:00mais barato. Inclusive, eu também disse2:02o que que muda com esse barateamento de2:04preços. Eu também vou deixar aqui para2:05você assistir depois. Mas basicamente o2:07que aconteceu é que agora nós podemos2:10delegar, né, a tarefa lá no Harnes do2:13Coldex para o GPT Sol, Terra e Luna. Só2:16que olha só, tem algumas2:17particularidades que eu quero te mostrar2:19no vídeo de hoje, tá bom? Em primeiro2:21lugar, você vai ver aqui o Eric usando o2:23termo peer agent e subagent, tá? Isso2:27não é um termo documentado e parece que2:29isso de fato é algo que ele inventou,2:31tá? Mas a ideia é a seguinte, esses2:33modelos, por mais que eles possam ser2:35usado como sube, eles têm2:37particularidade. Qual é a2:38particularidade deles? O modelo Sol e o2:41Terra, esses dois modelos, eles podem2:44enviar mensagens entre si e eles podem2:47delegar tarefa para outros suagentes.2:49Então você pode pensar que existe uma2:50escadinha de subagente. O agente um2:52delega pro agente dois e o agente dois2:54delega pro agente três. Beleza? Só que o2:56Luna em particular ele não pode fazer2:59isso. O Luna é o que ele chama de le3:02agent, né? Seria um agente ali da ponta,3:04a folha. Se você pensar ali numa3:05estrutura de gráfico, ele seria a folha,3:08a ponta dessa escadinha. Dali ele não3:10pode delegar para mais ninguém, tá?3:12Então esse termo lea agent, né, é o que3:14ele tá chamando aqui de subagente puro,3:16né? Ou seja, ele é realmente um3:18suagente. Ele vive naquele contexto, ele3:20trabalha e ele devolve ali pro contexto3:23principal. No caso de peer agent, seriam3:25agentes colaboradores entre si. Então3:28são agentes que podem enviar mensagem3:30entre si, tá? Então guarda essa3:31informação que isso vai ser importante.3:32E aqui em outro tweet dele, ele3:34enfatiza, tá? Que agora existem dois3:37grupos de subagentes no Coldec. Seriam3:39aqueles agentes que são completamente3:41colaborativos e que conseguem enviar3:42mensagem entre si de forma recursiva e3:45delegar, o modelo Sol e o Terra. E3:47também esses leaf agents, né, pensando3:49numa árvore, são aqueles da pontinha,3:51são as folhas da pontinha que são apenas3:53para delegação. Então essa é a ideia. É3:56assim que a gente pode trabalhar com3:58orquestração no Codex. Agora tem uma4:00particularidade que a gente vai ver, tá,4:02pessoal? Diferentemente do que acontece4:04em um harness como do Cloud Code e até4:06mesmo do Open Code, no Codex, essa4:09delegação para subagentes, ela precisa4:11ser mais explícita, tá? E aí ele até diz4:14aqui, ó, você tem que pedir qual modelo4:17você quer e aí sim ele vai fazer, né?4:20Você não precisa dizer ali, né,4:22necessariamente, ó, esse modelo é só um4:24leaf agent, esse aqui é um peer agent,4:26isso ele vai entender. Mas quando você4:28quiser orquestração, muito possivelmente4:30a melhor forma é que você diga de forma4:32explícita, tá? Então isso acaba ficando4:34um pouco de de fato fica um pouco abaixo4:36do radar ali no Coldex, né? Porque ele4:39acaba não usando isso e se você não sabe4:41você também não usa, tá? Então, é algo4:42que eu até gostaria que eles melhorassem4:44no futuro, embora a possibilidade de4:46fazer de forma explícita também seja bom4:47o suficiente. E aí uma última4:49recomendação dele é utilizar uma skill4:51que ele criou, uma skill de orquestração4:53e colocar uma linha, né, sobre delegar4:55de forma bem clara, né, com um trabalho4:58ali bem limitado, né, para o Luna High,5:00com essa característica aqui, né, fork5:03turns n, né, ou seja, a possibilidade5:05dele trabalhar ali num contexto isolado.5:07Beleza? Então, qual que foi a skill que5:08ele postou, tá? Essa skill é5:10relativamente antiga, né? Dia 24 de5:11julho, ou seja, antes de ter essa5:13questão do Luna. Ele diz aqui que o GPT5:155.6 Sol fica bem interessante quando5:18você tem um time para trabalhar com ele.5:20E agora tanto o Sol quanto Terra podem5:22delegar as tarefas, né? Na época não5:24poderia o Luna e e na verdade o Luna5:26ainda não pode delegar tarefa, mas ele5:28pode ser ser delegado, né? E essa5:30coordenação também acontece no modo5:31ultra, que nada mais é do que esse esse5:34time de agente coordenando entre si, tá?5:36E aí, novamente ele falando aqui, ó,5:38para outras tarefas, ou seja, aquelas5:40que você não usa o Luna, um prompt curto5:42ou uma skill pode encorajar esse5:45comportamento colaborativo, né, do sol5:48medium, tá? Então, de novo, se você não5:50tá vendo isso no Codex, é porque você5:52tem que ser mais explícito no seu5:54pedido, tá bom? E aí aqui a recomendação5:57dele é que você delegue um modelo para o6:00mesmo num reason mais leve. Então, por6:02exemplo, você tá num trabalho, você quer6:04fazer um scout, né? Você quer só6:05analisar os arquivos, você tá6:07trabalhando com Sol, você joga o GPT 5.66:10SOL Lite, beleza? Só que, pessoal, desde6:12que ele escreveu esse artigo aqui, a6:14gente teve a redução de preço de 80% do6:16Luna. Então, utilizar mais o Luna ficou6:19cada vez mais relevante, tá? Ainda mais6:21agora que ele consegue ser um suagente.6:23Então, desse post dele aqui mudou, né?6:26Vamos dizer assim, quais modelos nós6:28podemos usar, embora em princípio isso6:30se mantenha, né? Então você pode ter6:32aqui suagente para fazer o scout, ou6:35seja, aquele que vai só buscar arquivos,6:38né, responder perguntas mais objetivas,6:40achar testes relevantes, achar um6:43caminho no código. Você pode ter um6:45agente que vai ser um worker, aquele que6:47vai implementar aquelas mudanças dentro6:49de um escopo mais bem definido, executar6:52validações e vai fazer um trabalho mais6:54de suporte. E você tem aquele modelo6:56mais inteligente, aquele que vai fazer6:58uma implementação mais difícil, que vai6:59resolver uma ambiguidade, que vai ser o7:01coordenador, que vai dar aquela visão7:03mais crítica, tá? Então isso aqui são7:06padrões que ele sugere e você deixa o7:08time coordenar, beleza? Ele dizendo para7:11você fazer isso, por exemplo, com o fork7:13turns nun, né, que é uma característica7:15ali do multiacy V2 do Codex. E também7:19você pode transformar isso numa skill,7:20tá? É uma skill bem simples aqui, né,7:23para delegar o trabalho, né, e usar read7:26only scouts em paralelo, né, ou seja,7:29aqueles modelos que vão só analisar a7:32base de código com reasoning effort low,7:34por exemplo, e por aí vai. Só que desde7:37que isso aconteceu, muita coisa mudou e7:39eu quero testar isso com vocês hoje. Só7:41que antes da gente ver isso aqui na7:42prática, eu queria passar aqui com vocês7:44pela documentação oficial da Open AI no7:47quesito de subagente, tá lá no chat GPT7:49e no Codex. Os princípios aqui, pessoal,7:52vão ser os mesmos para qualquer7:54hardness. Como eu disse, cloud code,7:55open code. Eu tô dando exemplo prático7:57aqui para a Open AI, para o Codex, que é8:00o meu hard favorito. Eu sei que muitos8:02de vocês usam também, até porque com8:04isso você consegue economizar muito mais8:06token, delegando tarefas que seria do8:09Sol, por exemplo, pro Luna, que é um8:10modelo infinitamente mais barato, na8:13verdade 25 vezes mais barato, tá? Então,8:14beleza. Então, o Chat GPT Work e o Codex8:17podem executar workflows com subagentes8:19ao disparar agentes especializados em8:22paralelo e coletar a sua resposta, né, o8:25resultado em uma resposta apenare8:30mais complexas que são e altamente8:32paralelizáveis, como por exemplo,8:34explorar uma base de código ou8:37implementar uma feature que tem8:39múltiplas etapas, tá? E aí também se8:40você tiver rodando o codex um cliente8:42local, ou seja, você não tá lá no chat8:44GPT Work, você também pode definir esses8:46agentes customizados com configurações8:48diferentes de modelo também. De novo,8:50algo que não é novidade para quem8:51trabalha com Open Code e com cloud code.8:53Onde que você pode utilizar isso? Bom,8:55nos releases mais novos do Codex, em8:57todos os lugares, né? Basicamente na8:59CLI, na extensão da IDE e no app do9:02desktop também, que é o que eu mais9:03gosto de utilizar, tá? E aí, porque cada9:05suagente tem o seu próprio modelo e as9:08suas próprias ferramentas, os workflows9:10do suagente consomem mais tokens do que9:13comparado com um agente único. Só que9:16isso aqui é porque cada subagente vai9:19inicializar com o seu contexto, beleza?9:21Só que dependendo da tarefa que você9:23iria fazer com aquele modelo mais caro,9:26se aquela era uma tarefa que você pode9:28dar um modelo mais barato para fazer,9:30então é melhor que você dê pro modelo9:32mais barato fazer e guarde os tokens pro9:34modelo mais caro, tá? Vamos aproveitar9:36que a gente teve a Copa do Mundo há9:37pouco tempo, vamos fazer uma analogia de9:38futebol. Você pegar o melhor jogador do9:40seu time, botar ele para ficar marcando9:42lateral, quando chegar na hora do9:44ataque, do contra-ataque, no final do9:46jogo, o seu jogador vai est morto, ele9:47vai estar fisicamente cansado, que ele9:49não consegue mais e executar. aquela9:52tarefa que ele tem mais capacidade, não9:54vai conseguir dar aquele passe, aquele9:55lançamento, aquele drible, aquela9:56arrancada que ele já gastou, né, a sua9:58capacidade ali correndo atrás para10:00marcar o lateral. Se por outro lado você10:02tiver um jogador que seja menos10:04talentoso, mas que seja fisicamente10:06muito imponente, você pode pegar aquele10:08jogador e fazer sim ele ficar marcando o10:11lateral para que o seu melhor jogador10:13esteja descansado quando a bola cai no10:15pé dele. Beleza? Então é basicamente10:17isso que a gente tá fazendo aqui com os10:18agentes de A. Você pega um modelo que é10:21menos inteligente, mas que você consegue10:23rodar ele bastante, porque ele é muito10:25mais barato e rápido, deixa ele fazer10:27aquela tarefa que o jogador mais10:29inteligente, o modelo mais inteligente10:30não teria uma vantagem frente a ele. E10:33quando você quiser realmente utilizar o10:35máximo daquele talento, o máximo daquela10:37inteligência, você tem o seu jogador10:39barra modelo descansado. Beleza? estão10:41seguindo aqui na documentação, eles10:43dizem para que você peça diretamente no10:45chat do Codex para delegar tarefas10:47independentes, né, para o subagente e10:50que o Codex local consegue delegar se10:53você pedir diretamente ou quando e você10:55tiver ali um agent destruindo isso ou10:58até as próprias skills, tá? Eu vou11:00mostrar para você até o final desse11:01vídeo a skill que eu criei para11:03orquestrar os agentes. E aí lá no11:05próprio appad11:06de cada subagente. Você pode inspecionar11:08o que eles estão sendo feitos. E aí o11:10resumo vai ser retornado pro chat11:13principal. Então, por que que os11:14workflows de subagentes são úteis, tá? É11:17muito tentador a gente cair no erro de11:19achar que, ora, se o modelo é bom, ele é11:21bom o suficiente, ele não precisa11:23delegar para ninguém, ele seria capaz de11:24resolver todos os problemas só ele, tá?11:27Embora isso seja sim verdade, existem11:29trabalhos que eles não precisam mesmo de11:32toda a inteligência. Ele realmente vai11:33ser um desperdício de recurso, tá? Sei11:36seria um pouco da filosofia do token11:38maxing, se que é tipo assim, se eu tenho11:40token, eu uso o máximo de tokens11:41possível, não me interessa, eu tenho11:42token infinito. Mesmo que você consiga11:44pagar por tokens infinitos, sempre vai11:46existir uma tarefa onde você vai estar11:48utilizando recursos desnecessários e11:51saber gerenciar isso vai ser útil para11:53você em qualquer circunstância, tá? Eles11:55dizem que mesmo em janelas de contexto11:58mais longas, os modelos vão ter limites.12:00Não interessa quão inteligente for12:02aquele modelo. Se você, né, floodar ali12:04o chat principal, ou seja, se você ficar12:06colocando muita informação ali com um12:09output intermediário que seja ruído, né?12:12Ou seja, enquanto ele tá analisando, ele12:14tá, ele tá produzindo output ali que12:16aquilo ali vira ruído. Ou talvez você12:18esteja ali iterando e talvez ali na12:21quinta iteração, o resultado da segunda12:23já não importa tanto. Então todo esse12:24ruído intermediário vai ficar ali12:27poluindo o seu contexto, tá? E aqui ele12:29dá outros exemplos, né? Notas de12:31exploração, log de teste. Isso aqui é12:34clássico, né? Você tá lá com o agente12:36trabalhando, o agente vai rodando vários12:38testes à medida que ele vai se12:39autoajustando e aí ele precisa rodar a12:42suitch de teste, sei lá, cinco vezes até12:44tudo passar. Cara, todas as vezes que12:46ele rodar a suitch de testes e não12:48passar, todos aqueles testes vão ficar12:49poluindo teu contexto. Isso é algo que12:51se você puder evitar passar pro seu12:53modelo principal, vai ser melhor, tá?12:55Então, claro que à medida que isso vai12:57preenchendo o seu contexto, a sua sessão12:59vai ficando menos confiável com o tempo,13:02né? Por isso você vai ver muita gente13:03recomendando que, cara, quando seu13:04agente começou a ficar meio burro,13:06começou a errar um monte de coisa,13:07inicia uma nova sessão. Muito13:09possivelmente o que aconteceu foi que13:11ele se tornou vítima do que a gente13:13chama de context rod ou seria um13:15apodrecimento do contexto, né, que é o13:17fato de que a performance vai degradando13:20à medida que o chat vai sendo preenchido13:22com mais detalhes, tá? Um ponto13:24importante aqui, é por isso que no13:26Coldex a compactação ela acontece muito13:29antes de você atingir o que seria o13:30contexto máximo de 1 milhão de tokens,13:33tá? Inclusive aqui um tweet do Tibo que13:34acabou de sair, onde ele diz como você13:36poderia fazer para habilitar uma janela13:38de 1 milhão de tokens no Codex, tá?13:40Então tá aqui, ó. Se você quiser, pausa13:42a tela aqui agora e implementa. É uma13:43configuração que você coloca lá no codex13:45config.Tom, mas ele diz, olha só, nós13:48fizemos bastantes testes para que o13:51defult não fosse esse, né? default é13:53mais ou menos ali 300 e poucos mil13:54tokens. Então, por que que eles fazem13:55isso? Porque eles sabem que mesmo que13:57você possa colocar mais informação no13:59contexto, otimamente é melhor que você14:02não tenha um contexto tão grande,14:03justamente para que você não caia ali no14:06context rot. E eu queria aproveitar e14:08até falar um pouquinho desse conceito14:10que eles até recomendam aqui na14:11documentação, esse artigo do Chroma, né,14:14falando, né, tecnicamente aqui do14:16context rot, ou seja, como que aumentar14:18o número de input tokens impacta na14:21performance de um LLM, tá? E uma coisa14:23que eu achei bem interessante aqui é que14:25é algo que talvez seja um pouco14:26contrainttuitivo, beleza? A gente14:28imagina que os LLMs processam o contexto14:31de forma uniforme, ou seja, o modelo14:34deveria gerenciar ali, manejar o token14:38de número 10.000 de forma tão14:41consistente e confiável como o token de14:43número 100. Só que na prática essa14:46premissa não é verdade. A gente não14:48observa isso. A gente vai vendo que à14:50medida que o tamanho do input vai14:52aumentando, a performance vai variando e14:55degradando mesmo em tarefas mais14:57simples, tá? E aqui, claro que esse aqui14:59é um post um pouco antigo, né? Ele ainda15:01compara Sonic 4, GPT 4.1, 332B, Gemini15:062.5 Flash. Até ver de quando é isso15:07aqui, ó. Ah, faz mais de um ano isso15:09aqui. Olha como muda, né? Mas ele vai15:11vendo aqui, ó, basicamente o resultado,15:14a performance à medida que o input vai15:17aumentando. Então você vai vendo que15:18todo mundo meio que degrada, tá? Então15:20essa é meio que a ideia do context rock.15:22É bem verdade, os modelos vão ficando15:24melhor nisso, claro, mas você nunca vai15:26conseguir escapar da realidade de que15:28quanto mais informação você for15:30colocando no contexto, mais complicado15:32vai ser pro modelo acertar a tarefa. E é15:34justamente essa realidade que nos leva15:36ao nosso patrocinador do vídeo de hoje,15:38o Man Zero. Pessoal, o Men Zero tem a15:41solução ideal para esse problema, que é15:42justamente uma camada de memória que15:45persiste entre sessões e agentes. Ou15:49seja, você pediu pro seu agente fazer15:50uma exploração na sua codebase e ele15:53descobriu como tal e tal coisa funciona.15:55Você usa algo como o mem zero, que15:58funciona, diga-se de passagem no seu16:00harness favorito, no Codex, no Cloud16:02Code, no Open Code, no Hermes, no16:04OpenCall, onde quer que você queira, o16:06seu agente agora vai armazenar aquela16:08informação na memória do Menzer. E aí16:10quando ele for trabalhar em uma próxima16:12tarefa, você não precisa despachar16:14aquela pesquisa de novo, ele já vai ser16:16capaz de recapitular aquilo que ele já16:18fez, porque ele vai estar salvo na16:19memória do main Zero. E o melhor de16:21tudo, essa memória é compartilhada.16:23Então, se você utilizar, por exemplo, o16:25modelo muito mais baratinho para fazer16:27uma análise, como é o caso do DeepSic V416:30flash, por exemplo, você pode ter o16:32resultado daquela análise feito por um16:33modelo baratinho, disponível pro seu16:36modelo mais caro, pro seu modelo16:38flagship. Então, olha como você16:39economiza token, você delega entre16:42sessões, você delega entre harnesses16:45utilizando algo com menero. Pessoal, eu16:47não tenho a menor dúvida de que isso16:48aqui é algo que as empresas vão cada vez16:51mais precisar. Quanto mais nós estamos16:53tendo modelos novos, quanto mais nós16:55estamos aumentando a capacidade dos16:56modelos, mais necessário é que nós16:59tenhamos essa memória compartilhada. E o17:01Men Zero vem justamente para resolver17:04esse problema. Como você faz para17:06utilizá-lo? Você pode instalar via CLI17:08no OpenCall, via CLI no Hermes. E você17:11também tem plugins para o Codex, assim17:13como MCP e também plugins e MCPs lá pro17:16cloud Code. Sendo MCP, você já sabe, vai17:18funcionar em qualquer como por exemplo17:20no Open Code. Aí tem uma novidade. Eles17:22acabaram de lançar uma funcionalidade17:23chamada Dream, que é justamente uma17:25forma de fazer com que as suas memórias,17:27à medida que elas vão acumulando com17:29tempo, sejam sintetizadas, superadas ou17:32até unidas com as outras memórias. Então17:34você tem sempre a sua memória17:36atualizada. Pessoal, isso aqui é ouro17:39para fazer com que você economize tokens17:41e que os seus modelos sejam cada vez17:42mais assertivo. Se você quiser testar o17:44Menero, o link vai est tanto na17:46descrição quanto no comentário fixado e17:48aproveita o cupom exclusivo aqui do17:50canal para você. Muito bem, pessoal.17:51Vamos voltar aqui pra documentação do17:53Codex antes da gente ver aqui a17:55orquestração na prática. Mas então você17:57já entendeu a ideia, né? O agente17:58principal fica focado nos requisitos,18:00nas decisões e no output final. Os18:02agentes especializados vão trabalhar em18:05paralelo paraa exploração, testes e18:07análise de logs e eles vão retornar, né,18:09o resumo do subagente ao invés de ficar18:11retornando ali o output intermediário.18:13Então, claro que você também economiza18:15tempo quando eles podem trabalhar de18:16forma independente em paralelo. Então,18:17em vez de você esperar sequencialmente18:19um agente trabalhar, você dispara ele em18:22múltiplas tarefas. Isso é bem comum, por18:24exemplo, se você tem uma tarefa de back18:25end, outra de front end, né? ou se você18:28tem uma tarefa de UI e outra de banco de18:30dados, eles podem trabalhar de forma18:31independente, tá? E existem algumas18:33sugestões, tá? Como um ponto de partida,18:35utilize agentes paralelos para tarefas18:38pesadas de leitura, né, como exploração,18:40testes e triagem e resumo. Seja mais18:43cauteloso com o uso em paralelo de18:45workflows que são pesados em escrito,18:47que aí, né, o agente editando código18:50junto com o outro pode criar conflitos e18:52aumentar o overhead de coordenação, tá18:55bom? E aí um outro exemplo que eles dão18:56aqui, né? Um bom prompt de suagente deve18:59explicar como dividir o trabalho. Deve19:01dizer também se o Codex deve esperar19:02para todos os agentes terminarem antes19:04de continuar, né? E o que retornar de19:06output pro principal, tá? Então olha o19:08exemplo. Dispare um sobre agente para os19:10riscos de segurança, outro para os gap19:12de teste e mais um para manutenção.19:15Espere pelos três e então resuma o que19:17vocês acharem, né, em categorias com as19:20referências de arquivo. Então algo bem19:21claro aqui de como ele vai trabalhar,19:23tá? E de novo aqui a a seleção de19:24modelos. Isso aqui você já sabe do 5.619:26do Terra e pro Luna, né? E o reasoning19:29efforts também aqui nós já falamos19:31bastante aqui no canal nos vídeos que eu19:33já mostrei para vocês, tá? Orquestração19:36e controle de trad, tá? Então lá no chat19:38EPT ou no Codex, é, eles vão lidar com a19:40orquestração entre os agentes,19:42incluindo, né, essa parte de você19:44disparar novos subagentes, né, rotear19:46instruções, esperar pelos resultados,19:48etc. Então, o próprio Harnes vai fazer19:50isso, beleza? E aí ele tá d uma19:51recomendação aqui, ó, para vem em ação19:54enviar esse promp. A gente vai fazer19:55algo já parecido já. Já tá aqui. Aí o19:57que vai aparecer, eu já vou mostrar para19:58vocês, né? O que mais que a gente tem de19:59relevante aqui nesse artigo. O próprio20:01Coldex já vem com três suagentes por20:03padrão, né? Então tem o def, que é o20:05principal, o worker, né, que é o focado20:07em implementação e correção, e o20:10Explorer, que é para leituras mais20:12pesadas, tá? Só que de novo, na minha20:14experiência, se você não falar de algo20:16mais explícito, ele não vai despachar20:18esses agentes, tá? E assim como lá no20:20Open Code, você também pode criar20:22agentes genéricos, né, para qualquer20:23projeto e agentes também especializados20:25para um determinado projeto baseado de20:27como você vai salvar ali na pasta local20:30ou ali na sua máquina. E ali você pode20:32colocar o nome, descrição, né, a20:35instrução do modelo e também qual é o20:36modelo e qual é o reason efforts que20:38você vai utilizar. Beleza? Então essa é20:40a parte mais teórica. Espero que tenha20:42ficado mais claro porque que é útil de20:44utilizar os subagentes. Agora eu quero20:45levar você lá pro app do Coldex, pra20:47gente ver eles na praia. Então tá,20:48pessoal. Tô aqui no Coldex, estou no20:49repositório do programa aí, inclusive20:51essa é a minha formação em engenharia de20:53ar e um dos cursos que está com a lista20:55de espera aberta é justamente o de20:56orquestração de agente, tá? Então entra20:58lá em programa aí, entra no curso21:00Orquestração de Agentes. Se você tem21:01interesse em aprender mais sobre esse21:02assunto, entra na lista de espera para21:04ser avisado assim que ele ficar pronto.21:05Então vamos começar aqui vendo como21:06funciona os subagentes de forma mais21:08crua, tá? I want you to dispatch21:10subagents to tell me how the payment21:13flow works in this app. Você quer saber21:15que app eu utilizei? Eu uso o whisper21:16flow. muito bom para você fazer, para21:18você ditar, né, prompt a IA e também21:22agora até com notaker para suas reuniões21:24e para você também ver ao vivo o que que21:26você tá dizendo, transcrição em tempo21:28real, né? Então é um app bem21:29interessante, gostado bastante de21:30utilizar. O link para você testar o21:31whisper flow também vai est na21:33descrição. Mas olha só pessoal, eu falei21:35em inglês, ele me respondeu em português21:36mesmo, mas olha o que aconteceu aqui.21:37Primeiro de tudo, que eu estou21:38utilizando aqui o Mem Zero no Codex.21:41Então ele já carregou aqui as minhas21:43memórias para esse projeto que é bem21:44interessante. E eu já vi aqui que ele21:46chamou a skill orchestrate. Eu já vou21:48mostrar pr vocês. Essa é uma skill21:49customizada. Mas antes disso, veja que21:52ele já despachou três subagentes, ó.21:54Payment web contract, payment checkout21:56API e payment Web Hook Access. Todos21:59eles são GPT 5.6 Luna com reason X High22:02e Max, tá? E você já vê que aqui na22:05direita apareceu subagente trabalhando.22:07Eu posso vir aqui e ver cada subagente.22:09O payment Web Hook Access tá fazendo a22:11leitura, vai ver ele como funciona.22:13Checkout, API também, todos começando22:15pelo SPEC MD. E aqui também o web22:17contract também começando a analisar o22:19código. Qual é a vantagem de fazer isso22:20aqui, pessoal? A vantagem que eu estou22:22utilizando o modelo 25 vezes mais barato22:24para pegar as informações e retornar22:27aquilo que eu preciso para que aí sim o22:29meu modelo mais inteligente de posse das22:31informações relevantes possa fazer o que22:33eu quero, possa utilizar o máximo da sua22:35capacidade, tá? E aí, então, enquanto o22:37subagente vai terminando, deixa eu22:38mostrar para vocês essa skill22:40orchestrate. Então, basicamente o que eu22:42fiz foi usar a skill do Eric como ponto22:45de partida para criar uma mais22:47atualizada, tá? Então, o que que eu fiz22:48aqui nessa skill? Primeiro, como que22:49você ativa ela? A descrição tá aqui, ó.22:51Eh, roteie trabalho substancial entre22:54suagentes especializados, tá? E aí,22:57decidir quando delegar. Delegue apenas22:59quando, pelo menos uma das condições,23:01seja verdadeira. Duas ou mais frentes de23:03trabalho podem proceder de forma23:05independente. É um comando lento, uma23:08transferência, um teste, um monitor, né?23:10Ou algo está deixando, tá, a o agente23:14principal indisponível. Ou seja, tem23:15algo bloqueando, né, o agente principal.23:18Uma investigação bem limitada, né?23:20Bounded investigation dentro de um23:21escopo bem definido pode pegar evidência23:24que vai ser útil para o RUT enquanto o23:26Rut vai trabalhando ali no caminho23:28principal, né? Então tá ali o agente23:29principal trabalhando. Opa, preciso23:31daquela evidência saber se aquilo é23:32verdade. Despacha um suagente para ele23:34pegar aquilo para mim enquanto eu sigo23:35trabalhando de forma normal, tá? Mais23:37uma coisa, um review independente pode23:39materialmente reduzir risco de23:41implementação, de produção, de23:42segurança, pagamento ou release, tá? E23:44aí segue. Continue com o agente simples23:46quando a tarefa for pequena, quando a23:48próxima etapa dependa do resultado23:51imediato, ou seja, há uma dependência23:52que não dá para ser paralelizável,23:55quando agentes múltiplos iriam tocar nos23:57mesmos arquivos que seriam mutáveis, ou24:00quando a delegação, né, o overhead de24:02delegação, o custo de delegação seja24:05comparável com o trabalho direto, né? Ou24:07seja, custar tanto para eu delegar que é24:08mais fácil fazer o mesmo, tá? O que que24:10é interessante aqui que eu queria falar24:11para vocês, pessoal? Como selecionar o24:13modelo, tá? E aí eu mudei aqui na24:15recomendação original falando para ele24:17utilizar o Luna basicamente no X High24:20por padrão e jogar no Max quando a24:22qualidade importa mais do que ela tem.24:24Por que isso, pessoal? Porque se a gente24:25vier aqui no Deep SWE, a gente vai ver24:28que o Luna no X High ele já é um modelo24:31superior ao que seria o V4 flash, tá?24:33Então ele é um modelo bem baratinho, com24:35um desempenho bem legal, próximo aqui do24:37que seria o OP 5 no low, melhor do que24:39seria o Sol no low, né? Então é um24:41modelo bem interessante que você poderia24:43utilizar, né, o GPT 5.5 no Míia, ele24:45seria superior e aqui no Max você ainda24:47teria um modelo ainda mais inteligente,24:50tá? Então eu acho que sim, vale a pena24:52você colocar, é claro que você vai ter24:53uma um pênalty de latência, mas você tem24:56um modelo muito barato que pode rodar24:59ali as explorações sem você ter medo de25:01que ele vai ser meio burro, tá? Porque o25:03Luna, né, no medium ele é bem25:04ruinzinhos, tá vendo? Ele é bem abaixo25:06dos outros. Então o salto do medium pro25:08high é muito grande, tá? Então você25:09poderia fazer o Luna no high ou usar o25:11Luna no Xigh, dependendo de quanto você25:13quer que ele seja rápido. Aí você ajusta25:15pro seu Gusto. Que mais que eu tenho25:16aqui? O Terra. O Terra se beneficia de25:19um colaborador mais forte, um pier aqui.25:21Sim, porque o Terra pode delegar para25:24outros suagentes e pode enviar mensagem25:26entre si também. Então, quando você25:27precisa de uma capacidade de programação25:29maior do que o Luna ou quando você25:31precisa de coordenação que seja25:32delegável, tá? Então você vai pro Terra25:34e aí eu digo para ele no Max direto. Por25:36quê? Porque o Terraamax ele é o melhor25:39modelo, ele seria um modelo ali que25:40ficaria entre o sol, só que bem mais25:43barato também, tá? Então esse gráfico25:44aqui fica mais fácil de ver, tá pessoal?25:46Então Terra no Max, ele tá aqui, ó,25:48entre a que seria o Sol no high. Então25:50teria um modelo tão bom quantra o sol no25:52high aqui com o Terra Max poderia fazer25:55essa delegação. Ou se eu quisesse jogar25:56o Terra no X High, seria uma25:58possibilidade também, tá? É um preço bem26:00bom. a ali um desempenho que seria um26:02pouquinho melhor do que o Luna X High.26:04Então fica também ao seu cargo de26:06explorar, né, e testar essas26:08combinações. E claro, o Sol que eu gosto26:10de utilizar o High por padrão ou Max26:11quando você quer aquele trabalho mais26:13difícil de todos, tá? Que que a gente26:14tem aqui? Então o padrão é o Luna X High26:17pro trabalho de Lif, lembra do Lif?26:18Aquele da ponta, escala para o Luna Max26:21para dificuldade máxima quando você tá26:23ali na ponta e usar o Luna high, medium26:26ou low, apenas se você quer algo com a26:27latência mais otimizável possível, tá?26:30Usar o Terra Max quando você quiser a26:32coordenação, né? E usar o Sol Rio ao26:34máximo quando você quer aquele trabalho26:36precisa resolver uma ambiguidade central26:38ou vai ter uma consequência bem grande,26:40tá? Claro, como é o sol que eu tô26:42utilizando como orquestrador no26:44principal, ele vai saber e entender bem26:47quando utilizar cada uma dessas coisas,26:48tá? E aqui é aquela dica do cara lá do26:51Coldex, ó, você usa o Luna como le26:54explicitamente diz para ele não delegar,26:55já que ele não pode delegar o Sol e o26:57Ter aí sim eles podem, tá? E aqui mais26:59umas informações que eu coloco que é27:01para dizer toda vez que ele soltar um27:03agente para ele falar ali no root, né,27:05no agente principal para eu saber27:06exatamente quem que ele tá chamando,27:08quais são os efforts, né, para eu poder27:10ajustar se for necessário e até para eu27:11poder debugar e saber exatamente o que27:13ele tá fazendo, tá? E tá aqui, ó,27:15diversas e personas que são podem ser27:17reutilizáveis, né? Evidence scout,27:19workflow operator, implementation review27:22le collaborative workstam owner, então27:24várias coisas, né? Senior critic, né? Eu27:26quero fazer aqui uma análise. Então ele27:27já vai colocando várias personas que o27:29próprio agente já sabe, ó, vou fazer27:31dessa e dessa forma, porque é o que ele27:33vai fazer é algo bem comum que a gente27:35já vê normalmente no fluxo de27:37programação. Beleza, pessoal? Olha só,27:38aquela minha análise demorou ali 627:40minutos e 27 segundos. Veja que ela não27:42foi tão rápida, já que ela usou o Luna27:44Max em vários casos. Então a gente tem27:45aqui uma análise bem completa de como27:47funciona, né, o pagamento da interface27:50do programa. Aí tudo feito com os27:51modelos mais baratinhos, com o Luna. E27:53olha o detalhe do Menzero que eu falei27:55para vocês aqui, pessoal. Depois que ele27:57terminou a análise, ele pegou aqui a27:59integração do Menzero e já salvou na28:01memória. Então eu usei um modelo28:02baratinho para fazer a análise. Essa28:04memória tá persistida agora da próxima28:06vez com a integração do Mem Zero. Eu não28:08vou precisar fazer ela de novo e vai me28:09economizar mais tempo. Tkens e dinheiro.28:11Eu queria chamar a atenção para vocês28:12para um detalhe aqui, tá? Como esses28:15agentes do Luna eles são le, né? São28:17suagentes puros, eles não chamam mais28:20ninguém. Então você tá vendo que eles28:21estão aqui autocontidos nas suas trades,28:23tá? Não tem colaboração entre eles.28:26Então o último exemplo que eu queria28:27mostrar para vocês nesse vídeo é como28:29que funcionaria a colaboração entre peer28:32agents, ou seja, aqueles agentes que28:34podem comunicar entre si. Então olha só,28:35pessoal, já deixei separado aqui um28:37outro exemplo que eu queria demonstrar a28:39diferença de le agents e agentes28:41colaborativos, né, o Stype Speer agents28:43no Coldex, tá? Então, falei para usar o28:45repositório aqui de exemplo, né? O28:46próprio repositório do programa aí e28:48para quando despachar qualquer agente,28:50para mostrar ali o nome, o modelo que28:52foi e requisitado, reasoning level, etc.28:55Tá? E aí a primeira parte seria soltar28:57ali um lef agent com Luna. Isso aqui a28:59gente basicamente já viu, né? Dá para29:01ele uma tarefa bem delimitada. E a29:03segunda parte, que a gente tá mais29:04preocupado aqui, é a parte de29:06colaboração. Então seria, né, despachar29:08um agente terra, né, um peure agent29:11terra com reason no máximo e aí29:12autorizar esse Terra a dividir o29:15trabalho, seja ele despachando um Luna29:18ou ele separando um outro agente, um29:21outro per agent que pudesse trabalhar29:23com ele, tá? E aí, basicamente foi isso29:25que aconteceu aqui. Ele também chamou a29:27minha skill orchestrate pra parte um.29:29Ele chamou o agente Test Inventory Leaf,29:32foi o que eu mostrei pra vocês, né, que29:33é só basicamente o Luna fazendo uma29:35análise. E aí pra parte dois, aí sim ele29:37chamou o agente release redness peer pr29:40você ver se tá pronto para fazer o29:42release. Então tá aqui, ó, release29:43redness peer. E aí, olha só que legal,29:45você vê aqui que ele chamou esse test29:47surface a esse aqui é um Luna que ele29:50foi capaz de despachar. Então o Terra29:52despachou o Luna. O Luna que trabalha de29:54forma bounded, né, de forma delimitada e29:56retorna o resultado para que o Terra29:57possa continuar, tá? Então aqui é o29:59Terra despachando um outro modelo. Esse30:02modelo não pode despachar um outro, né,30:03que é o Luna, mas o Terra sim pode. Só30:05que olha outra coisa que eu pedi para30:06ele aqui. Eu falei: "Cara, eu quero30:07testar essa capacidade peer agents de30:10ficarem entre si". E aí então se o30:12primeiro foi o Terra delegando pro Luna,30:14então depois ele me mostrou se você30:15despachar aqui o release signal peer com30:18terra no máximo e o release risk peer30:21com o terra também no máximo. E aí esses30:23dois foram coexistindo e trabalhando30:26entre si. Então você vê aqui, ó, que o30:27release signal pe tá falando com release30:29risk pe e o release risk pe também está30:33recebendo as mensagens do release signal30:35pier. Então são dois agentes30:36trabalhando, cada um deles atualizando30:38com as suas mensagens. Tem um detalhe30:40que aqui na interface do Codex a gente30:42não consegue ver qual é a mensagem cita,30:44então a gente não consegue ver o que que30:46um disse pro outro, mas a gente sabe que30:48um tá tendo acesso ao que o outro está30:50fazendo. Por isso que eles são peer30:52agents, eles são colaboradores, eles30:54trabalham cada um no seu contexto, mas30:56podendo se comunicar. No caso dos le30:59agents ou dos suagentes puros, como é o31:01caso do Luna, que é um outro tier, é um31:03outro tipo de agente, ele não, ele vai31:05trabalhar naquele escopo delimitado, vai31:07trabalhar de uma forma muito mais31:09centrada e vai retornar o resultado para31:11quem despachou ele. Muito bem, pessoal.31:12Então era isso que eu tinha para contar31:13para vocês hoje. Espero que vocês tenham31:15gostado dessa aula de subagentes e31:17orquestração e que tenha ficado claro31:19por que orquestrar agentes é relevante31:22mesmo no mundo onde nós temos agentes31:24cada vez mais capaz. Sempre bom você31:27otimizar os seus tokens, sempre bom você31:29saber fazer esse balanceamento de modo31:31que você consiga extrair o máximo do seu31:33melhor modelo sem gastar os seus31:35preciosos tokens e limites. Se você31:37chegou até aqui, eu já te peço, por31:39gentileza, curte esse vídeo, compartilha31:41ele com seu amigo e sua amiga que gosta31:43de programar, gosta de utilizar e tá31:45sempre reclamando que os seus limites31:46estão acabando. Eu tenho certeza que31:47isso pode ajudar bastante você e também31:50ele. Não deixa de se inscrever aqui no31:52canal, se inscrever também no canal de31:54cortes. canal de corte vai ter os31:56melhores momentos tanto aqui desses31:57vídeos quanto também das minhas lives do31:59Code Night do Limite semanal. Tenho32:01certeza que você vai gostar também.32:02Aproveita também já vira membro aqui da32:04nossa comunidade do YouTube32:06desbloqueando os vídeos exclusivos pros32:08membros e também a nossa comunidade do32:10Discord. Apenas os membros do YouTube,32:12os assinantes do Conte Brasil, os32:14assinantes lá da Substec, do Code32:15Capital, podem participar dessa32:17comunidade. E eu quero fomentar com32:18vocês esse espaço de aprendizado de32:20inteligência artificial, de harness32:22engineering, de orquestração, enfim, de32:24tudo que envolve esse ecossistema e do32:27que nós falamos aqui no canal. Agradeço32:29imensamente a você por estar comigo até32:31agora. Agradeço ao pessoal do Menziro32:33por ser parceiros nesse vídeo e até a32:36próxima.
6,516 words · 947 lines







