Latest / Entre Chaves / #283 Loop engineering explicado com casos reais
Transcript
- 0:00Está começando mais um entre chaves, o seu podcast de
- 0:02desenvolvimento, eu sou o Dudu e hoje nós vamos falar sobre um
- 0:06conceito e foi usado para reescrever mais de 500000 linhas
- 0:11de código em 11 dias, mas que também foi usado para pagar um
- 0:15banco de produção em 9 segundos. O conceito que a gente vai falar
- 0:18é o looping de newing. Né?
- 0:19Que que está ficando um pouco na moda?
- 0:22E agora? E hoje estou aqui com com
- 0:24Dantas, meu colega de bancada. E aí, pessoal?
- 0:26Você é do time que apagou o banco de produção ou que
- 0:28reescreveu 500000? Linhas eu sou do time que apagou
- 0:30o banco de produção, mas porque isso foi um trabalho de um
- 0:33ataque interno, tá? Não tem nada a ver com o ser um
- 0:35acidente, não. Não o meu.
- 0:36Foi um acidente mesmo. Eu já fiz isso há mais de 20
- 0:38anos atrás. Um delito sem OR na verdade.
- 0:40Ele nunca esqueceu um r, né? Exatamente.
- 0:42Mas lição aprendida. Agora eu sempre escrevo, era
- 0:44antes de escrever minha condição.
- 0:46Certíssimo Dudu, mas é no erro que a gente vai.
- 0:48Aprendendo. Exatamente, e inclusive no erro
- 0:51que a gente vai aprendendo. É um tema recorrente do que a
- 0:53gente vai falar aqui hoje, né? Vamos falar sobre esse tal de
- 0:55looping genire. E já adianto que essa é uma
- 0:58profecia do entre chaves que se concretizou, afinal, nós falamos
- 1:02sobre o tal do Ralph wigan. Há muitos e muitos episódios
- 1:06atrás. Mas calma que a gente vai chegar
- 1:08lá e vai contextualizar pra você que tá boiando ainda.
- 1:10A gente vai explicar Tim Tim pro Tim Tim, beleza?
- 1:12E quem mais veio com a gente aqui hoje?
- 1:13Dudu? Hoje a.
- 1:14Gente, tá aqui com Rafael, nosso grande amigo aí, né?
- 1:17E aí, Rafael, beleza, cara? Beleza, gente.
- 1:19Muito bom estar aqui com vocês, que que eu possa contribuir aí
- 1:22com todos. Boa aí com a gente também.
- 1:24E o Felipe? E aí, felipo bom?
- 1:26Olá pessoal, um prazer tá aqui no mais a oficial de de de entre
- 1:29chaves. Boa, legal.
- 1:31E aí? Então, pra gente poder começar,
- 1:33acho que é interessante a gente dar OOO.
- 1:35Primeiro conceito, né? A gente.
- 1:37Falou do do Ralph eagan, né? Que a gente já comentou há mais
- 1:39tempo. E hoje esse looping de newring,
- 1:42né? Com um termo que começou a
- 1:44surgir aí com AD osmani, né? É punhando esse termo num
- 1:48artigo. Que ficou famoso repetida aqui
- 1:50entre chaves. Né?
- 1:51E aí eu queria que vocês me ajudassem pessoal.
- 1:52Tipo assim, o que que é o looping de niring?
- 1:55Sobre o que que ele é, o que que ele?
- 1:56O que que ele traz de diferente? Ele, porque até então, e a gente
- 2:00sempre. Principalmente no início do Vibe
- 2:02code lá, que era só fazer o prompt, julgar lá, esperar, IA
- 2:06responder e a gente ir atuando em cima daquela resposta.
- 2:08De arte, inclusive o Dudu. O pessoal tá falando que o
- 2:11looping de newing ele é 11. Evolução natural dos últimos
- 2:15conceitos que a gente tava falando, né?
- 2:17Então a gente trouxe aí sobre episódio, sobre o prompting de
- 2:20newing, contexting de newing, hairnessing de newing.
- 2:24E agora a gente tá falando sobre looping de newing, né?
- 2:26Então nós estamos vendo essa linha de evolução da utilização
- 2:29das inteligências artificiais. E ele?
- 2:32Ficou muito famoso por uma frase um tanto quanto disruptiva, mas,
- 2:37afinal, o que que não é disruptivo, né?
- 2:39Nesses tempos, a cada 2, cada mês muda tanto o mundo, né?
- 2:42Da inteligência artificial, onde o AD ele apontou o seguinte,
- 2:45olha, programadores de hoje, eles não deveriam mais escrever
- 2:48prompts, né? Eles deveriam.
- 2:50Então, até um mês atrás era um absurdo você falar que não deve
- 2:53escrever código, né? Hoje a gente tá falando que é um
- 2:55absurdo, não deve escrever prompts, mas devem escrever
- 2:58loops. E os próprios agentes vão se
- 3:01prompitando, nem sei se isso existe, mas agora vai existir.
- 3:05Né, com certeza os. Próprios agentes vão se
- 3:06prompitando pra poder criar esse código da melhor forma possível.
- 3:10Então, e aí, é isso mesmo? É uma evolução natural.
- 3:14O. Que que é o?
- 3:15Conceito do looping de newing? E que dor que ele resolve?
- 3:18Com base No No que eu entendi assim do conceito, a gente pode
- 3:22lembrar muito bem a questão do prompting de newe, por exemplo,
- 3:26que era você tentar ensinar e a trabalhar.
- 3:29Com base naquilo que você passa para ela e o looping de newring,
- 3:32ele já vai além que na verdade é ensinar um sistema a trabalhar
- 3:36com OIA de forma que ele escolhe quando ele vai pra optar, como
- 3:40que ele vai pra optar, de que forma que ele vai fazer isso, e
- 3:43tendo diversas formas, né? Guard railes assim pra poder
- 3:48controlar e validar aquilo que tá sendo construído.
- 3:51Muita gente é fala que o looping de newring ele tá muito ligado
- 3:55com. O harners mesmo, né?
- 3:57Ter todo esse sistema confiável que vai validar tudo aquilo que
- 4:01está sendo gerado, então acho que passa por aí, legal.
- 4:04Eu acho que essa questão do harners, ela explica muito bem
- 4:07esses 2 casos que a gente falou aqui Na Na abertura do do do do
- 4:12programa, né? Onde o pessoal da Ban usou um
- 4:16looping de newing pra reescrever o próprio, o próprio sistema de
- 4:19uma linguagem pra outra e foi vendido como um case de sucesso
- 4:22onde mais de 500000 linhas reescritas em 11 dias e tal,
- 4:25tal, tal. E o pessoal de uma startup
- 4:27tentou usar um looping de new para resolver um determinado
- 4:29problema e sem muito harnes OOO loop achou que era o melhor
- 4:35apagar um determinado volume que estava lá Na Na máquina e apagou
- 4:38o banco de dados da da empresa, né?
- 4:40Que estava naquilo? Nunca, né?
- 4:41Como já comentamos, quem nunca? É bom?
- 4:44É. Eu vejo o harnes como uma peça
- 4:46central, né? Do looping de newing.
- 4:48Justamente pela questão de governança, né?
- 4:50Vocês ficaram dimensionado a questão do banco de dados e foi
- 4:53justamente por. Não tomar as ações, né?
- 4:56De segurança são intrínsecas ao Arns, né?
- 4:59É pra que esse fluxo autônomo rodasse em cima disso, de forma
- 5:04confiável, sem afetar a produção, né?
- 5:07É do jeito que afetou no caso do da pocket os.
- 5:10Bom, pelo contexto que vocês me deram, dá a sensação de que o
- 5:13looping de newing é como se eu tivesse dado a ferramenta de a
- 5:17pra uma IA, né? Poderia descrever algo próximo
- 5:21disso, né? Eu tenho uma IAE, eu falo, olha.
- 5:23Usa essa iar aqui e aí iar conversando com iar e eles ficam
- 5:27ali se retroalimentando e vão entendendo como construir esse
- 5:30sistema. Então vamos partir desse ponto
- 5:32aqui, considerando que esse conceito ele está parcialmente
- 5:35correto ou se aproxima pelo menos do que é a realidade do
- 5:38looping de newing, como que a gente tem uma rastreabilidade
- 5:43naquilo que foi desenvolvido? Porque quando a gente está
- 5:46falando sobre um código determinístico, eu consigo
- 5:48voltar os passos, as etapas. E entender mais ou menos ali é o
- 5:55que que aconteceu com a falha de raciocínio e como que eu
- 5:57consegui alcançar aquele resultado.
- 5:59Até mesmo quando eu utilizo uma IA como minha parceira de
- 6:01codificação, eu consigo ver o output dela diretamente agora no
- 6:05contexto looping new. E se eu der uma IA para uma IA,
- 6:09pode ser que ela tenha tentado 102030 caminhos antes de
- 6:13realmente conseguir acertar, né? No final das contas, como que eu
- 6:17construo um guard rail para isso?
- 6:19Como que eu construo 11 harness? Pra esse sistema, né?
- 6:23Eu tenho a sensação de que ele parece ser tão livre, tão solto.
- 6:27Eu penso que é o seguinte, é, acho que essa questão de você
- 6:30ter um harners, controlando tudo que aí a faz, já é uma coisa que
- 6:34veio antes do looping de newe, né?
- 6:35Quando a gente percebeu que a gente tava automatizando muita
- 6:38coisa e tava perdendo o controle, então a gente começou
- 6:40a criar diversas formas de controle.
- 6:43Hoje, se a gente parar para pensar, a gente tem
- 6:45automatizações como o linnters para poder olhar se aquele
- 6:48código está no padrão. A gente tem os próprios testes
- 6:51unitários, os testes automatizados, a gente doente,
- 6:53tudo. Todo esse conjunto de
- 6:55ferramentas que faz validação do código e te dá um feedback se tá
- 6:59no caminho certo. O próprio pipeline, por exemplo,
- 7:01se a gente falar é dá para associar com o pipeline, porque
- 7:04ele tem uma série de verificações.
- 7:06Então então isso Eu Acredito que passa parte do.
- 7:10Do harners e então? Assim, se a gente parar pra
- 7:12pensar que a gente já tinha isso e utilizando AIA, como conseguir
- 7:17fazer com que uma IA trabalhe pra própria IA sem dar qualquer
- 7:20tipo de problema ela ter acesso rápido a esses feedbacks dados
- 7:24pelo harners? Mas aí pra cada uma dessas IAS
- 7:27envolvidas, eu precisaria de ter um modelo de harners diferente.
- 7:31Ou é uma YA só, com o mesmo harners e vários agentes ali
- 7:35dentro? Isso são vários agentes, né?
- 7:37Cada um especializado na sua particularidade.
- 7:40É até bom pra separar contexto, um agente gera código, outro
- 7:43agente pergunta se tem bugs, olha se tem bugs, e sempre
- 7:47guardando isso numa memória externa.
- 7:49Talvez é um dos pontos que mais deu certo nessa imigração da
- 7:52banha que ela guardava. É todos os resultados do que
- 7:56acontecia numa memória externa. Então a próxima IA que entrava o
- 7:59próximo agente, ele não precisava saber.
- 8:01Todo o contexto que ele fez pra poder resolver aquele problema
- 8:04só precisava saber o output final, como que o que que eu
- 8:06preciso fazer de agora em diante?
- 8:08Então, essa comunicação também entre as ias é aconteceu?
- 8:12Adicionar a isso é outras práticas, por exemplo, ter AIA
- 8:17com comits AIA dentro de um sandbox específico também eu
- 8:22acho que são é práticas que auxiliam nessas questões de
- 8:25governança e de rastreabilidade, né?
- 8:28Então, igual o Rafael trouxe, né?
- 8:29Esse armazenamento, né? É e persistir os dados
- 8:33relevantes pra aquela execução fora da contact window, então a
- 8:37gente utiliza muito, por exemplo, arquivos Jason, Mark,
- 8:40tal, são práticas que auxiliam justamente com que durante esse
- 8:44fluxo, durante o loop que é consome muito, muitos tokens e a
- 8:49maior limitação que a gente tem em relação a justamente a janela
- 8:52de contexto. É com que ele consiga utilizar
- 8:55disso pra de fato ver as próximas fases.
- 8:58Acho que o principal ponto, justamente sobre o looping de
- 9:02newing, é a gente trazer é determinismo nas etapas de
- 9:06revisão. Por exemplo, o binter é se a
- 9:09gente também rodar testes unitários.
- 9:12No caso né, da da Ban, não eram testes unitários, mas eles
- 9:15tinham uma suíte de teste que rodou em cima daquela migração.
- 9:17Eles é realizaram, na minha visão, o determinismo, ele é
- 9:21muito importante pra pro looping de newing.
- 9:24Justamente por estarmos lidando com agentes que são não
- 9:26determinísticos. E uma premissa importante até
- 9:31pra agentes de review, até que foi mencionado no processo, é de
- 9:36revisão do Ban. É de assumir que o código está
- 9:39errado, que AIA cometeu erros, né?
- 9:41Aquela execução. Então é, eu vejo que um ponto
- 9:45central pra isso é da gente. Traz esse garde reels de forma
- 9:48determinítica e não apenas com critérios que a iaia possa
- 9:51elencar de forma é um pouco mais subjetiva, digamos assim.
- 9:55É, esse foi um negócio muito, muito interessante mesmo, né?
- 9:57Porque se a gente tá falando de que é, é algo que existe em
- 10:00loop, né? E até hoje Oo Cláudio e codex às
- 10:04vezes tem comandos exatamente pra você fazer isso, né?
- 10:06Você bota o barra gol lá No No Cláudio e fala com ele, passa
- 10:09isso, ele não vai parar até chegar naquilo.
- 10:12É pra poder saber que ele chegou naquilo.
- 10:15Naquele objetivo é importante a gente ter o determinismo, né?
- 10:18Igual você falou, então só isso aí já muda um pouco, pô, se a
- 10:22gente tá fazendo 1111 engenharia em cima de uma IA que vai usar
- 10:27outras IAS pra pra pra poder chegar num determinado objetivo,
- 10:31a talvez há uma tendência natural seria a gente pensar em
- 10:34criar uma IA que vai olhar se a gente chegou naquele objetivo.
- 10:38Mas isso aí pode dar 11, resultado muito ruim.
- 10:41Ele me parece quase infinitesimal, né, porque você
- 10:43teria que ter uma IA através de ficar.
- 10:45Esse a exatamente tanto é que um dos artigos que que a gente tava
- 10:48olhando que antes né? Do do tem lá no medium, que é
- 10:51exatamente crítico a esse looping de nearing, fala
- 10:54exatamente sobre isso que o looping de nearing a gente pode
- 10:58olhar nada, nada mais, nada menos como um feedback
- 11:00controller da da da área de engenharia e que para garantir
- 11:03que o seu feedback controller vai funcionar bem, o seu sensor
- 11:07que vai garantir que ele vai convergir, tem que ser bom.
- 11:10E tem que garantir que está indo para o lado certo, porque nesse
- 11:13contexto, é, segundo o artigo, lá você pode chegar em 3
- 11:16resultados finais, né? O seu, o seu, o seu loop, né,
- 11:20digamos assim. Trazendo para o nosso conceito,
- 11:22ele pode chegar no objetivo desejado de forma certa, que é o
- 11:27que a gente mais quer é o. Caminho feliz, um.
- 11:29Caminho feliz ele pode chegar num determinado objetivo, mas
- 11:33errado, porque o sensor talvez não estava legal e achou que
- 11:38estava indo para o caminho correto, mas.
- 11:40Na verdade, não, não era. Aquilo é o é o.
- 11:44Caso de de de que a gente comentou aqui da da IAC, apagou
- 11:48o banco lá, resolveu o problema, mas não da forma que deveria ser
- 11:52feita, né? E que talvez esse, dentre as 3
- 11:55possibilidades de saída, seja a pior de todas, porque a última é
- 11:59ainda não chegar no resultado e ficar gastando.
- 12:01Toque lá, porque o seu sensor não consegue convervir, então é
- 12:05interessante a gente trazer isso justamente pra.
- 12:08Poder entender, né cara? Que esse looping de nismo não
- 12:10basta botar lá barra gol e falar com ele, invente o
- 12:13teletransporte, cara, não vai chegar oi, não vai coergir ou
- 12:17está o celular gera um joguinho pra mim, ele pode gerar um
- 12:20joguinho, mas às vezes é um joguinho que não, que não serve
- 12:23pra nada, que não não vai ser legal, sabe?
- 12:24Você tem que dar um caminho pra iar onde ela vai ser
- 12:29determinística, né? E conseguir falar, cara, é isso
- 12:31aqui que eu quero. Esse é o meu objetivo, né?
- 12:34Então acho que isso é um é um ponto que você trouxe aí que eu
- 12:36acho que é bem interessante, Felipe, da gente pensar quando a
- 12:39gente pensa sobre o looping de niring.
- 12:40Eu acho que Oo próprio espec drive faz isso, né?
- 12:43Ele tira um pouco essa questão da IA.
- 12:46É pensar por conta própria. É dela ser probabilística e traz
- 12:50essa questão do determinismo. Ela, eles têm várias esquilos.
- 12:54Várias coisas assim pra pra que a ya ela vai decidir como que
- 12:57ela vai propitar talvez para a próxima ya mas pautada naquelas
- 13:00skills, naquelas regras, o que vai favorecer uma resposta
- 13:04talvez mais satisfatória e você tendo formas de validar isso é o
- 13:10que dá certo. Acho que no caso da Ban é deu
- 13:12muito certo porque tinha igual, né?
- 13:15OOO Felipe falou. É 1000000 de testes de de testes
- 13:20prontos na suíte de testes deles.
- 13:21Então isso ajudou bastante, porque qualquer coisa que dava
- 13:24errado era só rodar o teste que validava se o comportamento
- 13:27mudou ou não. E o rust?
- 13:29O interessante do rust é porque ele já tem 11 tecnologia nele,
- 13:34Oo compilador dele, melhor dizendo, o compilador dele, ele
- 13:37é muito rigoroso, então ele valida coisa antes de executar.
- 13:42Então, se fosse qualquer outro tipo de linguagem, poderia ter
- 13:44problema, porque. É, você IA executar e descobrir
- 13:48só lá na frente, quando subiu o código que deu problema, como
- 13:51ele já valida antes, ele mostra o código do erro, qual que é o
- 13:53problema, onde está o problema? Eles usaram como 111 espécie de
- 13:58de sensor mesmo pra ir saber de forma muito rápida, tendo
- 14:02feedback rápido, que gasta menos token, né?
- 14:05Saber se deu certo ou não. Então acho que essa combinação
- 14:09toda que fez dar certo o trabalho em 11 dias, mas pelo
- 14:12que eu li. O trabalho terminou em 11 dias,
- 14:14mas depois passaram algumas semanas revisando pra preparar
- 14:18isso pra poder ir pra produção. Exatamente, esse aí foi AA
- 14:21famosa versão final, aí depois teve a versão final final, a
- 14:25versão final, final final. A versão final agora vai essa.
- 14:27Daqui, né? Exatamente.
- 14:30Vocês falaram um Monte aqui sobre como que esses lucros
- 14:33funcionam, como que esses avaliadores determinísticos são,
- 14:37é complementadores essenciais. E eu concordo plenamente com o
- 14:41que que vocês pontuaram, mas ficou uma pulguinha atrás da
- 14:44orelha aqui, Dudu, eu tenho a sensação de que esses loops você
- 14:48tá praticamente brincando com um token infinito, não tá não,
- 14:51porque é igual você falou, cara, olha, se o seu sistema ele não
- 14:56convergem essas ideias, né? E muitas das vezes ele não vai
- 15:00convergir, pelo menos não de primeira, né?
- 15:02Eu tenho certeza disso, cara, você vai fazer um.
- 15:06Uma engenharia extraordinária com vários agentes, tem um
- 15:09agente que valida, um agente que questiona, um agente que refina,
- 15:12um agente que planeja, um agente que prioriza, um agente que
- 15:14implementa, um agente que implementa o que implementa e
- 15:16ok, agenaria no papel ela é linda.
- 15:19Mas e em relação ao consumo, isso é algo realmente viável de
- 15:24ser feito? Porque e aí voltando na
- 15:26introdução, né, que a gente falou, olha mais uma profecia
- 15:28aqui dentro, chassi que se cumpriu, a gente tinha falado
- 15:30sobre esse Ralph wigan e o quanto que.
- 15:34O quanto que ele ficaria popular no futuro?
- 15:37Então? Os o ralfwin.
- 15:38Ele foi um início desse looping de new e né, onde você deixava o
- 15:42agente refazendo aquela mesma tarefa algumas vezes, porém você
- 15:48tinha um número pré determinado de vezes que o agente queria
- 15:51fazer aquilo. Então eu virava pro pro Ralf,
- 15:53né? Assim entre aspas, pro Ralf.
- 15:55Olha, vai fazer essa tarefa e você vai repassar Por Ela outras
- 16:009 vezes depois de fazer a primeira, né?
- 16:03Então ele. Convergindo ou não, tendo alguma
- 16:06coisa melhor ou não. Depois daquilo, ele passava 10
- 16:09vezes e parava ponto, e se meus sistemas não convergirem?
- 16:13Eu não tenho toque infinito não, gente, toquem.
- 16:15Custa caro e muito, né? E aí, como é que faz?
- 16:19É realmente um sistema eficiente ou existe um limite pra isso?
- 16:24Eu Acredito que o luppen de newing seja eficiente, mas tem
- 16:28casos em que a gente deva é de fato pedir o auxílio de 1 ano e
- 16:33eu vejo que. É como é diasmanny traz, né?
- 16:36A gente agora é dono do alter loop, né?
- 16:39Que lhe traz. Então, nos momentos em que AIA
- 16:41ela não conseguir resolver por conta própria, eu vejo que é a
- 16:46função do desenvolvedor. E nessa Nova Era, né?
- 16:48Da IA é justamente ser dono. É dessa etapa em que a gente
- 16:53redireciona, a gente define se tem algum ponto AA trabalhar,
- 16:59algum ponto que às vezes ela não considerou.
- 17:02E que às vezes não foi. É especificado no contexto
- 17:04inicial, porque é muito comum às vezes, principalmente no fluxo
- 17:08atual, né? É de desenvolvimento.
- 17:11Às vezes a gente não consegue antecipar todos os pontos a
- 17:15tirar dúvidas logo de início, justamente porque a aya, agora
- 17:17ela é dona dessa etapa da é do do nosso workflow, que é
- 17:21basicamente de pesquisa. Ela vai gerar o código, então às
- 17:25vezes ela pode. É tropeçar às vezes em alguns
- 17:28pontos que a gente não conseguiu antecipar, justamente porque
- 17:30esse esse trabalho foi delegado. Então eu vejo que os os filmes
- 17:34Gates, dentro do looping de newing são é imprescindíveis.
- 17:39E em outros episódios, já falamos de, por exemplo, de um
- 17:42botão mágico em que a gente só clica nele e a e a faz todo o
- 17:46resto do trabalho. Eu Acredito que o luppen Junior
- 17:48não resolva esse problema, porque Oo ele apenas altera a
- 17:52forma com que o desenvolvedor vai atuar nesse nesse modelo.
- 17:58Então é, não é perfeito, não é perfeito, mas eu vejo que ele é
- 18:04a principal forma que a gente vai conseguir.
- 18:06Escalar grandes migrações e fazer trabalhos de volume
- 18:11gigantesco nessa Nova Era da IA. P quais seriam alguns dos
- 18:15critérios que vocês elencariam pra dizer quando é bom?
- 18:20Provavelmente bom de se usar o looping de newing e quando só um
- 18:24harners ou algo mais básico já é o suficiente.
- 18:28O que que vocês escolheriam aí pra falar?
- 18:29Olha, tem que tomar atenção nesse nesse nesse ponto.
- 18:32Se isso for positivo, usa o looping de new em se não
- 18:35mantendo o básico, que está mais tranquilo.
- 18:37Eu acho que primeira coisa é governança, né, que eu acho que
- 18:41foi o grande problema da pocket é ou es, né?
- 18:45Não ter essa governança bem estabelecida.
- 18:47Então como que eu iria configurar um harners pra é
- 18:51questões irreversíveis, como deletar um banco de dados, AEA,
- 18:54comitar em produção? Coisas nesse sentido eu poderia
- 18:57prever se eu não tenho nenhuma governança estabilizada, né?
- 19:00Então acho que o primeiro ponto seria esse.
- 19:02Depois. É pra saber se seu.
- 19:05Harners, é bom é entender o dia a dia do do sistema.
- 19:08Mesmo se eu receber um desenvolvedor novo no time e ele
- 19:10fizer alguma coisa errada, os meus testes unitários vão barrar
- 19:13aquele código dele. Isso é uma pergunta.
- 19:15Então a gente começa a perguntar.
- 19:17Cada ponto é do nosso harners pra ver se ele está efetivo.
- 19:21Então, tendo essa maturidade assim de arquitetura, de
- 19:24ambientes, isso vai ser parte do papel do é arquiteto, do
- 19:28engenheiro de loop. Prevê essas coisas e ter tudo
- 19:32isso bem esquematizado a ponto dele confiar em cada parte, mas
- 19:35ao mesmo tempo ele tem a parte revisora.
- 19:37Então ele tem que ele pode fazer um road map até grande de
- 19:41executar algo em um final de semana.
- 19:43Igual aconteceu, né? Em 2 dias?
- 19:45É, mas no final ele tem que olhar, ó, esse, esse road map
- 19:48foi concluído. Os agentes, eles estão
- 19:50entendendo o que estão fazendo. Talvez não é validar o
- 19:53resultado, mas é validar. Cada etapa da é do que está
- 19:57sendo executado, gravar esse esse resultado.
- 20:00Até para que se uma mesmiar, o mesmo agente errou num problema,
- 20:04mais de uma vez que aquela lição aprendida fica ali, enquanto
- 20:07eles estão fazendo, enquanto está no looping, para que as
- 20:09próximas não caiam nesse erro e não tenham problemas ao final.
- 20:13Acho que isso é. Importamente esse é um ponto
- 20:15bem, bem interessante você falar, tipo assim?
- 20:17No o meu harners, ele não é estático, né?
- 20:19Eu cheguei num num problema que a Iata erra no sempre, a gente
- 20:22tem que melhorar o nosso harners.
- 20:23Se ela está erra no sempre exatamente é porque eu estou
- 20:27precisando de algum algo para guiar ela melhor, ou um sensor
- 20:30que vai entender que aquilo ali não era Oo ideal, né?
- 20:34E aí, como você até comentou, cara, eu acho que a meu ver, a
- 20:40pergunta não é nem assim, eu vou no harners.
- 20:44Ou eu vou no loop, cara, se você não tem.
- 20:46Você já não precisa questionar o loop, né?
- 20:49Maluquice. Vai ser maluquice.
- 20:51Vai ser simplesmente cara, vai lá e a vamos ver onde é que vai
- 20:54sair, é isso? Você não tem a menor ideia do
- 20:55que que vai estar do outro lado, né?
- 20:57Você acho que ter um harners bom é algo que vai te ajudar a
- 21:01garantir que você não vai apagar a mão de dados, que você não vai
- 21:04gastar touco infinito, que você vai convergir para um resultado
- 21:08final, sabe? Eu acho que ele é um pré
- 21:10requisito. Pro looping, não.
- 21:12Tipo assim, Ah, eu vou escolher o harners ao invés do looping de
- 21:15new. É uma coisa que acho que você
- 21:16comentou, né, Felipe? Você tem a gente começa com
- 21:18prompt de newing. Se você nem prompt de newing, já
- 21:21não faz. Não adianta você ir pra um
- 21:23context de newing, você nem encontra que se você não faz,
- 21:26não adianta você ir pra um harners.
- 21:28Ela vai fazer um arners de que há não tem nem pronte ali dentro
- 21:31direito pra eu entender como é que vai funcionar as coisas,
- 21:33sabe? É o que você comentou no início
- 21:35do episódio, né, Dantas? Você camadas diferentes que
- 21:37estão subindo e que casa. Com OOOO.
- 21:40O post original do do do osmane. De que é cara, é.
- 21:44O looping inirm é o topo do andar.
- 21:46É o andar do topo lá está lá em cima, em cima dessas outras
- 21:49camadas que vão direcionar todo AA sua execução.
- 21:53Então você tem um arners muito bom.
- 21:55Você quer fazer alguma coisa super simples, cara, eu quero.
- 21:57Trocar um texto, eu quero adicionar um botãozinho na tela,
- 22:00coisa mais fácil você usar alguma coisa do seu rádio.
- 22:02Você provavelmente já tem alguns alguns comandos, alguns mais
- 22:04direcionados ali, que são mais determinísticos, obviamente
- 22:08determinísticos No No contexto de IA, né?
- 22:11Pra poder executar aquilo, pra você ter algo mais complexo,
- 22:15você vai poder usar o seu looping de new em cima daquele
- 22:18Hardy cara, eu quero é mudar toda a minha forma de
- 22:21permissionamento do meu sistema de how based pra pra tribut
- 22:25based. Então você.
- 22:27E não façam. Isso pois é, enfim, mas é.
- 22:30É o tipo de coisa que você vai precisar.
- 22:32Sem dúvida. Um trabalho muito maior.
- 22:35E só adicionando a isso o que como eu vejo a questão do
- 22:39looping new? E pelo menos, né?
- 22:41A realidade que a gente está inserido atualmente é que ele
- 22:44deve ser muito bem pensado. E assim, se se um desenvolvedor,
- 22:49uma empresa desejar implementar o loping new, ela deve levar.
- 22:53Principalmente em consideração uma questão de custo.
- 22:55Assim como Dantas mencionou todo esse processo, ele requer um
- 22:59gasto muito grande de tokens. É, ele requer.
- 23:02Por exemplo, no caso da Ban, foi acho que aproximadamente 160000
- 23:05USD para fazer a migração. Ela compensa justamente.
- 23:09Né? Pelo pela estimativa que eles
- 23:12tinham, onde o tempo que os envolvedores seniores iam levar
- 23:14para fazer é esse esse projeto. Mas a depender do contexto, se o
- 23:18desenvolvedor não tivesse acertado muito bem esse hainess
- 23:21e rodar o do pendining, a gente pode ter grandes problemas
- 23:25financeiros com o gasto de todos.
- 23:28Né? Poderia, sei lá, triplicar esse
- 23:30custo. Teve o caso também da da Uber,
- 23:33né? Que fez o planejamento de 1 ano
- 23:35de gasto com IA e gastou em 4 meses.
- 23:38Então você ter talvez algumas travas também com relação à
- 23:42utilização de tokens, você ter na hora de configurar o loop,
- 23:46né? Essa questão que o Dantas falou
- 23:47de limite, né? É no máximo 33 loops por por
- 23:51agente. É de tentativa.
- 23:53E isso é bom pra poder controlar todo esse gasto de ar.
- 23:57Pois é. Entendeu?
- 23:59E engraçado, a gente fala de. De.
- 24:01De caso de sucesso da Ban e tudo.
- 24:03Mas é. A gente tem que lembrar também
- 24:05que isso não foi tipo assim. 100%, né?
- 24:09No final da das contas de toda a migração, eles já tinham não sei
- 24:12quantos, 1000 flags lá, 3000 flags lá, de de, de, de coisas
- 24:16que não estavam tão boas no corte.
- 24:18E alguns testes de regressão falhando, né?
- 24:20Tipo, acho que 19 ou 20 testes. 13000 flags janssafe. 13000,
- 24:25então, tipo assim, não foi algo tipo assim, ó, ficou perfeito,
- 24:28mesmo tendo todo esse harners que a gente falou pra uma coisa
- 24:32dessa magnitude, é. Obviamente, igual o Felipe
- 24:35falou, é muito melhor do que botar os envolvedores lá pra
- 24:38fazer isso em meses. Talvez teria mais anceito é, ou
- 24:41menos, mas talvez ganhasse teria mais tempo, seria mais caro, e
- 24:43aí depois é mais barato corrigir esses anceito depois, né?
- 24:46Então até nisso a gente tem que ter ter, tem que levar isso em
- 24:51conta, né, que não é 11 ferramenta ou uma não
- 24:55tecnologia, mas um conceito, né? É uma técnica.
- 24:59Livre dias, Ah, eu tenho o meu harness aqui.
- 25:01Ele é perfeito, cara. Não, você vai cair alguns
- 25:04problemas, você vai cair algumas coisas, até pelo não
- 25:06determinismo possível do seu sensor que vai garantir que você
- 25:10vai chegar No No resultado final.
- 25:12Né? E essa essa questão, às vezes
- 25:14ela tem que até ser analisada com maior cuidado, porque a
- 25:17gente pensar nos 13000 ansafes que teve.
- 25:20Se for num sistema comum, que a gente vê na maior parte do dia a
- 25:23dia, isso pode ser muito mais preocupante do que no sistema da
- 25:26Ban, que mexe num num baixo nível, né?
- 25:29E muitas vezes esse ansafe que ele tem, às vezes é em locais
- 25:32que às vezes não tem como mesmo não ter esse ansafe, sabe?
- 25:36Às vezes, às vezes são casos que precisa ter mesmo.
- 25:38Então, desses 13000, cabe avaliar o que que ali de fato é
- 25:42problema mesmo, porque pode ter coisas ali que são é decisões
- 25:48tomadas. Então assim.
- 25:49O importante é, no final das contas, eles ter esse
- 25:52conhecimento, não ter nada oculto, né?
- 25:55Tem um 13000, sei onde eles estão, sem em que camada que
- 25:58eles estão e por que que eles foram feitos.
- 26:00E aí acerta esse débito técnico com o tempo, né?
- 26:04Tem a questão dos 19, é 19 casos de regressão também me pareceu
- 26:09pouco pelo tamanho do do do do problema que eles enfrentaram,
- 26:13né? É só deles terem garantido Oo
- 26:16comportamento do sistema através do.
- 26:18De 1000000 de testes unitários que eles tinham.
- 26:20Deles tem esse feedback rápido do que o próprio rush dá.
- 26:23Eu acho que talvez eles ganharam um tempo e agora eles vão pagar.
- 26:27É com esse débito técnico ao longo do do tempo.
- 26:30Aí acho que talvez tenha que equilibrar isso foi positivo ou
- 26:33negativo, sabe? Depende da ótica.
- 26:35Agora vamos supor que eu sou um desenvolvedor que já tem o
- 26:39hábito de fazer o meu harns, inclusive se você estiver
- 26:42ouvindo AI gente e não tem confiança no seu próprio harns
- 26:44ou nem sabe o que que é, isso não fica para trás, não, tá?
- 26:47Volta alguns episódios aí escuta 2 muito legais que é o episódio
- 26:50do entrechave sobre harner's engineer e o snipet que a gente
- 26:54lançou há pouco tempo com o Thiago mostrando na prática,
- 26:57chama harners na prática, onde ele mostra pra você a diferença
- 27:00que um harner faz e te dá boas dicas sobre como implementar o
- 27:03seu próprio beleza. Dito isso, eu ouvi esses 2
- 27:06episódios do entre chaves, estou implementando um bom harners a
- 27:09partir de agora quero dar um passo além e ir para o loop
- 27:13Engineering. Onde é um Bom Lugar para
- 27:15começar? Qual que é o bom primeiro loop
- 27:18que eu posso fazer coisas simples para testar, talvez um
- 27:22projeto secundário só para eu ver como é que funciona.
- 27:25Qual que é o passo que vocês recomendam?
- 27:27Talvez é prioritário você testar isso em projetos pessoais do que
- 27:30você sair colocando. Isso não é nem empresa, nem
- 27:32clientes e tal, é, você pode criar uma camada acima daquilo
- 27:36que você vê que está muito repetitivo.
- 27:38Se você tem algum projeto que você já use, Ah, você já usa
- 27:41espec dreaming? Já tem todas as skills.
- 27:43É habilitadas, veja o ponto ali onde você é, tá, é, é promptando
- 27:49muito, tá tendo que interagir muito, tá gastando muito seu
- 27:51tempo. E é ali que é o ponto onde você
- 27:53tem que construir um nível acima, mais um looping pra poder
- 27:56resolver isso. É partindo do pressuposto que
- 27:59você falou que você já tá com o harners Maduro, bem desenvolvido
- 28:02e tal, e testa esses feedbacks, desses, essas respostas do
- 28:05harners pra ver se isso não vai te gastar touco.
- 28:07Então você já olha questão de limitação, você tem que fazer
- 28:10toda essa arquitetura. É para você garantir que esse
- 28:13loop vai rodar com segurança, sabe?
- 28:15Não dá para confiar 100%. Perfeito, e assim.
- 28:17Do loop, né? Se eu for implementar OOO Arns,
- 28:21eu posso começar, por exemplo, com o cloud MD, né?
- 28:23Eu posso criar um arquivo ali e colocar dentro dele algumas
- 28:26instruções ou vigílias, sensores como preferimos chamar de
- 28:32tópicos, categorias que é bom, que ele tenha atenção e
- 28:36comportamentos que eu espero dele.
- 28:38E para criar, o loop é um arquivo novo, é o loop ponto.
- 28:41MD, como que funciona? Boa pergunta.
- 28:44Inclusive, é até numa experiência num projeto aqui na
- 28:47dti a gente tem um framer que é basicamente o nosso hainess, né?
- 28:52Na época, a gente chamava de framer, que e cunhou se o termo
- 28:55hainess é. E a gente basicamente tem um
- 28:59fluxo orquestrado. É de refinamento,
- 29:02desenvolvimento posteriormente de revisão.
- 29:05Essa parte do loop, ela está muito relacionada ao a um dos
- 29:10elementos centrais, né? Do looping geneering que o
- 29:13ajosmany trouxe, que é a automação é.
- 29:16E essa automação ela é feita justamente por orquestração de
- 29:21um agente. No nosso caso, a gente utiliza
- 29:24um agente man e a gente tem sub agentes pra cada uma dessas
- 29:28etapas. Como criar um loop?
- 29:30Né? E como fazer isso de uma forma
- 29:32mais assertiva? Já testei de todas as 2
- 29:35maneiras, é, já passei pro agente orquestrador no caso pelo
- 29:39claud MD, qual que era o fluxo que ele poderia utilizar né?
- 29:42É, iria até escrever um pseudo coach no caso pra ilustrar um
- 29:47pouco de como seria esse fluxograma.
- 29:50É funciona, mas tem um ponto muito importante a respeito
- 29:54disso. Que é justamente basicamente o
- 29:57gasto de tokens, né? E que vai consumir não só é
- 30:00financeiramente, mas da sua janela de contexto que aí a
- 30:03gasta pra entender qual que é a próxima ação.
- 30:06É, então é, eu acho que o primeiro ponto é definir loop, é
- 30:09determinar como que é a sua operação e quais etapas você
- 30:12gostaria que a IA passar é realizasse de forma autônoma.
- 30:16Tendo definido, tendo esse mapear entre de qual que é o seu
- 30:19fluxo, eu tentaria adicionar pra além do cloud MD.
- 30:23Eu buscarei trabalhar com determinismo, às vezes com
- 30:27arquivos jasons que estão no seu, no seu memor Bank e
- 30:31possivelmente scripts que é indiquem transições de fase.
- 30:34E o que é permitido ou não pra auxiliar AEA nessa tomada de
- 30:39decisão sobre o que fazer. Então vou dar um exemplo aqui é,
- 30:44vamos supor que a gente tá realizando Oo desenvolvimento de
- 30:47um ticket. E eu simplesmente passei, né?
- 30:52Vou, vou pegar esse cenário ideal, em que o nosso reality
- 30:54está muito bem, é construído e a gente já implementou o nosso
- 30:58primeiro loop. Vamos supor que eu simplesmente
- 31:00passei pra IA 11 comando e uma URL do meu ticket é.
- 31:06A ideia é que ela execute até a fase em que ela vai passar pra
- 31:10mim um relatório do que foi feito, né?
- 31:13É 11 artefato. É que veio posteriormente as a
- 31:17revisão e ela convergir de acordo com é os meus sensores,
- 31:21pra que a gente realize o loop. A gente primeiro passa na etapa
- 31:26de review e a da fase review que a gente define se a gente para
- 31:31ou se ela vai continuar. Então a partir desse momento é a
- 31:35gente pode consumir os resultados dos sensores e a
- 31:38partir disso, caso você tenha 11 cap, né?
- 31:41De número de tentativas. É importante você usar do seu
- 31:44member Bank, então armazenar talvez o nome, arquivo, Jason,
- 31:47qual qual é a sua interação e a partir disso você roda uma
- 31:51interação com esses novos recursos e idealmente eles até
- 31:55trazem. É uma sugestão de é você ter um
- 32:00fluxo de melhoria e daí ela aprender com o que ela errou.
- 32:03Então se você também conseguir armazenar isso dentro do seu
- 32:06projeto, né, pra que ela consuma dessas Fontes posteriormente,
- 32:09também é muito vantajoso. Mas é resumindo, então eu vejo
- 32:14que é possível fazer isso de uma forma mais direta pelo seu cloud
- 32:18MD é e Orquestrando ele, trazendo a responsabilidade
- 32:21muito clara sobre qual subiagente é responsável por
- 32:24qual etapa. Mas se você conseguir adicionar
- 32:27um pouquinho de até terminismo nessa etapa, eu acho muito
- 32:29interessante. Eu vi 111.
- 32:31Exemplo interessante também de loop que uma pessoa realizou.
- 32:35Ele era é basicamente desenvolvedor, é mais pronthend
- 32:40só que. Ele é como se fosse líder dos
- 32:42desenvolvedores, então usava e a mesmo os desenvolvedores do
- 32:46time. Mas ele queria ajudar de certa
- 32:49forma, então ele programou, criou um looping pra poder olhar
- 32:53o backlog ao final do dia. Ver Tarefas.
- 32:55Que de forma determinística através de uma esqui são
- 32:58consideradas de baixo risco tarefas é que ele poderia atuar
- 33:03para contribuir. O objetivo dele, obviamente, era
- 33:05reduzir o backlog ali e contribuir com o time.
- 33:07Então ele programou um loop para sempre no final da tarde, todos
- 33:10os dias, no final da tarde, fazer essa varredura dentro dos
- 33:13critérios de aceite que ele determinou é já kodar toda AA
- 33:18questão do dos problemas que ele tinha que resolver.
- 33:21E gerar no final do dia Pra Ele um relatório.
- 33:23Olha, e isso eu fiz isso eu que o dei é já deixo OPR pronto pra
- 33:26revisão. E se for o caso, ele pode até ir
- 33:28além, né? Depende do da maturidade.
- 33:30Mas isso já é um exemplo de loop que AA pessoa programa no dia a
- 33:34dia ali pra poder contribuir com o time.
- 33:36Entendi. Ou seja, não necessariamente é
- 33:38só botar o barra loop lá. EE mandar rodar, né?
- 33:40Envolve toda uma. Uma orquestração, né?
- 33:44Igual No No seu caso, né? Felipe?
- 33:4511 árvore de decisão, os sensores que ele vai usar e como
- 33:49que ele vai usar em cima, né? Na próxima vez, então vou tentar
- 33:52descrever lá o loop, mandar rodar.
- 33:54E fiquei ansioso para tentar também, viu, Dudu?
- 33:55Algumas coisas assim. É.
- 33:58Porque para mim parece interessante, né?
- 33:59Eu não sei se tem alguma coisa que que talvez seja ruim aí ou
- 34:04às vezes alguma. Algumas.
- 34:06Algumas disciplinas que que que acham que talvez não sejam tão
- 34:09legal usar o looping de newing a gente?
- 34:11Falou do consumo de tokens, mas ainda assim a esmola quando é
- 34:14grande, o Santo desconfia muito. Né, Dudu?
- 34:16Exatamente o que vocês acham de já viram alguma coisa do
- 34:19pessoal? É às vezes achando ruim com com
- 34:21o looping de newing de que ele às vezes não resolve os
- 34:24problemas que ele deveria resolver e por que que ele?
- 34:26Não, eu acho que Oo próprio Edge, Osman ele fala sobre isso,
- 34:30né? Ele tem 3 pontos aí.
- 34:32É basicamente que podem ser problemas, mas que.
- 34:36São controláveis, é é é entender realmente o problema EE pensar
- 34:39em alternativas ali que existem pra poder controlar uma.
- 34:42É questão de validação. Ainda assim você é a é a pessoa
- 34:46que tem que validar independente do tamanho do looping que você
- 34:50executar. No final você tem que validar a
- 34:52questão do de não conhecer o código, né?
- 34:55É o afastamento do código, você acaba é não sabendo muito o que
- 35:00o que você executou, como se você.
- 35:02Chamasse 11, sei lá, um pedreiro para construir a sua casa.
- 35:05Ele construísse tudo é você não participasse da obra porque você
- 35:08está ocupado por algum motivo que seja.
- 35:10De repente dá um vazamento no cano, você não sabe aonde foi
- 35:13que ele construiu porque você delegou essa função para ele.
- 35:16Então esse afastamento, isso pode ser é um prejuízo, né?
- 35:21E a questão também de acho que ele chama de distanciamento
- 35:24cognitivo, que muitas vezes pode parecer que é preguiça, mas às
- 35:27vezes não é preguiça. Às vezes você vê as coisas dando
- 35:30certo, você vê todos os seus indicadores e resultados, tudo
- 35:33dando verdinho. Aí você fala assim, cara, eu
- 35:34não, não quero mexer com isso, simplesmente está funcionando.
- 35:37Então pode ser uma decisão, é consciente da pessoa, mas isso é
- 35:41um problema também, porque no final das contas, o sistema é
- 35:44seu. Se der problema, quem vai ser
- 35:46acionado é você. Exatamente, né?
- 35:48Não tem dessa. Não falei a que fez, então não
- 35:50tô nem aí, né? Lavo minhas mãos.
- 35:52Mas não adianta, a sujeira ainda estará lá, né, Dudu?
- 35:56Agora, Dudu, falar uma coisa pra você aqui, confessar do meu
- 35:58coração, tá? Eu não sei até que ponto que eu
- 36:00confio nesses harners não, porque recentemente a gente teve
- 36:04uma notícia um tanto quanto interessante que a opna aí
- 36:07testando os sistemas internos dela, muito nesse modelo aí
- 36:11autônomo da IA, né? Ela da IA tentar alcançar um
- 36:14objetivo, né? O barra gol, né?
- 36:17Que eles utilizaram é mesmo com todos os harners, os guard
- 36:21railes e mesmo estando em um ambiente sandbox, dentro da
- 36:24infraestrutura da da opena, isolados da internet, OAIA,
- 36:30ainda assim conseguiu escapar, né?
- 36:33Acho ela identificou uma vulnerabilidade day zero, ou
- 36:36seja, uma vulnerabilidade que ninguém conhecia, ninguém sabia
- 36:38a existência dela. Explorou essa vulnerabilidade
- 36:41para alcançar a internet e acabou atingindo 2 empresas.
- 36:45A gente até fez um plantão sobre isso.
- 36:47Se você não ouviu 5 minutinhos de plantão, volta lá pra poder
- 36:50se inteirar do caso. E digo mais, o estrago foi maior
- 36:53do que aparece, tanto que daqui a pouco a gente vai lançar um
- 36:56episódio sobre isso também. Agora deixo aí pro pro pessoal
- 36:59ficar pensando, será que dar uma IA pra uma IA, né?
- 37:05Em como a gente comentou aqui, deixar ela refletindo
- 37:08circularmente e só ter um Cláudia MD ele como harners, né?
- 37:13É o suficiente pra barrá la de fazer estragos, como foi lá
- 37:18dentro da própria open i afinal, se a open i não conseguiu, quem
- 37:25dirá de nós? Talvez foi isso.
- 37:27A open i botou um cloud MD lá dentro, mas sim, é tipo assim,
- 37:34provavelmente precisa de muito mais do que só um cloud MD pra
- 37:36gente conseguir garantir aí que o nosso loop vai.
- 37:39Sem dúvida. Chegar no resultado desejado e
- 37:42não um falso positivo ou. Gastar todo nossa nosso cartão
- 37:45de crédito? Preciosa janela de todos,
- 37:48exatamente, ou então falamos pontos positivos, falamos pontos
- 37:52negativos, colocamos aqui os prós e os contras na balança,
- 37:55pesamos um pouquinho para ambos os lados, deixamos os alertas
- 37:59acesos, mas o convite para os testes também, né?
- 38:02Agora cabe a você. Conta aí pra gente nos
- 38:05comentários, deu certo pra você implementando o seu projeto,
- 38:08como é que foi a sua experiência utilizando o looping de newing?
- 38:11Fala aí. Que a gente traz aqui, talvez no
- 38:13próximo episódio, para poder comentar sobre esse caso
- 38:15pessoal, foi um prazer ter vocês aqui com a gente.
- 38:17Excelentes convidados. Gostei muito do nosso papo hoje
- 38:20e a gente fica por aqui. Até a próxima.
- 38:23Tchau, tchau. Muito obrigado, pessoal, até
- 38:24mais. Obrigado, pessoal, tchau, tchau.
- 38:25Obrigado.