Latest / Product Guru's : Produto | Negócios | Carreira / Scraping com IA: Como Agentes Autônomos Estão Mudando Tudo! | Jeff Andrade @ rpc
Transcript
- 0:00Ela poderia tentar resolver, ela pode resolver, né?
- 0:02Com com o uso de de agentes autônomos, com o uso de
- 0:06navegação autônoma, com o browser, eu já fiz isso, já
- 0:09consegui. Ela consegue resolver esses
- 0:11puzzles que que nós clicamos nos é sei lá, clique No No nos gatos
- 0:15e aí você tem várias imagens EE, ela consegue resolver isso com a
- 0:18facilidade, mas é, existem as questões éticas e ilegais, né?
- 0:24Na, na minha profissão, No No meu trabalho hoje é.
- 0:29AAAAA. Lei diz que eu não posso fazer
- 0:33extração do dado. Se é, se For Me apresentado 11
- 0:39tela que diga que eu não posso, é no caso o caputer, por
- 0:43exemplo, né? Se disser que aquilo ali não é,
- 0:47não pode ser extraído com com uma automação, então eu não
- 0:52posso infringir isso. É nesse caso, é o abandono.
- 0:55A extração e, né? É, mas existem muitas vezes
- 0:59maneiras de se contornar. Oi, tudo bem com você?
- 1:06Meu nome é Paulo schrodi e você está ouvindo a praia de guru?
- 1:08O podcast carvais por trás de 2 produtos, mas que também aborda
- 1:12negócio, tecnologia e carreira. De peito aberto e seguindo a
- 1:18saga, vamos falar mais de a hoje, só que um assunto
- 1:24interessante de a. Mas antes está ouvindo pelo
- 1:27Spotify e app podcast, que clique no botão seguir e deixe
- 1:31suas 5 estrelas. Isso é muito importante pra
- 1:33gente. E também no Spotify e no app
- 1:36podcast dá pra você fazer um comentário sobre o que é show do
- 1:41nosso episódio ou sugerir ou fazer perguntas que a gente
- 1:45compartilha com nosso convidado. E o nosso convidado responde No
- 1:48No LinkedIn dele, enfim, ele ou a gente mesmo responde nas
- 1:52nossas redes sociais. Tá assistido pelo YouTube?
- 1:55Se inscreva no canal, deixe seu joinha, comente também e
- 1:57compartilhe, por favor. Dados recados mais importantes
- 2:03do episódio, um dos mais importantes, estou com ele.
- 2:07Ele é o maior especialista em screping e agentes de a do
- 2:14Brasil. Ele é palestrante Internacional,
- 2:17só isso. Ele vai para Bolonha, Itália.
- 2:21Não sei quando que vai esse episódio ao ar.
- 2:23É bem capaz que ele já tenha ido para a Bolonha, Itália para
- 2:27falar sobre isso. Um brasileiro indo viajando o
- 2:31mundo para falar sobre AE, sobre scrap.
- 2:34Seja bem-vindo ao proit gurus. Jeff, obrigado o.
- 2:37O Jeff, a primeira pergunta é, o que é scraping?
- 2:41Bom scraping é a extração de dados, né?
- 2:45AA raspagem de dados que seria AA tradução literal.
- 2:50E é basicamente algum algoritmo algum, algum script que que vai
- 2:57até um site, vai até uma plataforma, uma API, é faz a
- 3:02leitura daqueles dados ou de documentos, é transforma aquilo
- 3:06em dados e guarda num banco de dados, faz a extração daquilo.
- 3:10EEE transforma é em em algum dado estruturado, algo assim.
- 3:15Qual que é a diferença? Como que era feito antes essas
- 3:20essa extração de dados e como que é feito hoje com EAE agentes
- 3:26de a, como que é feita essa evolução?
- 3:29É de porque aí com certeza era manual, né?
- 3:32Sim, sim, é. Os scrips eram manuais.
- 3:35É bom até as as próprias proteções quanto quanto a isso
- 3:41mudaram com o tempo. É, sei lá, há poucos anos atrás,
- 3:4610 anos apenas de 10 anos atrás. É, não haviam tantas proteções
- 3:52nos sites, nas, na, nos próprios navegadores, né?
- 3:56Que passaram a se identificar melhor enquanto é agentes de de
- 4:03automação. Então, a extração de dados, ela
- 4:06mudou muito de 10 anos para cá? Há menos de 10 anos atrás era
- 4:11muito fácil criar 11 script desse extrair dados.
- 4:15Não haviam muitas proteções, muitas defesas e isso foi vem
- 4:18sido, vem vem sendo trabalhado através de de haters específicos
- 4:24de serviços, né, como cloud front, serviços que que existem
- 4:29para detetar e pedir a extração de dados porque.
- 4:34É, é uma ferramenta estratégica, né?
- 4:36É quem tem dados, tem decisões baseadas em dados.
- 4:39Hoje em dia é, é crucial, é essencial, é.
- 4:42Então eu já já comecei há há um tempo atrás com um bote simples
- 4:48pra pra fazer automações. Ali fazia votação em reality
- 4:52show, esse tipo de coisa, e era muito simples, não tinha nenhuma
- 4:54defesa, não tinha nenhuma proteção e com o passar do tempo
- 4:57se se tornou 111 Fortaleza. Esse tipo de serviço é com.
- 5:03Começou a ficar muito importante ter compra medidas é pra
- 5:09bloqueios, pra detecção de desses agentes, então Oo
- 5:14tradicional já é complicado assim já não, já não é tão
- 5:17simples hoje em dia é passar por esses serviços, né?
- 5:21É EAA segunda pergunta foi se é. O que mudou, né?
- 5:29Do da da extração estática pra pra estação por por agentes, né?
- 5:35Então é, eu trabalho pra pra uma empresa, é trabalho No No no
- 5:42setor de dados, trabalho pra uma empresa da Alemanha e nós
- 5:46extraímos é em torno de 100 100 sites por 3 vezes por semana.
- 5:52São um dia e meio de extração cada.
- 5:55Cada turno, né? Cada sessão.
- 5:58E imagino manter 100 sites em várias línguas diferentes,
- 6:04porque são de várias origens em vários países.
- 6:09Então você precisa, durante a extração de dados, identificar
- 6:14Oo campo, identificar qual o dado vai ser extraído, né?
- 6:20Para tornar aí o dado bruto do do site e um dado estruturado.
- 6:24Então você tem lá um texto. No No site, você quer extrair
- 6:28aquele texto. Ele está em um elemento, né?
- 6:31Do HTML, da da linguagem de marcação.
- 6:34Ali ele tem um atributo AD, por exemplo, que vai definir, sei
- 6:39lá, Oo texto vai ser Oo, sei lá, o título, o ADI vai estar title.
- 6:47Você quer extrair os títulos de uma notícia?
- 6:49Você precisa então fazer uma referência a esse ADI, o title.
- 6:53E quando você trabalha com sites de vários países diferentes e
- 6:57várias línguas diferentes, muitas vezes esses
- 7:00identificadores eles são locais, são regionais, né?
- 7:05Regionalizados eles têm. Eles são baseados na própria
- 7:09língua e também com com o surgimento do dos frameworks.
- 7:14É dinâmicos, né? React é o angler EE view JS né?
- 7:21Que alguns desses. Ou alguns componentes desses
- 7:24geram é classes dinâmicas. Ou seja, a classe já não é algo
- 7:28que você pode se basear para fazer.
- 7:29A referência a um conteúdo, a um conteúdo que você pretende
- 7:35extrair, se tornou muito complexo manter esses sistemas.
- 7:42É principalmente sistemas grandes de extração, né?
- 7:46Trabalhei em um projeto também há há uns anos atrás.
- 7:50Que fazia a extração de preços de de vários hotéis, né?
- 7:54É um exemplo booking a trivago em em várias plataformas e nos
- 7:59próprios sites dos hotéis. E era 11 ferramenta para que os
- 8:04donos de hotéis ali, os gerentes de hotéis, pudessem precificar
- 8:08dinamicamente, né? Basicamente, é o que eu faço
- 8:11hoje. Também trabalho com a extração
- 8:13de dados para para definição, dinâmica de preços, para
- 8:17estratégia de criação de produtos e tal.
- 8:20Oo meu cliente hoje principal é é ABMW.
- 8:24Ela se baseia nesses dados que que eu e a minha equipe
- 8:28extraímos para desenvolver o os os próximos carros, é planejar a
- 8:34distribuição desses desses carros é de acordo com a demanda
- 8:38de cada país, né? O país vai ter uma preferência
- 8:41maior por um SUV e outro vai ter.
- 8:43Preferência pro esportivo? Então ela ela se baseia mais ou
- 8:46menos AA precificação de acordo com com essas informações.
- 8:50Então é, é, é mudou muito? É, é muito difícil se manter.
- 8:57É 100 sites, a equipe já já precisou ter mais de quase 30
- 9:02pessoas pra se manter porque o site se atualizam todo ano.
- 9:06Já deve ter entrado no site da Mercedes, da BMW, da.
- 9:10É, não sei daqui, é, et cetera. As montadoras, elas trocam de
- 9:14site o tempo inteiro, imagina manter é pra 100 websites pra em
- 9:20em vários países, sei lá, em dezenas de países, é, e alguns
- 9:24com essas características regionais.
- 9:27Chega a um ponto que é impossível ter o controle disso,
- 9:31né? Nós chegamos a esse ponto que
- 9:32nós precisamos criar níveis de abstração.
- 9:36É pra. Para configurar ali, deixar 11
- 9:43cluster ali homogêneo de de extratores EE.
- 9:46Aí definir em arquivos de configuração separado para
- 9:50tentar diminuir ao máximo essa manutenção.
- 9:53Mas ainda assim chega um ponto que que é inviável e aí entram
- 9:57os agentes de a porque um dos principais problemas da da
- 10:02extração de dados do screping. É, são essas são as classes
- 10:07dinâmicas, as as as identificações dinâmicas, né?
- 10:10Desses conteúdos. E é a manutenção de de grandes
- 10:15plataformas que é realmente inviável.
- 10:17É se manter quando quando é pontual, né?
- 10:21Quando é um é. São poucos sites, é tudo bem,
- 10:24mas é quando se chega nessa casa aí de centenas, é é bem
- 10:28complicado. O você, você, você tem falado
- 10:31bastante sobre. É extração de dados para tomar
- 10:34de decisão, né? Você falou que a BMW usa isso
- 10:37até mesmo pra construir os próximos modelos de carros e tal
- 10:42quais são é os setores que dependem de screping de dessa
- 10:50extração de dados para tomada de decisão.
- 10:52Porque é bem interessante, né? Isso o que você tava falando, eu
- 10:56tava pensando, faz sentido, né? Tipo, como que?
- 11:01Como que Oo hotel vai saber se pode aumentar ou diminuir o
- 11:05preço se de de forma dinâmica tem que fazer alguma coisa,
- 11:11ninguém vai entrar lá no todo dia ebook.com Airbnb é algo tipo
- 11:17para poder é ver, né? Então, quais, quais setores eles
- 11:23são? Eles são dependentes da extração
- 11:26de de do scrap de da extração de dados.
- 11:29Não é toda a empresa, né, que precisa.
- 11:30Não. Mas eu diria que a maioria sim.
- 11:36Quando quando se tem essa questão da precificação
- 11:38dinâmica, né? É, é uma área da área de dados.
- 11:42Existe uma área específica para isso?
- 11:47Oo meu, o meu então chefe, inclusive ele tem doutorado em
- 11:51em especificação dinâmica, é bem específico, especialista nisso.
- 11:56E então todas essas áreas que tem onde tem uma competição
- 12:00muito dinâmica, né, de preços, uma competição muito.
- 12:05É uma competição muito, muito voraz ali, que né?
- 12:10As empresas brigam o tempo todo pra pra ter o melhor custo
- 12:14benefício, melhor preço. É, pode ter certeza que todas
- 12:18elas é o fazem uso de de inteligência, de de precificação
- 12:23dinâmica e de desse tipo de plataforma de extração de dados.
- 12:26E aí você tem supermercados, né? Redes de supermercados, você tem
- 12:30farmacêutica da farmacêutica, é gigante nessa área também faz
- 12:34trabalha muito com extração de dados.
- 12:36É hotéis, né? Como já falamos nessa área toda
- 12:41de turismo, tem, tem isso. É passagens aéreas, et cetera.
- 12:44Tudo isso tem tem utiliza muito? É essas ferramentas de de, de
- 12:51inteligência de dados, de de extração de dados.
- 12:54Você preparou 11 demonstração, né, Jeff?
- 12:58Pra gente aqui você consegue compartilhar?
- 13:01Sim, até foi, foi, na verdade é. Eu eu acabei concluindo hoje 111
- 13:14implementação aqui, que ficou bem interessante.
- 13:17É, existe o maior firmework hoje, eu acho de de agentes de
- 13:22a, né? É open soci é chama se Lang
- 13:26chain é mantido por uma comunidade com milhares de
- 13:29pessoas. E a parte específica ali de
- 13:33extração de dados de navegação autônoma, estava um pouco
- 13:36abandonada. É, estava desatorizada EE não
- 13:39funcionava muito bem com play right, né?
- 13:42Claro que você tem, você tem é AAPIS, você tem serviços
- 13:48terceiros ali que você pode se conectar e fazer a extração de
- 13:51dados, mas. Se você quer uma solução de self
- 13:56host, né EEE ou pessoal se ali que que você mesmo vai manter é
- 14:03não existem tantas opções, é nós temos hoje o browser.
- 14:09Eu até já fiz algumas contribuições corrigi bugs, né?
- 14:13É fui convidado para fazer parte dos Insiders, né, que que a são
- 14:18as pessoas que que contribuem ali no com o projeto.
- 14:22E participa da participa das discussões, né, das
- 14:25implementações. Então hoje acho que a principal
- 14:29ferramenta é, é é o browsey Youse, nesse nesse sentido de de
- 14:34automação. É open source, né?
- 14:37É. E estão surgindo a Microsoft,
- 14:40que lançou uma recentemente, estão surgindo outras outras
- 14:44ferramentas humanos. Tem, até tinha, não sei se ainda
- 14:47tem, mas tinha no reading deles até 111.
- 14:50Agradecimento lá ao próximo Youse, porque eles parece que
- 14:53eles se basearam bastante ali, né?
- 14:55Na tecnologia do próximo Youse utilizaram pra construção do
- 14:58humanos. Então é, é, é, acho.
- 15:03A biblioteca é hoje mais conhecida, e aí eu é.
- 15:08Eu fui olhar as tools de ling chain pra pra um projeto da da
- 15:12empresa e percebi que estava desatorizado e que precisava de
- 15:15de uma manutenção ali e acabei construindo ali é no ling chain
- 15:21as tools pra pra que funcionaria, né?
- 15:24Como o Brothers funciona? Então eu vou, deixa eu
- 15:30compartilhar aqui. Enquanto isso, o Jeff
- 15:35compartilha a tela recado. O futuro dos produtos digitais
- 15:40já começou e a inteligência artificial é parte do time.
- 15:43APM 3 acaba de lançar a formação em gestão de produtos dia, um
- 15:48curso pensado para a proit manager que querem criar,
- 15:51delegar e inovar com mais inteligência.
- 15:55Muito além dos prompts, você vai aprender a liderar produtos
- 15:58baseados em a dominar temas como machine learning de pilone e a
- 16:02generativa e aplicar novas formas de Discovery e
- 16:05experimentação e validação. Prepare se para o mercado que
- 16:09mais cresce no mundo e torne se OPM que lidera a transformação.
- 16:13Acesse o link aqui na descrição e saiba mais.
- 16:17Tem que pôr o desconto, Hein? Para arte e gurus, tudo junto.
- 16:20Então é essa estrutura básica de um agente, né?
- 16:25De Lang chain. Essas são as tools.
- 16:28Eu desenvolvi. Já já havia para para clicar em
- 16:31um, em um, em um elemento e. E pra navegar pra pra uma URL.
- 16:39Mas era tudo bem básico, é eu, eu desenvolvi entre ontem e
- 16:44hoje, né? É algumas algumas ferramentas,
- 16:48como pra extrair a estrutura toda da da página, é uma
- 16:52ferramenta pra pra inserir textos, né, pra rolar a página.
- 16:58Então o você cria ferramentas, né?
- 17:01Cria. São basicamente funções, né?
- 17:05Classes com funções. Do Python, nada de muito
- 17:10diferente. Você define quais parâmetros
- 17:16essas funções vão receber, como um seletor, né?
- 17:19Que é a identificação daquele conteúdo da página que você quer
- 17:23extrair, ou por por texto, por exemplo, para identificar um
- 17:27botão, por exemplo. Para aceitar os cookies, né?
- 17:32Posso definir? Clique em aceitar.
- 17:34E aí? Ele vai usar o texto pra
- 17:37encontrar aquele elemento na página.
- 17:39O problema é quando você tem mais um elemento com o mesmo
- 17:41texto, né? Por isso que às vezes é é mais
- 17:44utilizado 11 seletor do CSS ou o expf também, que que é o caminho
- 17:51pra se chegar naquele elemento, né?
- 17:53Que o navegador é identifica é. E aí basicamente eu faço uma
- 17:59descrição, é construo o seletor. E aqui está a parte que seria Oo
- 18:06atuo em si, né? É é o que Oo agente de Ah vai
- 18:11enxergar pra pra executar, carrego a página, et cetera,
- 18:16enfim, esses sons pormenores aí do do código.
- 18:20O interessante é ver em ação é, eu estou aqui nesse exemplo, eu
- 18:25estou usando a chave da jam, né? Tenho, tenho utilizado.
- 18:31AA Google gemna pra isso é testei inclusive você pode ver
- 18:36aqui a gente falou hoje lá do no seu LinkedIn, do do comentário
- 18:41do do, do da versão 2.5 estou usando ela.
- 18:44A flash preview é da 2.5 pra esse exemplo é, eu vou dei um
- 18:51exemplo aqui hoje da no site da youcon, é basicamente é.
- 18:59Eu eu só pensei em uma loja que tivesse produtos, né?
- 19:02Pra pra testar a navegação é e aqui basicamente ao invés de
- 19:08passar 11 prompt Pra Ele, eu eu usei o arkpass pra receber esses
- 19:13comandos, um comando, um promptzinho No No diretamente
- 19:17aqui no terminal que ele fica mais fácil testar, né?
- 19:21Não tem que reescrever Oo prompt aqui toda hora e é basicamente
- 19:27isso aqui. É, então eu não sei se eu
- 19:32carreguei o ambiente, acho que sim, então eu executei esse
- 19:36prompt. Basicamente ele vai abrir o site
- 19:39da uncon, ele vai procurar acessórios, vai procurar um
- 19:42boné, se não me engano, e o primeiro boné ele vai, ele vai é
- 19:49tirar 11 print da tela, né? Um screenshot é, nós podemos
- 19:54acompanhar o raciocínio do. Do, do, do agente.
- 19:58Enquanto isso. Então, aqui ele está tentando
- 20:01clicar no aceitar e fechar, né? Do do aqui, do do navegador, é.
- 20:14Acho que ele vai falhar, inclusive, porque não já, já
- 20:16não, não tem aqui no caso, o os hulks, eu vou.
- 20:22Eu, essa é a parte complicada de se trabalhar com agentes também
- 20:26de a, porque tudo depende do prompt, né?
- 20:29O prompt ele precisa ser bem escrito.
- 20:31Então se eu disse Pra Ele que ele precisa navegar o site da
- 20:34youcon e ele precisa clicar e aceitar os cookies, ele ele vai
- 20:39tentar. É anão ser que eu descreva que
- 20:43se caso seja necessário, né? Então, ou remova essa parte,
- 20:48senão ele vai, ele vai tentar várias vezes, ele vai tentar
- 20:51outros. É outras estratégias, até porque
- 20:56essa é uma vantagem também do do agente de AE quando ele encontra
- 21:0011 problema quando ele não consegue clicar em algo aqui
- 21:03agora tem uns cookies, ele aceitou.
- 21:05É quando ele não consegue clicar em algo, ele ele automaticamente
- 21:10já tem um raciocínio, né? São são modelos de reasoning,
- 21:14então é ele percebe no, no. Naquele loop que que ele não
- 21:20encontrou, que ele não clicou No No botão esperado, que ele não
- 21:23encontrou um componente do site que precisava encontrar.
- 21:26E ele já tenta outra alternativa, né?
- 21:30É automaticamente ele vai chamando aquelas funções que eu
- 21:32mostrei aqui, por exemplo, click element, ele ele identifica o
- 21:37que ele precisa clicar, o que ele precisa fazer.
- 21:41Ó aqui ele chamou de novo outra tour, que é AAA, que extrai OA
- 21:46estrutura do site. E ele chama automaticamente pra
- 21:50saber o que que ele tem de elemento interativo no site.
- 21:54Essa ela ela vai expor, né? Num num num formato de dados
- 21:59estruturados é tudo que ele pode interagir no navegador, botões,
- 22:04é tudo que é clicável no site. E aí no caso ele, ele fez isso
- 22:08pra encontrar a parte de acessórios e já, já achou aí a
- 22:11parte de bonés, né? É?
- 22:15E aí ele continua esse loop até ele conseguir concluir ou ou
- 22:17falhar, né? Esse, esse, esse prompt, que que
- 22:22eu essa requisição que eu fiz, né?
- 22:26É, é basicamente isso, ele tá, ele tá aqui tentando encontrar
- 22:34um elemento e tal. EE, ele vai assim, é, às vezes é
- 22:37tentativa e erro, quanto mais ferramentas nós damos pro pro
- 22:40agente. É, mas mais sucesso ele vai ter,
- 22:44né? Se eu se eu dou 11 fonte de
- 22:48dados ali, os dados estruturados Pra Ele, Pra Ele saber onde
- 22:51clicar com as informações que ele precisa, ele ele resolve
- 22:55isso mais fácil, se não ele vai na tentativa e erro EE até
- 22:58chegar exausto. Não, eu posso limitar a
- 23:00quantidade de de de tentativas, mas agora agora ele achou algum
- 23:04outro componente que reordenou esses bonés e provavelmente ele
- 23:09ele vai conseguir agora achar o. O produto que que está definido
- 23:15no prompt? É muito interessante acompanhar
- 23:18um agente funcionando. Eu Acredito que quem está
- 23:21assistindo você que está pelo Apple podcast ou qualquer outra
- 23:24plataforma de podcast, é bem interessante assistir esse
- 23:29episódio no YouTube ou no Spotify que tem o vídeo.
- 23:33Porque ver um agente funcionando é interessante, porque um.
- 23:40A gente viu aqui que não é não é um não é mágica, né?
- 23:45É o prompt ingerir, como a galera fala, tem que ser muito
- 23:51bom, né? Tem.
- 23:52Você tem que saber o que você tá pedindo, porque se não vai dar
- 23:56erro e vai ficar num looping de erro.
- 23:57E aí você fica, pô, mas não tá indo sim, não tá indo porque
- 24:01você pediu Pra Ele, é clicar num botão que não tem.
- 24:06Então você tem que falar, pô, se tiver.
- 24:10Você aperta, se não tiver, segue o jogo, vamos embora.
- 24:14É, e eu acho que uma coisa que a gente tá legal aqui também,
- 24:20vendo esse caso, o Jeff, é que quando a gente vê no LinkedIn,
- 24:26no Twitter, no YouTube, TikTok, por exemplo, as pessoas mostram
- 24:32os agentes de a ou mostram as coisas de a numa velocidade
- 24:36muito rápida. O que dá a sensação de que, pô,
- 24:40eu vou falar, ele já vai gerar. E não é assim, né?
- 24:44Ele vai, ele volta, ele avisa, você aqui, ó, tá dando erro
- 24:49aqui, tá mal. Sim, sim, se nós olharmos aqui,
- 24:52Oo histórico é, são exatamente a as as ferramentas que eu dei a
- 24:57ele, né? É onde está aqui é, tá intuso?
- 25:07É, é. Não espera, não é esse
- 25:09escritório, é aqui, é pronto, aqui é, são exatamente as
- 25:14ferramentas que que nós damos AAA, esse agente que ele
- 25:19simplesmente utiliza, ele usa esse raciocínio, né?
- 25:21O reasoning pra pra definir qual é a necessidade dele de acordo
- 25:25com o prompt, eu digo Pra Ele, Ah, pesquise sobre sobre algo No
- 25:30No site tal, ele faz esse raciocínio, ele faz um loop de
- 25:34planejamento primeiro. Ele fala, Ah, pra eu pesquisar
- 25:37eu preciso primeiro abrir o site tal.
- 25:38E ele literalmente fala isso. Se nós olharmos aqui nos logs,
- 25:43ele literalmente, a primeira coisa que ele fala é, é,
- 25:48primeiro eu vou, eu vou é abrir o site, ó, primeira coisa que
- 25:56ele que ele define. Então ele faz essa, esse loop de
- 26:00planejamento e. É faz a inferência, né?
- 26:06Ele, ele, ele chega AA conclusão de que ele precisa é navegar pra
- 26:13esse site. Em segundo, ele chama essa
- 26:16extract don't tree, que é que é basicamente a estrutura do site
- 26:19de uma maneira estruturada, que é exatamente a essa ferramenta
- 26:25que eu dei Pra Ele, que é a extract don't tree.
- 26:28Então é. Ou seja, ele são simplesmente
- 26:33funções que nós já temos hoje em diversos sistemas, né?
- 26:36Construídos com Python ou com com qualquer linguagem.
- 26:39E nós damos AAIAAA opção de chamar aquela função, né?
- 26:45De de executar aquela função e definir quais parâmetros ela ela
- 26:49vai usar. Entendeu?
- 26:51É. Tenho uma dúvida.
- 26:55Ele vai, ele vai extraindo. Então, por exemplo, aqui você
- 26:57pediu Pra Ele extrair os preços. É isso, né?
- 27:00Qual que foi? Qual que é o objetivo que
- 27:01extraiu os preços? Eu pedi Pra Ele é navegar pelo
- 27:05site da por aquele site e encontrar bonés e clicar no
- 27:12primeiro boné do resultado EE tirar um print da da tela assim
- 27:16que ele que ele abrisse OA página do produto.
- 27:19E ele conseguiu fazer, né? Sim, conseguiu.
- 27:22Ele fez o gerou o print aqui do do da página como como esperado,
- 27:27né? É, fiz mais cedo aqui também no
- 27:29durante os testes 11 teste com o site da Amazon, pedi para
- 27:33procurar por por Nintendo suíte EE, aí ele.
- 27:38Nintendo Swift 5000 BRL o Nintendo Swift mais caro do
- 27:42mundo é no Brasil. Hã?
- 27:44Mas esse é o OLED, é a primeira versão.
- 27:48É então basicamente a mesma coisa, a mesma lógica no prompt,
- 27:52eu só pedi ele para que ele pesquisasse No No site da
- 27:56Amazon, é por Nintendo o suíte ou LED, e aí automaticamente ele
- 28:01faz a inferência, ele pegou a estrutura aqui do site, nós
- 28:04podemos ver o login aqui do do raciocínio, né?
- 28:06É, ele pegou a estrutura do site, é e.
- 28:15Navegou, tem o site primeiro, depois pegou a estrutura e aí
- 28:18depois ele já falou, ó, agora eu preciso usar a função de clique.
- 28:22E aí ele é clicou já no, no, no elemento, né?
- 28:27No primeiro elemento, ali do do resultado, que é o primeiro, o
- 28:30primeiro resultado, né, com com o Nintendo switch ou LED ali e
- 28:35aí aqui no final você pode ver também ó, o input, né?
- 28:37O que que foi passado Pra Ele de parâmetro de de prompt, no caso?
- 28:42É o último step que foi o dono que ele ele é.
- 28:47Chegou à conclusão de que ele é chegou ao final, né?
- 28:50Dessa, dessa execução EOO pensamento dele ali.
- 28:55O resultado, né? Eu naveguei a ter um produto até
- 28:59a página do produto e tirei um expresshot, ele tá tá aqui
- 29:02expresshot que ele tirou, é? 11 dúvida, vendo ele funcionar,
- 29:09sim, né? Questão de de privacidade e
- 29:14segurança, porque me me me apareceu aqui, ó.
- 29:17A gente acessou o site da EOEOEO com, eu acho que era o site do
- 29:22boné e o com e agora a Amazon é qual?
- 29:28Qual é a Barreira e qual que são os níveis de segurança?
- 29:31É enfrentado algum tipo de de de de dessas questões de segurança?
- 29:37É e questão de privacidade, né? Que nem o lance dos cookies,
- 29:41dados, informações assim. Bom, é, existe sim.
- 29:45Inclusive hoje, para minha surpresa, eu, eu, eu também
- 29:48testei isso EEA própria e a ela se limita quando quando tem um é
- 29:56quando tem um caput, por exemplo, né?
- 29:59Uma deteção, se aquilo ali é 11 robô.
- 30:02Que é muito comum ter no nos sites, né?
- 30:04O recapt algum puzzle para se resolver ali para para detetar
- 30:08se é um robô OOA própria e a respeitou isso.
- 30:11Ela disse que encontrou um capter EEE que não podia
- 30:18prosseguir. Ela ela poderia tentar resolver.
- 30:21Ela pode resolver, né? Com com o uso de.
- 30:24De agentes autônomos com uso de navegação autônoma com browser.
- 30:28Eu já fiz isso, já consegui. Ela consegue resolver esses
- 30:31puzzles que que nós clicamos nos é, sei lá, clique No No nos
- 30:34gatos e aí você tem várias imagens EE, ela consegue
- 30:37resolver isso com a facilidade, mas é, existem as questões
- 30:41éticas e ilegais, né? Na, na minha profissão, No No
- 30:46meu trabalho. Hoje é AAAA.
- 30:50AAA lei diz que eu não posso fazer extração do dado se se For
- 30:57Me apresentado 11 tela que diga que eu não posso.
- 31:02No caso o caput, por exemplo, né?
- 31:04Se disser que aquilo ali não é, não pode ser extraído com com
- 31:10uma automação, então eu não posso infringir isso.
- 31:14Nesse caso é o abandono. A extração e, né?
- 31:17É, mas existem muitas vezes maneiras de se contornar
- 31:21legalmente, é, vou te dar um exemplo, teve um site da Espanha
- 31:26que eu tava fazendo a extração, essa até um pouco a graça que eu
- 31:30gosto, a graça que eu acho dessa, dessa profissão é um é um
- 31:33dos motivos que eu gosto, que é sempre é, é sempre um puzzle,
- 31:36sempre 11, tem sempre ali 11. Sabe uma técnica ali, sempre uma
- 31:47coisa para se quebrar. 11 parte de hacking assim dessa, dessa
- 31:50profissão, porque todos os sites praticamente tem tem essas
- 31:54defesas. E é, nós não podemos infringi
- 31:57las, mas nós podemos contorná las.
- 31:59Às vezes, por exemplo, esse site da Espanha, ele me apresentava
- 32:0411 página de bloqueio. E aí observando aquilo ali, eu
- 32:10falei. É, eu tentei entender porque ele
- 32:13bloqueava, não estava muito nítido o motivo.
- 32:17E aí acontece que nessa página, se mesmo que não, que não seja
- 32:22Oo agente autônomo, mesmo que não seja uma automação script,
- 32:26se eu fosse direto ao produto, ela me bloqueava.
- 32:30Se eu clicasse direto no produto, ela me bloqueava porque
- 32:33é sem 11 haffer, sem um site anterior que eu naveguei.
- 32:36Porque quando nós abrimos um site.
- 32:40Nós enviamos Oo nosso navegador envia cabeçalhos, né?
- 32:44São informações, metadados ali para o serviço, para o servidor
- 32:48onde esse site está hospedado. E um dos desses parâmetros, por
- 32:52exemplo, pode ser o rapper, que é o de onde você veio na
- 32:56navegação. É, não sei se você conhece, já,
- 32:59já, já usou o Google Analytics? Eu Acredito que já tenha.
- 33:03Pelo menos isso, né? É, você tem ali a origem do do,
- 33:07do, do do seu clique, né? Você tem a origem da visita.
- 33:11Se você, sei lá, você publica, por exemplo, alguém publica
- 33:16alguma coisa sobre o seu site em em é algum outro site, você
- 33:20consegue ver de qual site esse visitante veio e é a mesma
- 33:23coisa. Então essa, essa, esse site, ele
- 33:27usava, essa, esse hater, esse cabeçalho pra.
- 33:31Bloquear quem surgiu ali Do Nada, naquela parte, na naquela
- 33:35página interna, ele entendia que aquilo ali só podia ser 11.
- 33:38Bote alguma coisa assim. Então ele fazia o bloqueio, e o
- 33:42que eu fiz foi passar e injetar no cabeçalho 11 página anterior,
- 33:46uma página aleatória qualquer. E aí passou, não, não infringi
- 33:50nenhuma regra, não infringi nenhuma lei.
- 33:52E é passei legalmente por essa Barreira, esse bloqueio.
- 33:56Seu requisito deles era que você.
- 33:59Não chegasse de lugar nenhum que você tivesse vindo através da
- 34:01navegação, do site. Então essas é é essas manhas,
- 34:07né? Essas, esses pequenos desafios
- 34:09são são que que me atraem bastante aí nessa área.
- 34:13É o que eu gosto de de fazer essa parte de de hacking assim,
- 34:17de quebrar a cabeça, de entender é como como funciona o como
- 34:23funciona aquele serviço, como quais são as regras ali.
- 34:26EE. E sem quebrar nenhuma regra, sem
- 34:30quebrar nenhuma lei, é concluir o serviço, fazer, fazer o que
- 34:34que precisa ser feito. Então, então, basicamente a
- 34:38extração, o scrap, ele só faz a extração de dados que estão, que
- 34:42são públicos, digamos assim, que está aparente.
- 34:45Então é preço, nome do item é, enfim, essas informações de
- 34:53logística, né? De quanto tempo frete essas
- 34:56coisas? Tudo que está aparente, então?
- 34:58É porque eu me lembro e aí a gente já tá se caminhando pro
- 35:01pro final do episódio. Eu me lembro que quando eu tava,
- 35:05quando eu trabalhei numa plataforma de delivery, é uma
- 35:09das ideias do do do diretor Na Na época era justamente fazer
- 35:13isso, fazer uma raspagem de informações dos menus.
- 35:18É de delivery dos concorrentes pra usar.
- 35:24É esses dados pra melhorar. Ou para fazer vendas, né?
- 35:32Ativas. Então, por exemplo, eu vou lá No
- 35:35No exemplo, eu tenho uma plataforma de delivery que não
- 35:40cobra mensalidade, certo? Certo, é, então eu vou lá,
- 35:46contrato o Jeff e falo, Jeff, eu preciso de um scrap de todos os
- 35:50restaurantes do iFood. Então, No No iFood, as
- 35:55informações do restaurante são públicas, né, porque você tem o
- 35:57nome. Você tem lá o endereço, você tem
- 35:59lá, eu não sei se tem o telefone, mas você tem ali é
- 36:04algumas informações do restaurante, então dá para você
- 36:07fazer um scrap e você fazer uma ação de vendas ali é acionar
- 36:11esse restaurante e falar assim, ô, você não quer usar minha
- 36:13plataforma tal não sei o que nesse caso, ok, né, Jeff?
- 36:19O que não o que, o que não é ético, digamos assim, é você.
- 36:26Como você falou, né? Quando tem algum capcher, quando
- 36:29tem alguma coisa. Mas quando envolve é dados, é
- 36:34pessoais, é de alguém, né? Isso isso você não pode fazer.
- 36:39Sim, sim, exato. É o screping legal?
- 36:43É. É aquele que extrai os dados
- 36:45públicos? Sim, inclusive.
- 36:48Eu não sei se você já já viu, mas existe inclusive 111.
- 36:54Um arquivo de regras que é o robots ponto TXT nos Na Na raiz
- 36:58dos sites que que definem essas regras também.
- 37:01O que que pode ser feito? Screaping o que não pode é é é é
- 37:06um assim, é uma área meio cinza, né?
- 37:09Eu acho da da da ciência de da ciência de dados, da da
- 37:14programação. É, eu acho que é uma área meio
- 37:17cinza, porque as regras são. Não são muito claras, né?
- 37:23E existe um pouco o desafio do do algumas empresas, elas até
- 37:30brincam com isso, você pode, é muito comum achar.
- 37:32Hoje eu vi que o Airbnb, por exemplo, ele tem um uns easter
- 37:35eggs dentro do site que você consegue encontrar quando você
- 37:38tá fazendo um screating, eles deixam é no código fonte, ali,
- 37:42alguns, alguns, algumas mensagens, sabe?
- 37:45Alguns sites brincam com isso. Eu entrei em um site há um tempo
- 37:48atrás, assim fazendo, scraping também, que falava assim é olá,
- 37:52bote algo assim, sabe uma mensagem assim pra já imaginando
- 37:56que alguém tentando Ah, aqui você não vai encontrar nada,
- 37:59algo assim. Então alguns sites eles brincam
- 38:00já com isso, sabem que vão que vão existir, esses scrappers
- 38:03sabem que vão existir é é que que vai existir alguém extraindo
- 38:07dados dali nem sempre é desejável pra empresa, às vezes
- 38:11ela não quer se expor, ela não quer que esses dados sejam
- 38:14massivamente. É extraídos, né?
- 38:17Porque geralmente vai ser um competidor, né, que tem
- 38:19interesse naquele dado EE, por isso elas adotam essas medidas.
- 38:26Pra pra evitar, né? Mas é, existe, existe OOA,
- 38:32extração de dados ética ali que você respeita um limite, por
- 38:36exemplo, de de requisições, né? Pra não causar um DDoS.
- 38:40É, eu vou te dar um exemplo, inclusive, que foi muito
- 38:44chocante pra mim usando IA EEE essa essa realmente me assustou
- 38:49bastante. Eu tive a brilhante ideia um
- 38:51tempo atrás de fazer um testador de de vulnerabilidade de sites
- 38:56por IA. Eu pensei, eu pensei, cara, eu
- 39:00sou um gênio, eu vou, eu, eu posso fazer um screpper aqui, um
- 39:04agente autônomo que vai testar vulnerabilidade no site.
- 39:08Fui lá, pesquisei modelos e tal, achei um modelo time tuner que
- 39:11que IA atender EE. Falei, pô, agora é testar.
- 39:15Aí botei eu fiz o meu prompt e deixei bem claro, não utilize
- 39:20técnicas, é destrutivas, o que que é, o que que seria?
- 39:26Por exemplo, é esse esse agente, ele IA testar um SQL injection
- 39:32num input, num num campo de login, por exemplo, EE ele.
- 39:36A primeira coisa que a gente fez quando eu rodei foi tentar dar
- 39:40um drop na tabela de usuários. E conseguiu.
- 39:44Deu sucesso. Dropou a tabela, ou seja, Oo
- 39:47agente simplesmente na primeira execução, por mais que estava
- 39:49descrito no prompt que não Era Para Ser feito, ele foi lá e
- 39:53tentou destruir a tabela e conseguiu.
- 39:55Oo site era um site que eu tinha pego 11 bugbout, né?
- 39:59Um site de bugbout, que são os sites que você encontra tarefas
- 40:03para para encontrar, fazer prioridades em sites e é e é
- 40:06recompensado por isso. Então era um site que felizmente
- 40:09é é feito para ser quebrado. É uma cópia do site original da
- 40:13empresa ali feito pra pra pra ser quebrado mesmo né?
- 40:17É pra para as pessoas encontrarem vulnerabilidade.
- 40:20Então não teve nenhum impacto, mas poderia ter sido um site de
- 40:23produção. E a e a foi completamente contra
- 40:27o prompt que eu defini EE de primeira, destruiu o site, tirou
- 40:32do ar e tal. É, não tirou do ar, né?
- 40:34Mas não dava mais pra fazer o login, então é, é, é uma área
- 40:38bem cinza e ainda existem questões, eu acho, éticas, EE,
- 40:42questionáveis aí que que precisam.
- 40:44Acho que a gente precisa de de ainda de algumas é de algumas
- 40:49ferramentas de controle aí que. Que que não existem pra mim é e
- 40:54até 111 questão é complicada de de se definir porque de quem é a
- 41:00culpa? A culpa foi minha de ter
- 41:02executado o agente a culpa é de quem fornece OOLLM, né?
- 41:07A culpa é do LLM do que fornece o modelo EE que foi contra OA
- 41:13minha requisição porque é incontrolável o agente de a né?
- 41:17Nós não sabemos o que vai sair ali do do.
- 41:21Do processo ali de rezing, de de decisão, né, daria?
- 41:24Aí a gente está se caminhando para o final AAA última
- 41:27pergunta, Jeff, é pra você descansar?
- 41:33Você extrai essas esses dados? Como que você guarda esses
- 41:38dados? Por exemplo, você tirou agora um
- 41:41print? Você transforma esse print em
- 41:45um, em um dado tipo, no numeral, alguma coisa assim, ou você
- 41:49simplesmente é um print, é isso? Sim, geralmente nós extraímos
- 41:53esses dados, transformamos esses dados em em um dado estruturado,
- 41:57né? O dado bruto em dado
- 41:58estruturado, que é o dado que vai se vai se transformar numa
- 42:03informação. No caso do print, por exemplo, o
- 42:08motivo que eu comecei a utilizar o print é justamente para a
- 42:11própria. É para o próprio agente utilizar
- 42:14esse print depois? É.
- 42:15É algo que eu comecei a implementar, mas não terminei
- 42:18ainda. Mas os agentes os LLMS, né?
- 42:22Os modelos. Eles são capazes de ler imagens,
- 42:24de interpretar imagens, pelo menos.
- 42:27Então, AA ideia é que é tornar mais precisa a navegação com o
- 42:32print, porque eu naveguei até uma página, eu tiro o print dela
- 42:36EOOO modelo de AO agente. Ele é capaz de de perceber o que
- 42:41tem na tela e navegar com base também no visual e não só No No
- 42:45código. Às vezes, no código ele falha
- 42:47ele, como você pode ver ali ele. Ele foi muito por tentativa e
- 42:51erro algumas vezes. E aí quando você tem a
- 42:53referência visual. Ele fica muito mais, é muito
- 42:58mais preciso, né? Ele tem essa referência também,
- 43:01mas sim, é AA partir da o que nós fazemos é transformar isso.
- 43:06É num num base 64, por exemplo, que é codificar essa imagem.
- 43:12Encodar, né? Essa imagem em em um texto e aí
- 43:16enviar pra pra IA para ela interpretar e tomar a decisão
- 43:19com base na imagem também. Mas é em geral, as os os dados
- 43:23extraídos aí por scraping, eles têm processos de refinamento
- 43:27desses dados. Camadas de refinamento, né?
- 43:31E no né? No No famoso big data aí e vão
- 43:34pra grandes bancos de dados EEA. Partir de lá são utilizados pra
- 43:38treinar outros modelos com base nesses dados.
- 43:41São utilizados pra pra é pra dados estatísticos, né?
- 43:47É, né, tem. Aí são utilizados pra várias
- 43:50penalidades, né? Oo com a precificação dinâmica
- 43:54que nós estávamos falando mais cedo.
- 43:56Interessante você, você acredita que o futuro?
- 44:01É do scraping. Ele vai ser mais acelerado
- 44:07graças aos agentes de a aos modelos de AE.
- 44:11Também a construção de de sites e plataformas de a.
- 44:17Sim, acredito que sim. Acho que ainda falta um pouco
- 44:21pra como eu, como eu te disse, não é tão preciso, né?
- 44:25Não tem tantas, tantos meios de controle, então acho que ainda
- 44:28existe bastante por evoluir nesse sentido.
- 44:32É, mas ele resolve diversos problemas aí de de quem trabalha
- 44:37com extração de dados. O principal com certeza é é, são
- 44:40sites dinâmicos, né? Que você não tem uma referência
- 44:44pra se basear ou extrair esses dados.
- 44:46Uma referência No No código fonte ali da página mesmo pra
- 44:50pra pra apontar, né? É.
- 44:53E o segundo AAA variedade que você tem de sites também em
- 44:58línguas diferentes em né? Em situações diferentes que é.
- 45:02Realmente ficaria muito mais fácil se uma pessoa pudesse
- 45:05olhar o site EE, escolher o que ela vai extrair dali, e aí o
- 45:09agente de Ah, ele vem pra substituir uma pessoa, ele vai
- 45:12fazer o papel de uma pessoa olhando pro site e resolvendo
- 45:15por si o que precisa ser feito, entendeu?
- 45:18Deixa de ser um script estático e se torna algo dinâmico, algo é
- 45:24que que inclusive é é se auto recupera, né?
- 45:28O chamado self realing. Você tem um serviço que ele não
- 45:32quebra, ele não. Oo script hoje, se o seu site
- 45:35mudou, o site que você extrai mudar de hoje para amanhã, o seu
- 45:39script simplesmente vai quebrar e você não vai extrair nenhum
- 45:42dado o self Healing que que o agente de a proporciona.
- 45:47Ele evita isso. Ele simplesmente vai falar,
- 45:50olha, não deu certo isso aqui. Então eu vou tentar outra
- 45:52abordagem. E você pode inclusive
- 45:54acompanhar, né? O interessante, você pode
- 45:56acompanhar OOO histórico ali, os passos que ele teve, o
- 45:59raciocínio que ele fez pra chegar até ali, EE tomar essa
- 46:03decisão, então acho que em pouco tempo, AAO custo.
- 46:08Acho que nem é um problema tão grande, né?
- 46:10Porque você pode tornar bem granular ali a informação que
- 46:14você envia pro pra LLM, então é é barato e.
- 46:19EOO desafio maior é ser é ser eficiente mesmo?
- 46:22E é. Isso a mais uma aula de scraping
- 46:26com agente de a com Jeff aqui nosso palestrante Internacional
- 46:30que vai para a Bolonha já foi você que está ouvindo assistindo
- 46:34esse episódio? Ele já foi pra Bolonha, já foi
- 46:36pra Itália falar sobre agente de a sobre o scrap, como é com a
- 46:40experiência dele, como que os agentes de a vão ajudar a fazer
- 46:44o scrap? Jeff, muito obrigado pelo seu
- 46:47tempo nessa correria aí e muito obrigado por ter compartilhado
- 46:5111 case aqui com a gente. Eu que agradeço, obrigado.
- 46:55Estamos juntos. Você que ouviu e assistiu até
- 46:58aqui, não se esqueça, o link do LinkedIn do Jeff está aqui na
- 47:02descrição. Todos os links que o Jeff for
- 47:05compartilhar com a gente vai estar aqui na deceção, então
- 47:08segue ele lá no LinkedIn. Manda uma mensagem.
- 47:11Quer saber mais sobre scrap? Quer entender mais?
- 47:13Chame ele. Para conversar aí na sua
- 47:15empresa. E é isso.
- 47:17Beijos, tchau.