Latest / Entre Chaves / #268 Harness Engineering: como escalar a IA sem acumular dívida técnica
Transcript
- 0:02Está. Começando mais um entre chaves,
- 0:05o seu podcast de desenvolvimento de software.
- 0:07Eu sou a Fernanda Vieira e hoje a gente vai falar sobre um
- 0:10desafio que todo desenvolvedor ou todas as pessoas que
- 0:15trabalham com e as agendicas, né?
- 0:17Com codificação Royal sofrem, que é como que eu garanto que o
- 0:21meu agente depois que eu apertei o play.
- 0:23Né? Fui embora na hora que eu volto.
- 0:25Ele fez tudo que eu pedi e mais ele fez tudo que eu pedi da
- 0:28forma correta. E então a gente vai falar hoje
- 0:31sobre harners Engineering ou harners design, né?
- 0:35Ou engenharia de arnês. E pra falar sobre esse tema,
- 0:39hoje estamos aqui com meus companheiros de bancada, Luiz
- 0:43Dantas. E aí, como é que vocês estão?
- 0:45Oi, pessoal, um prazer estar aqui de novo.
- 0:47E aí? Fernandinha, e aí, pessoal,
- 0:49sejam bem vindos de volta. Isso aí.
- 0:50Então a gente fez um episódio bem recente, gente sobre
- 0:53engenharia de contexto. Nesse episódio, a gente falou
- 0:56muito sobre essa evolução de como que a gente viu, né?
- 0:59De como a gente interagia com o iá.
- 1:01Que antes a gente contava muito com a engenharia de prompt que a
- 1:05gente mandava, né? Bons prompts e era isso era
- 1:08arte, né? Surgiram papéis vagas de
- 1:11engenheiros de prompt aí no mercado que a arte era como eu
- 1:14faço um bom prompt para que o meu modelo responda de forma
- 1:17correta? Aí surgiu a engenharia de
- 1:19contexto, que agora é não como eu controlo como o meu modelo.
- 1:23O que que o meu modelo sabe? Para que ele responda a coisa
- 1:27certa. E agora, gente, surge o harnes
- 1:29Engineering, que é justamente como eu controlo a minha
- 1:33execução a longo prazo, porque isso continua sendo um problema.
- 1:38Mesmo o modelo sabendo, né? Um tanto de coisa, porque a
- 1:42gente tem memória persistente, diversas coisas que a gente guia
- 1:45a implementação do nosso modelo. A gente ainda tem desafios de
- 1:50manter esse modelo, né? Ou esse agente, no caso.
- 1:53Funcionando em longa duração, então esse termo de engenharia
- 1:57de arnês, né? Ou arnez Engineering.
- 2:01Ele surgiu agora em fevereiro de 2026, um negócio super novo.
- 2:06E claro que ele surgiu num post de rede social, né?
- 2:09Porque aqui como a gente já falou isso aqui, né?
- 2:113 chaves, né? Tudo de aço surgiu num Twitch,
- 2:14né? Ou enfim.
- 2:15Documentação é coisa do passado, né?
- 2:17A moda agora é OX. Exatamente, foi o cara então,
- 2:20né? Que o Mitchell hashimoto, que
- 2:23construiu a hashcorp, também criou o terraform, que publicou
- 2:26sobre um post sobre um hábito simples que ele tinha, que era
- 2:29justamente assim, toda vez que o agente errava, ele engenhava,
- 2:33né? Um fixo permanente para aquele
- 2:35agente. E ele chamou isso de Engineering
- 2:38the harness. Ele chamou isso, né?
- 2:40Desse dessa forma que ele estava controlando, né?
- 2:43Podemos falar assim, o agente dele.
- 2:46E aí, em poucas semanas, aí a open AEA antrópica que todo
- 2:50mundo passou a publicar sobre esse tema de harnes in the
- 2:53newing. Então, gente, é sobre isso que a
- 2:55gente vai falar hoje, dado que o meu agente persiste na execução,
- 3:00como que eu garanto que ele está persistindo na direção correta?
- 3:03É, será que isso é um problema mesmo?
- 3:06Fernando de ou será que isso era um problema até pouco tempo
- 3:08atrás? Em novembro de 2025, o primeiro
- 3:12comit em um GitHub em branco foi realizado.
- 3:16Não tinha nenhum tipo de código para escrito lá, absolutamente
- 3:19nada. Um repositório limpo, mas a
- 3:21estrutura do repositório, configuração de si, regra de
- 3:24formatação, gerenciador de pacotes, a estrutura do
- 3:27aplicativo. Tudo foi gerado pelo ChatGPT,
- 3:32né? Pelo codexelai usando gpt 5.
- 3:35Guiada por um pequeno conjunto de modelos que escreveram
- 3:39inclusive o próprio aging CMD. A gente avança alguns poucos
- 3:44meses para o futuro e o resultado é que nós temos uma
- 3:46aplicação com mais de 1000000 de linhas de código escritas
- 3:51inteiramente por uma e anão havia nenhum código base sequer
- 3:55para ancorá la para guiar o que que ela deveria fazer.
- 3:59Então foi dada uma Liberdade completa para essa e a com uma
- 4:02intenção, e ela conseguiu produzir uma aplicação completa.
- 4:06E esse foi a conclusão do experimento da opena.
- 4:09Para dizer que o harnes Engineering ele é uma realidade
- 4:13muito mais próxima do que a gente espera.
- 4:15Como tudo no mundo da ya a cada um mês parece que se passou uma
- 4:19década, né? A open a já fez questão de
- 4:21publicar um artigo prontamente rebatido pela antrópica e com o
- 4:25próprio experimento dela também, para mostrar que existe SIM 1
- 4:29método ou pelo menos um estudo muito promissor sobre um método.
- 4:34De você criar um ambiente predisposto para que as ias
- 4:37tenha a condição de trabalhar com um ciclo retroalimentar e
- 4:41conseguir produzir algo a longuíssimo prazo.
- 4:43É então só dando, né? Um passo atrás aí do que que é o
- 4:46harness, né? O que que é a engenharia de
- 4:48harness? A gente pode falar que é tudo o
- 4:50que é externo ao modelo, né? ALLM, de fato.
- 4:54Né? Então vão ser os guias, né?
- 4:57Os contextos, as memórias. Mas também vão ser os mcps, né?
- 5:01Os as ferramentas. Ou seja, tudo que eu consigo
- 5:05instrumentar o meu modelo para ele fazer um trabalho melhor do
- 5:10que ele poderia fazer. E aí acho que também é
- 5:12interessante de falar aqui. Que inclusive as ideias hoje o
- 5:16próprio cursor, o cloud code ou o próprio copilote, eles mesmo
- 5:21já tem uma partezinha ali de harners, porque afinal, eles
- 5:24fazem. A gente aqui já falou isso no
- 5:25entre. Chaves, por exemplo, o caso do
- 5:27Cláudio coach ter vazado, né? A gente percebeu, pelo código
- 5:29fonte dele, o quanto que ele próprio já não otimiza.
- 5:32Exatamente, exatamente, né? O quanto que tem de
- 5:35infraestrutura ali no entorno do modelo, né?
- 5:37Então as próprias ideias já endereçam um pedacinho desse
- 5:41harner, né? Fazendo.
- 5:42Essas orquestrações de modelos internamente, tendo um sistema
- 5:45prompt interno e fazendo coisas que já melhoram o comportamento
- 5:50do modelo do por si só, né? Diferente você, por exemplo,
- 5:53chamar uma API totalmente crua, né?
- 5:55E agora também cabe ao usuário, para além das ideias, criar o
- 6:00seu harners, criar a sua instrumentação para que aquela
- 6:04ideia seja ainda melhor. E vocês falaram, né?
- 6:07Isso não é futuro de forma alguma.
- 6:08Assim como é o próprio openaire que você mencionou.
- 6:11Dantas, já é um case, né, que já está consolidado.
- 6:14A antrop que vem falando sobre seus cases de harners, tem um
- 6:17case bem legal também da Stripe, de agentes de background.
- 6:21É o Spotify também tem é artigos sobre agentes de background.
- 6:25Enfim, tem muitas e muitas empresas usando, né?
- 6:29Essas técnicas de harners pra instrumentar os seus agentes, os
- 6:33seus, né? Pra que eles rodem de uma forma
- 6:36mais efetiva em longo prazo. Hoje a gente tá falando sobre
- 6:40essa engenharia de harners e a palavra engenharia, né?
- 6:43De otimização. Ela tá muito voltada, com um
- 6:46ciclo que a gente definiu pra essas as.
- 6:48Partir em pequenos pedaços, saber ter uma boa identificação
- 6:51sobre a execução de cada um deles, executar, validar,
- 6:54recomeçar se necessário for. Então, hoje as ias, elas já
- 6:58estão em um ambiente como um todo, os agentes, né?
- 7:01Eles já estão indo preparados para poder fazer isso pelos
- 7:04experimentos da antrópica aqui da opna, mas isso não vem de
- 7:07hoje, essa ideia, ela é mais antiga.
- 7:10A gente percebeu muito rápido que as ias, elas não são tão
- 7:14boas assim para lidar com o processo a longo prazo.
- 7:17E os próprios dévis já começaram a fazer algo nesse sentido muito
- 7:22antes dessas grandes empresas. Então a gente comentou alguns
- 7:25episódios passados do entre chaves sobre o Ralph wigan, né,
- 7:30que é um como como eu posso definir o Ralph wigan?
- 7:34Seria 11 modelo de loop pra soear a local, ficar refazendo e
- 7:39testando a própria tarefa várias e várias vezes.
- 7:42Até ela ter 11, resultado satisfatório.
- 7:45Esse nome é o nome de um cara dos Simpsons, né?
- 7:47Isso exatamente. Então é.
- 7:49É um personagem muito, muito bobo dos Simpsons assim, né?
- 7:52Acho que tem 11 pouco dessa referência.
- 7:54Fala assim a fazer a mesma coisa várias e várias vezes até ficar.
- 7:57Bom, assim 1 hora você acerta, né?
- 8:00Então a gente percebe que esse harnes engeniren ele parece ser
- 8:05uma grande otimização e meio que uma formalização, se me permite
- 8:09a palavra de. Uma tentativa de que os deves já
- 8:14faziam as suas próprias LMS locais ou dentro dos seus
- 8:18próprios contextos. É e uma coisa que assim
- 8:20interessante assim, até trazendo um exemplo bem prático que eu li
- 8:23recente de uma utilização boa de harners que que o pessoal fez
- 8:27utilizando as packdriving normal, começaram com um
- 8:29contexto amplo, refinaram, quebraram as tarefas,
- 8:33planejaram. Aí reduz o contexto, conseguiram
- 8:36especificar e tal beleza. Tinham os agentes responsáveis
- 8:39pela implementação das histórias, que foram escritas
- 8:41através do pack reven e criaram o outro agente, que seria o
- 8:45agente de teste, o agente qway. Antes do agente de implementação
- 8:51começar efetivamente a cuspir código, os 2 agentes se
- 8:55comunicavam e eles definiam um contrato de teste EE, realmente
- 9:00criavam aquilo ali, um MD. Com um contrato de teste e os 2
- 9:05agentes tinham que entrar em acordo sobre esse contrato.
- 9:07Só depois que eles entravam em acordo desse contrato é que a
- 9:10implementação começava, o agente implementador efetivamente fazia
- 9:15e depois passava a tarefa para o agente de teste.
- 9:18E como esse agente de teste está em outro contexto, ele não tem o
- 9:22mesmo contexto. Ele consegue chegar como se
- 9:25fosse com que o ei realmente está com a mente aberta, com a
- 9:28mente fresca. Sem vícios do que foi
- 9:31implementado para testar a tarefa baseado naquele contrato.
- 9:35E ele só vai dar o ok naquela tarefa se efetivamente passarem
- 9:39todos os itens do contrato. Caso contrário, ele manda de
- 9:42volta com agente de implementação.
- 9:43Com a falha que deu. Parece uma coisa simples, mas
- 9:47que assim isso isso, isso por si só já gera um ganho enorme no,
- 9:51no, no, no. Processo sobre o que que você
- 9:53acabou de falar no artigo da anthropic, eles falam sobre uma
- 9:57tentativa de fazer uma estrutura similar a essa.
- 10:00E eles percebem um problema logo de cara, que os modelos
- 10:03validadores, eles são otimistas demais.
- 10:07Então assim, quem que nunca passou, né?
- 10:08Por um clássico Ah, você está completamente certo, me
- 10:11desculpe. Então era muito mais fácil eles
- 10:14chegarem a acordos que fossem fáceis de serem cumpridos, que
- 10:18não testasse todos os casos ou que ele aceitasse contratos mais
- 10:21básicos. E pra isso, pra evitar, né, esse
- 10:24tipo de cenário, eles treinaram modelos mais específicos, que
- 10:27são redes neurais convolucionais.
- 10:29Que são Guns de nerative adverserial network.
- 10:34Então essa palavra já até aparece, né?
- 10:36A gente usa a palavra adversarial para testar contra.
- 10:39Aliás, né? OAML adverserial machine
- 10:41learning, né? Que foi um conceito de segurança
- 10:43que a gente já trouxe aqui. E eles criam esse tipo de modelo
- 10:47justamente para não ser otimista para ir.
- 10:49Contra isso é muito legal, né? Que é justamente esse, esse esse
- 10:53aspecto, né? Do comportamento das LLMS de
- 10:55serem positivas, né? Justamente pelo seu.
- 10:58Pelo pelo modelo de treinamento delas, de ser aprendizado por
- 11:01reforço, né? Então elas tendem a buscar olhar
- 11:04as as situações do viés positivo delas, né?
- 11:07Ou, enfim, ou tentar sempre é atingir uma instrução que foi
- 11:11dada da melhor forma, né? Então, enfim, elas acabam tendo
- 11:14esse comportamento que é muito interessante a.
- 11:16Antropic, ela até traz uma frase muito bacana quando ela fala
- 11:20sobre as gans, que ela diz o seguinte, portanto.
- 11:23Essas 2 ias estão travadas em uma Batalha.
- 11:27Agora só uma questão, será que OOAA IAC faz a implementação?
- 11:31Responde a outra, falando na minha máquina funciona.
- 11:35Eu acho que isso é muito legal quando a gente fala sobre
- 11:37harners e como as empresas estão trazendo esse conceito, porque
- 11:41como eu até falei é anteriormente, a gente não só
- 11:45conta com com ferramentas de inferência, né?
- 11:48Como as próprias llms pra serem os sensores da implementação.
- 11:52Com o que é mais? Que a gente conta com as coisas
- 11:54computacionais, gente que são as coisas que a gente sempre contou
- 11:58para qualidade de software. Isso é muito, muito, muito.
- 12:02É importante da gente falar para a gente testar que o meu
- 12:06software tem qualidade, que ele funciona.
- 12:08Porque não usar as minhas métricas do sonar, usar os meus
- 12:12próprios testes unitários ou os meus testes em suend, ou os meus
- 12:16testes, né? Enfim, os testes, a minha suíte
- 12:18de testes. Né, porque não usar essas
- 12:21ferramentas que já são é consolidadas e determinísticas,
- 12:25né? Ou seja, a gente não vai ter uma
- 12:27alucinação ali no meio do caminho pra garantir que o meu
- 12:30sistema tenha uma qualidade. E o mais importante que você
- 12:33está falando é que quando a gente fala nesses 2 tipos de
- 12:36ferramentas do harners, né? Tem as ferramentas que são
- 12:38computacionais e tem as ferramentas que são por
- 12:40inferência, as ferramentas que são computacionais, análise
- 12:44estática de códigos, os linnter, os unistestes, et cetera rodam
- 12:48no CPU. São extremamente rápidas e
- 12:51baratas. Então primeiro você roda as
- 12:54computacionais. Se alguma delas falhar, parou,
- 12:57aí você gastou, você gastou a criação de 1 segundo
- 13:00milissegundos e foi barato, porque aí se passou pelas
- 13:04computacionais. Aí você vai por inferência, aqui
- 13:07vai entrar as LLMS que vão rodar na GPU.
- 13:10Isso que aí são mais caras. Das demoradas mais caras.
- 13:14Então pra que que você vai ficar utilizando ferramentas por
- 13:18inferência? Se você tem outras que podem, já
- 13:22é um. Você tem que pensar no funil.
- 13:24Assim, no funil eu começo como que é rápido e barato?
- 13:27E vou funilando até chegar mais nas camadas mais para frente.
- 13:30Mesma, mesma, mesma lógica da estrutura de das pirâmides de
- 13:33teste, por exemplo, né? Que eu rodo os testes unitários
- 13:36o tempo inteiro, porque eles são rápidos, né?
- 13:37Os testes lá engeoendy, que às vezes são bem mais demorados.
- 13:41Eu rodo só lá no meu pipeline, mas muito legal, gente, porque
- 13:44isso acaba fazendo um shift left na qualidade.
- 13:47Né? Porque isso acaba dando uma
- 13:49ferramentas munindo, né? Os desenvolvedores ou munindo,
- 13:53né? Os orquestradores de ar para já
- 13:57terem resultado da qualidade do seu código.
- 14:00Muito antes de eu precisar integrar meu código no pipeline,
- 14:04né? Então assim, isso acaba trazendo
- 14:07111 aspecto muito positivo de qualidade para minha produção de
- 14:11software, né? E a sensação de que dá para
- 14:14gente é que muda o papel do engenheiro.
- 14:17Ah, é isso? Com certeza é.
- 14:19Porque agora, o engenheiro, a função dele, na verdade, é como
- 14:22que ele consegue garantir a qualidade daquilo que o iá tá
- 14:25gerando, né? Para ter o menor interferência
- 14:28humana possível, e. Aí como construir esse harners,
- 14:31né? E dar todo o contexto tanto de
- 14:33entrada quanto de validação, né? Todo as ferramentas e o contexto
- 14:38para que ela, aquele agente, aquele modelo, consiga.
- 14:41E aí, que que acontece, na verdade, o engenheiro, Nessas
- 14:43Horas? Muitas vezes ele não vai querer
- 14:46assim, se ele está vendo que a hiata gerando alguma coisa que
- 14:49não é adequado, em vez dele ir lá no código e reparar no
- 14:52código, ele vai pensar onde eu mexo no harners?
- 14:55Exato, aí pra mim é isso. Não volte a acontecer e da
- 14:59próxima vez seja melhor. Voltando ao Twitter que você
- 15:00comentou, identificar o erro daquele cenário e aplicar uma
- 15:04correção permanente. Né?
- 15:05Exato. Pra mim, gente, isso aí é a
- 15:07mudança de mentalidade que você quem está nos ouvindo.
- 15:10Puder pegar, né? Se tiver uma coisa que vai pegar
- 15:12desse episódio, pegue isso. Não fique conformado com o quão
- 15:19o seu modelo ou o seu agente está gerando código para o seu
- 15:23sistema. Se ele tá ruim, não se conforme
- 15:25com isso. Melhore o seu harner.
- 15:28Se ele tá ruim, é porque o seu harner tá ruim.
- 15:31É porque você não arquitetou corretamente o contexto que você
- 15:34tá dando, mas também as ferramentas que você tá dando.
- 15:38Para esse modelo, para esse agente validar o seu próprio
- 15:41trabalho. Ou seja, gente, não tem dessa
- 15:44para mim. Ah, mas meu sistema é legado,
- 15:47claro. Sistemas legados, eles tem.
- 15:50Com certeza você vai ter mais dificuldade de criar um bom
- 15:53Arns, né? De criar os seus bons controles.
- 15:56Mas. Não acho que não tem jeito, eu
- 15:59acho que tem. Só que aí provavelmente você vai
- 16:01ter que alterar mais, você vai ter que, né?
- 16:03Refinar mais o que que é aquilo, né?
- 16:05Como garantir? Mas com certeza tem como é.
- 16:09Essa é a minha visão aí. Isso traz a gente pra pra
- 16:12discussão sobre categorias de Haynes, primeira grande
- 16:15categoria, que é a questão da manutenbilidade do código, e
- 16:19realmente essa primeira parte a gente falou.
- 16:21Você vai rodar análise estática de código linnter, vai fazer
- 16:25primeiro tudo computacional que você puder manda pra LLM Pra Ela
- 16:28fazer um code review, vai, porque tem certas certos tipos
- 16:32de duplicação de código que uma análise estática pega.
- 16:34Tem certos tipos, que é uma duplicação um pouco mais sutil
- 16:37que você precisa de ter um code review.
- 16:39Pegaria. Passou por isso?
- 16:41Você tem a segunda parte, que é a validação arquitetural do seu
- 16:45projeto, eu tô eu tô furando alguma camada, eu tô criando
- 16:50algo onde eu não deveria, eu tô rompendo alguma regra
- 16:53arquitetural do meu projeto, tô acessando minha camada de dados
- 16:56direto da caixa de apresentação. Aí a gente tem as velhas, boas e
- 16:59velhas fitness funcions, que é o é a parte computacional, e aí
- 17:03mais uma vez pode ter mais uma camada de Lelê m aí fazendo mais
- 17:07uma análise. EE aí por último a gente chega
- 17:10na categoria, que é o comportamento do código gerado,
- 17:15que é efetivamente equivalendo hoje o que a gente o que sempre
- 17:20foi até hoje na história, a parte do qwei, principalmente a
- 17:23parte qwei manual, né? Que sempre foi muito focado
- 17:26nisso. Então assim, eu estou
- 17:27desenvolvendo um app, então é como se eu fosse.
- 17:30É abrir o app, vou clicar ali, eu espero uma tal mensagem, de
- 17:34tal cor de movimentação. Dessa forma eu espero esse tipo
- 17:37de resposta que é o comportamento, porque a partir
- 17:41da hora que a gente consegue colocar um harners completo, que
- 17:44vai desde espectro event, passa pelo pela qualidade, qualidade
- 17:48de código, passa pelas pelos cheques arquiteturais, passa
- 17:52pelo cheque todo de comportamento, a gente fica
- 17:55assim, na beiradinha de fala assim, de começar a pensar
- 17:59assim, será que eu consigo? Passar uma especificação para
- 18:02IAE? Eu só, eu já vou direto Na Na
- 18:06loja de aplicativos já baixo o aplicativo de lá.
- 18:09Pois é, e é exatamente isso, né? Quando a gente pensa nesses
- 18:12rainers e até vendo esses exemplos tanto da open EI quanto
- 18:15da striper, a gente pode entrar um pouquinho mais no detalhe
- 18:17deles aqui. Para mim é a é a hora que a
- 18:20gente olha e fala, poxa, talvez chegou um negócio realmente novo
- 18:25em que eu, dado que eu consigo estabelecer uma intenção do que
- 18:29eu quero. Eu vou pegar, eu vou chegar no
- 18:31meu código lá em produção lá só, né?
- 18:34Ou seja, será que eu vou precisar revisar código ainda?
- 18:37E aí pra complementar, né, essa polêmica do e aí, porque até
- 18:42então, o que que a gente defendeu aqui no entre chave,
- 18:44gente, eu planejo com oia, delego a execução, mas eu vou lá
- 18:49e reviso no final porque afinal, né, mia pode ter alucinado, pode
- 18:53ter gerado bug, pode ter gerado vulnerabilidades que eu não
- 18:56quero colocar em produção. O que a gente tá falando aqui
- 18:58agora, gente? Com o harners, né?
- 19:00E com toda essa coisa, né, que tá vindo aí é, será mesmo que eu
- 19:05preciso revisar meu código? E é polêmico isso, né?
- 19:09Quando o Luiz falou aqui sobre o papel do engenheiro, agora ele é
- 19:13muito mais de garantir a qualidade.
- 19:15Não necessariamente garantir a qualidade é fazer o teste no
- 19:17final, o. Garantir a qualidade talvez vai
- 19:19ser instrumentar todo o meu harners, né?
- 19:22Pra tanto na hora que eu estou codificando que o meu.
- 19:26Meu agente, meu modelo consigam acessar as coisas corretas Pra
- 19:30Ele se validar quanto meu pipeline tem um tanto também de
- 19:33ferramentas, né? Determinísticas, enfim, que
- 19:36consigam também criar novas validações quanto também é o de
- 19:39tempos em tempos rodar algumas ferramentas que vão validar a
- 19:42qualidade do meu código. Isso vai direto com a visão da
- 19:45antrópic, né? O modelo de LLM ele é um atleta
- 19:48que a gente vai treinar ele, então nós deixamos de ser um
- 19:51validador final ali para conferir os resultados e ver
- 19:54como é que está indo. E passamos muito mais na função,
- 19:56no papel de um técnico. Então, em vez de desenvolver e
- 20:01escrever o que a gente já tinha deixado de fazer e ou validar,
- 20:03agora a gente tá preparando. Só ALLM, né?
- 20:06É dando um tênis melhor, preparando o campo para ela
- 20:08correr, né? Definindo métricas para ela
- 20:10poder ajustar. E cada vez que ela vai errando,
- 20:12a gente vai colocando um fixo e uma correção ali para ela.
- 20:15É, eu acho assim, né, que no final das contas assim, Ah, mas
- 20:18o entre chaves está então defendendo que a gente não
- 20:21precisa mais validar código, revisar código.
- 20:23Não é exatamente. Isso trazendo novidades.
- 20:26Estamos trazendo novidades, claro.
- 20:29Talvez assim ainda temos muito, né?
- 20:32Espaço para evoluir como comunidade e tecnologia para a
- 20:35gente chegar e falar assim, não, agora realmente chegamos lá.
- 20:39Mas quero deixar aqui um polêmico Twitch do uncle Bob,
- 20:43que é o criador do clean code. Como sempre, voltamos ao?
- 20:46Twitch falando sobre que ele fala assim, gente recente.
- 20:50Eu não, eu não reviso o código escrito pelos meus agentes.
- 20:55Eu meço coisas como cobertura de código, é dependência
- 20:59estrutural, complexidade, ciclomática, tamanho dos
- 21:02módulos, testes de mutação, etc. Muito pode ser inferido sobre a
- 21:06qualidade do código através dessas métricas.
- 21:09O código em si eu deixo para IA. Os humanos são devagar, né?
- 21:13São lentos com o código. Para ter a produtividade, a
- 21:17gente precisa desengajar os humanos do código, ou seja.
- 21:20Cara, gente, não. É o uncle bov.
- 21:23É o uncle bov, é o cara do Queen code, falando que ele não revisa
- 21:27o código dos agentes dele e que ele tem essas métricas de
- 21:30harners para garantir a qualidade.
- 21:32Mas aí qual que é o desafio? Porque a gente sempre escreveu
- 21:37especificação para humanos lerem para humanos escreverem o código
- 21:42humanos revisarem e testarem o código.
- 21:44Quem tem que ler e entender a especificação e a e a.
- 21:49Então como que eu faço pra escrever pra IA e não mais pro
- 21:53humano? Porque muita gente ainda acha
- 21:55que é igual que eu vou, que que escrever especificação pra IA é
- 21:58igual escrever pra humano e não é.
- 22:00Então como que eu vou criar meu harness pra que a IA entenda o
- 22:06que eu quero? Não adianta só você trabalhar
- 22:08demais no espectro e criar toda a especificação pra que a IA
- 22:11entenda. Se eu não consigo explicar pra
- 22:14ya o que que ela tem que testar, e se eu não consigo explicar pro
- 22:18agente que vai estar lá no final fazendo contrato com o cara, que
- 22:21o agente do, do, do, do que testa, o agente que implementa
- 22:25eles tem que conversar entre eles e acertar um contrato.
- 22:27Então assim, se eu não consigo especificar OOO, haarnes de
- 22:31maneira que a ya compreenda o que eu estou escrevendo, o que
- 22:34eu estou pedindo também não, não resolve isso.
- 22:37Como o cobalto falou, é uma mudança de paradigma.
- 22:39Porque aí em vez de você ficar preocupando com detalhes do
- 22:43código, você tem que preocupar com detalhes de como que iava
- 22:46entender o que você quer, porque depois quem vai dar manutenção
- 22:48no código É Ela. E às vezes, mudanças sutis no
- 22:50processo fazem toda a diferença. Teve um outro, um outro caso que
- 22:54eu tava lendo do pessoal tentando aplicar a questão do
- 22:57harners e eles observaram que o consumo de token tavam
- 23:01aumentando demais com essa questão do do, do do agente
- 23:05kodano, agente testando contrato, etcétera e tal.
- 23:09Então o que que eles fizeram? Eles colocaram o progressmd.
- 23:13E aí pra cada atividade, pra cada, pra cada tesk que era
- 23:18gerado o spflow, eles geravam progressmd daquela tesk.
- 23:22Então a medida que Oo agente de implementação implementando ele
- 23:26IA preenchendo um arquivo de progresso do que que ele fez e
- 23:30com qual a linha de pensamento dele e o que que ele tava
- 23:32fazendo quando o cara IA lá pra testar e voltava a tarefa.
- 23:37EE, como essa é uma taifa que estava voltando, ela já existiu
- 23:40um progress para ela. Então, em vez do agente ter que
- 23:43ficar gastando token, reabsorvendo todo contexto, ele
- 23:46IA direto um progress. MD pegava tudo que foi feito
- 23:49dali e dali ele partia. É esse eles normalmente tem, né?
- 23:54Esse tipo de de mecanismo, né? De.
- 23:56Armazenar tipo um teste qmd, que é mais ou menos o que você falou
- 23:59com o loop deu Ralph wigan, né? Que é basicamente assim, eu
- 24:03consigo armazenar o progresso da minha tarefa a ponto de que a
- 24:06minha tarefa ela sempre pode ser começada, como se ela tivesse
- 24:08começando o início, porque eu não preciso de contexto pra
- 24:12fazer uma minha tarefa, porque eu já sei aonde ela tá.
- 24:14Então basicamente assim, né, se eu se eu tô armazenando o meu
- 24:17progresso. Eu basicamente vou literando
- 24:20várias vezes sobre aquilo. Não preciso conhecer nada, vou
- 24:23tentando, tentando por aí vai. Mas a sacada que que esse cara
- 24:26fez foi justamente usar o retorno do kway pra colocar
- 24:32assim, deixa eu ver o que que como que ele pensou e o que ele
- 24:34fez. Ah, ele pensou e fez isso.
- 24:36Então o problema deve estar aqui.
- 24:38Então, já Ah, entendi. Essa foi a sacada da maneira que
- 24:40eles fizeram o hards. Aí o agente que o way falou, ó,
- 24:42contrato é esse. Esse item aqui tá falhando.
- 24:45Aí ele falou assim, beleza, esse item falhou.
- 24:47Então ele vai no progresso e fala, ó, se ele seguiu essa
- 24:50linha de raciocínio, esse assado, então é bem provável que
- 24:53está aqui, já vai direto. E isso reduziu bastante o
- 24:55consumo de tokens. Entendi e.
- 24:57Uma coisa que você falou aí que também o próprio case da open i
- 25:01reforça que é o código sendo criado não para humanos lerem,
- 25:06né? Mas para agentes, o case da open
- 25:08i, que a gente compartilhou aqui.
- 25:10Eles falam explicitamente que o código ele está otimizado para
- 25:12ser lido pelo codex. Primeiro a legibilidade do
- 25:15código, ela é para Oo codex e não para o humano, e é isso, né?
- 25:19Assim que é para mim é o jeito mais otimizado, claro.
- 25:23Ah, mas e o meu legado de novo, né?
- 25:25Aí não, calma o seu legado ainda, né?
- 25:29Vamos precisar trabalhar nele, trabalhar no Rainer, tem outras
- 25:32coisas, mas códigos novos e aí, né?
- 25:36E eu sei, lógico, gente, assim, eu sei o quanto que isso é
- 25:38difícil, eu sei o quanto que não, mas e aí, e se a bolha
- 25:41estourar, como é que vai ser? Eu vou precisar ler esse esse
- 25:43código no futuro, né? Não, mas vamos, né?
- 25:47Passo, passo a passo, mas o fato é que o mercado tá indo por esse
- 25:50caminho, né, que é de criar códigos pra ir a ler, porque É
- 25:55Ela que vai dar manutenção. Então, conclusão, você tá
- 25:58falando que a gente não precisa mais revisar o código que o que
- 26:00o Bob deixou, né? O que o Bob falou está falado.
- 26:04E agora sim, trazendo um pouco mais do prático, né?
- 26:06De como então, né. Tanto da open i quanto esse
- 26:09outro caso da strip que eu mencionei, eles fazem o harness
- 26:12o da open i basicamente, né? Falando assim, algumas coisas
- 26:15que eles criaram, basicamente eles tinham o agente MD, né,
- 26:18como alimentação, como guia, né? Eles tinham aí a arquitetura em
- 26:22camadas, com a direção de Independência única de como que
- 26:25a arquitetura funcionava. Eles tinham algumas variantes
- 26:28codificadas de como que a nomenclatura dela deles era, ou
- 26:31seja, só eram alguns guias que eles tinham, e como sensores
- 26:35eles tinham uns linteres customizados.
- 26:37Testes estruturais, um deve tools no Chrome, um protocolo de
- 26:41deve tools pra pra conseguir fazer os testes, né?
- 26:44De de browser de como que seriam.
- 26:46Eles tinham uma esteque de observabilidade local que eles
- 26:49conseguiam é consultar logs e fazer integração desses logs com
- 26:54o modelo e além disso, como inferências.
- 26:57Né? Eles tinham aí LLMS como juízes,
- 26:59coisas assim, né? Eles tinham agentes como esse,
- 27:02esse esse exemplo que você falou, né?
- 27:04Eles tinham um agente de revisão, que aí era um agente
- 27:06específico para revisar o código, então são coisas que
- 27:10eles tinham aí como guias e como sensores que eles fizeram para
- 27:14esse harners é funcionar bem e eles conseguirem produzir, né?
- 27:17Essa aplicação sem com que nenhum humano tocasse no código,
- 27:21né? Só revisasse sempre interagindo
- 27:24com AIA. Importante falar que esse case
- 27:26eles. Produziram a aplicação final
- 27:29deles em 10% do tempo que eles tinham estimado, né?
- 27:32Ou seja, 11 ganho aí bastante expressivo.
- 27:39É, e a gente tem que ter bem consciência disso, que a gente
- 27:41tá falando tem um custo, né? Porque assim a gente tem que
- 27:44pensar a quantidade de de de processo, a quantidade de
- 27:48touken, a quantidade de CPU e GPU que vai ser gasta por todo
- 27:52esse processo, em gerar isso tudo de maneira autônoma.
- 27:56Né? Isso tem um custo EEO, custo não
- 27:58é pequeno, assim OA utilização de um rames completo e robusto.
- 28:01Está vendo aqui, por exemplo, os testes que o próprio pessoal da
- 28:04anthrop que fez desenvolvendo aqui 111 aplicativo como se
- 28:08fosse um aplicativo de jogo igual.
- 28:09A pesquisa de teste aumentou em quase 20 vezes o custo do que
- 28:15uma IA autônoma. Mas aí que está.
- 28:18Adianta você gastar 20 vezes menos e jogar dinheiro fora,
- 28:21porque o dinheiro está ruim e senão também você vai gerar uma
- 28:24coisa que depois você vai ter que sair um Mano mudando tudo,
- 28:27ou você vai ter que jogar fora e fazer de novo?
- 28:29Aí você está gastando errado. Então é é pesar também, tipo
- 28:33assim. Até onde eu consigo ir com o meu
- 28:36custo para garantir o mínimo de de confiabilidade de qualidade
- 28:40aceitável, para que também eu não gere mais custo para frente,
- 28:44tenho que refazer. Com certeza, mas uma coisa que
- 28:46eu gostei aqui do pessoal do the Stripe que eles falaram, né?
- 28:49Nesse sentido de análise de custo e análise da efetividade,
- 28:54eles falaram o seguinte, que eles usam esses minions, né?
- 28:57No mundo em que os recursos mais limitados.
- 29:01São a atenção dos desenvolvedores, então os
- 29:04agentes desatendidos permitem a paralisação das tarefas
- 29:08justamente porque é isso, né? Assim, eles ainda consideram que
- 29:12o custo de uma pessoa, o custo da atenção dela, né?
- 29:16Dela estar engajada numa tarefa ainda é mais caro do que o custo
- 29:20da computação dessa tarefa ser feita, né?
- 29:23Seja o curso da LLM, seja o curso das das ferramentas
- 29:26determinísticas, enfim, das idees e tudo mais, então eles
- 29:30ainda. Essa relação ainda é favorável,
- 29:32né? Assim pro pra automação, né das
- 29:36tarefas e não pra execução manual.
- 29:38Talvez se um dia essa relação não, essa relação for quebrada,
- 29:42né? Se for mais barato eu ter uma
- 29:44pessoa fazendo do que ter uma LM fazendo, né, do que ter uma
- 29:47ferramenta de a fazendo aí, aí talvez a conversa mude.
- 29:50Pra deixar registrado no episódio antes dele acabar?
- 29:53Eu nunca chamei uma IA de minion quando a revolução das máquinas
- 29:56começarem, lembre se disso. Mas uma coisa que eu acho também
- 29:59que é importante a gente falar, o mercado tá vendo isso, né?
- 30:02A gente já falou aqui de modelos de trabalho, de topologia, de
- 30:06times que são é diferenciados agora na era de a, né?
- 30:10Sobre um fluxo nativo de a, sobre times muito mais enxutos.
- 30:15E o fato é esse, assim, né, que a gente tá vendo tudo isso com
- 30:18harners, né? E bons exemplos aqui de aumentos
- 30:22de produtividade. Extremamente expressivos, né?
- 30:25A gente já leu lá no quando a gente fez o episódio do IA 2027,
- 30:30que eles falavam lá que ALLM 1 hora vai.
- 30:33Os crescimentos são tão exponenciais que a velocidade do
- 30:36código vai aumentar. Acho que era 30 vezes.
- 30:38Talvez a gente esteja quase chegando lá, né?
- 30:41Ele falava, se eu não me engano, era era em 2027 que ele falava
- 30:45que a velocidade de produção de software IA chegar a 30 vezes.
- 30:48Saudades quando esse artigo era apenas ficção.
- 30:50Fernandinho, pois é, então a gente tá vendo realmente, né?
- 30:53Essas coisas se tornando cada vez mais realidade, softwares
- 30:57sendo produzidos cada vez mais rápido, o que vai nos levar
- 31:01invariavelmente para mudanças de processo, né?
- 31:04Não faz sentido nenhum. Por exemplo, o que eu produzi em
- 31:072 semanas, eu produzo em 1 hora, né?
- 31:09Não faz o menor sentido, então são processos que precisam ser
- 31:13revistos. Não faz muito sentido eu ter
- 31:15times extremamente especialistas, com cada pessoa
- 31:17fazendo um pedacinho de coisa, porque aí eu tenho um tanto de
- 31:21handof, um tanto de desperdício. Quando às vezes eu vou ter
- 31:24poucos profissionais full Stack que vão fazer tudo.
- 31:27Ou seja, a gente tá vendo mesmo mudanças de processo de
- 31:30topologia, né? De jeito de fload de como eu
- 31:33desenvolvo software. Enfim, estamos vendo uma
- 31:36transformação completa, meus amigos.
- 31:38Próximo you da IA vai ser IA my nority report quando você vai
- 31:42pedir para ela ela já sabe o que você quer e já te entrega já
- 31:44está pronto seu código que antes.
- 31:46De você pedir, mal posso esperar.
- 31:47Imagina, está aqui, ó, ligada no meu pensamento, você vai pensar
- 31:51assim? Imagina, eu já sei o que que
- 31:53você já sabia que você IA querer isso está aqui o seu código.
- 31:55Seu serviço da semana que vem está pronta, né?
- 31:57E com isso terminamos. Então aqui esse episódio sobre
- 32:00harnes Engineering. Muito legal, muito massa.
- 32:03Espero que vocês tenham gostado. Até a próxima.
- 32:05Tchau, tchau. Valeu pessoal, até mais.
- 32:07Até a próxima.