1import{_ as u}from"./eYsEycAj.js";import{b as m,a as l,c as p,ad as t,d as a,e as o,g as s,w as r,f as g,s as c}from"./CBN-PSyP.js";import{_ as v,a as f,b as A}from"./B9dPn1a9.js";import"./CqkleIqs.js";const b={class:"post"},z={__name:"ai_hype_is_real_but_for_the_wrong_reason",setup(x){const{withLocale:i}=m();return(_,e)=>{const n=u,d=c;return l(),p("section",b,[e[16]||(e[16]=t('<div class="tldr"><p><strong>TL;DR</strong> IA não é inteligente, <strong>não pensa</strong>, não entende nada e não está prestes a virar um ser super inteligente. A IA generativa consegue <strong>transformar caos em dados bem definidos</strong>, e isso é enorme! Com LLMs multimodais, <strong>qualquer coisa pode virar entrada</strong> de um sistema que antes só aceitava tipos de dado especÃficos e limitados. Não é tão chamativo quanto a conversa sobre um ser super inteligente, mas vai mudar tudo. <strong>Bem-vindo à revolução dos dados estruturados</strong>.</p></div> <h2>As origens da estrutura</h2> <p>Nosso mundo é <strong>puro caos</strong>. à um fluxo infinito de dados não estruturados vindos de todo lado: conversas, imagens, experiências. A história das revoluções tecnológicas é a história de impor estrutura nesse caos. Veja a Revolução Industrial: ela transformou trabalho manual livre em <strong>processos definidos</strong>. As pessoas deixaram de fabricar produtos inteiros para puxar uma alavanca ou montar uma única peça, repetidamente.</p> <img src="'+v+'" alt="Ilustração de processos estruturados"> <p>A internet fez isso de novo. Pegou o jeito bagunçado e orgânico com que as pessoas interagem e transformou em <strong>unidades estruturadas</strong>: curtidas, comentários, tweets. Remodelou a comunicação humana, reduzindo trocas sociais complexas a métricas e ações predefinidas. A beleza e a utilidade dessa transformação estão na simplicidade, mesmo que ela sacrifique nuance. Ao enquadrar as interações num formato estruturado e previsÃvel, a internet tornou tudo isso <strong>programável e escalável</strong>.</p> <img loading="lazy" decoding="async" src="'+f+'" alt="Exemplo de interações estruturadas na internet"> <h2>O paradigma do software</h2> <p>Construir <strong>software moderno</strong> é a mesma ideia: pegar a complexidade do mundo real e martelar até ela caber em casos de uso rÃgidos e especÃficos.</p> <p>O trabalho é mais sobre abstração do que sobre escrever código. Cada funcionalidade de um app ou sistema é uma decisão de recortar uma fatia da realidade e congelar essa fatia em lógica. Por trás de todo botão de âsalvarâ existe um conjunto de <strong>suposições</strong> sobre fluxos, tipos de dado e comportamento do usuário. O desafio do desenvolvimento de software moderno é decidir <strong>quais partes da realidade</strong> modelar e quais ignorar. à essa redução deliberada que torna os sistemas úteis.</p> <img loading="lazy" decoding="async" src="'+A+'" alt="exemplo aleatório de diagrama de casos de uso"> <p>Mas essa abordagem tem limite. A <strong>complexidade</strong> do mundo real costuma resistir a esse tipo de redução. Pense em edge cases, inconsistências ou cenários imprevistos, coisas que não encaixam direitinho nas caixinhas predefinidas. A IA estende o alcance do software estruturado em vez de substituÃ-lo. Ela dá conta do <strong>ambÃguo e do não estruturado</strong>, das partes da realidade que o software tradicional nunca conseguiu domar.</p> <h2>A revolução dos dados estruturados</h2> <p>A revolução que a IA traz expande esses processos já conhecidos em vez de substituÃ-los. A IA <strong>transforma conteúdo</strong> não estruturado em dado estruturado e, o que importa tanto quanto, faz o caminho de volta. à a próxima camada em cima do jeito como construÃmos <strong>tecnologia</strong> até aqui, e ela alcança lugares que a tecnologia não conseguia tocar antes.</p> <p>Estou muito <strong>otimista</strong> com o futuro porque isso derruba a barreira entre âonlineâ e âofflineâ. Durante décadas gastamos bilhões tentando arrastar empresas e pessoas para o <strong>mundo digital</strong>. Agora não precisamos mais; a IA faz essa ponte pra gente.</p> <p>O poder de conectar qualquer coisa ao sistema é grande demais. Isso viabiliza ou escala muito mais casos de negócio.</p> <h2>Novo poder</h2> <p>Vamos pensar em alguns problemas que antes eram <strong>impossÃveis de escalar</strong> ou medir. Foco nos casos em que só uma pessoa consegue entender o contexto, mas agora dá para ter uma pista ou pelo menos priorizar antes de alguém olhar.</p> ',34)),a("ol",null,[a("li",null,[e[1]||(e[1]=a("p",null,[o("Quer medir as "),a("strong",null,"métricas das calls"),o("? Com a transcrição da reunião, dá para extrair as métricas que importam para a sua empresa.")],-1)),e[2]||(e[2]=o()),s(n,null,{default:r(()=>[...e[0]||(e[0]=[o(` 2transcript = <<~TRANSCRIPT 3salesperson: Hi there! ... 4lead: Hello, my name is ... 5salesperson: Nice to meet you, ... 6... 7TRANSCRIPT 8puts ActiveAI::DataExtractor.call( 9 transcript, 10 { 11 salesperson_demonstrates_active_listening: { 12 type: 'Integer', 13 max: 10, 14 min: 1 15 }, 16 next_clear_step: { 17 type: 'String', 18 enum: ['Schedule a demo', 'Send a proposal', 'Follow-up in 3 days'] 19 } 20 } 21) 22# { salesperson_demonstrates_active_listening: 8, next_clear_step: "Schedule a demo" } 23 `,-1)])]),_:1})]),e[12]||(e[12]=o()),a("li",null,[e[4]||(e[4]=a("p",null,"Quer montar um inventário sem ter um sistema? Beleza, tire uma foto todo dia de um papel com as anotações.",-1)),e[5]||(e[5]=o()),s(n,null,{default:r(()=>[...e[3]||(e[3]=[o(` 24inventory_notes = File.open('inventory_notes.jpg') 25markdown = ActiveAI::ImageTranscribe.call(picture) 26puts ActiveAI::DataExtractor.call( 27 markdown, 28 { quantity_of_apples: { type: 'Integer', min: 0 } } 29) # => { quantity_of_apples: 3 } 30 `,-1)])]),_:1})]),e[13]||(e[13]=o()),a("li",null,[e[7]||(e[7]=a("p",null,[o("Tem um monte de "),a("strong",null,"relatórios de 1:1"),o(" e precisa ver todos, mas de forma priorizada?")],-1)),e[8]||(e[8]=o()),s(n,null,{default:r(()=>[...e[6]||(e[6]=[o(` 31one_on_one_reports = [ 32 { score: nil, transcript: 'Overall, it\\'s been all good...' }, 33 { score: nil, transcript: 'I noticed that you have been struggling...' }, 34 { score: nil, transcript: 'Last week I was on the beach...' }, 35] 36criteria = <<~CRITERIA 37Evaluate the internal NPS score based on the one-on-one report. 38Score 10 for positive and promoter employee and 0 for negative and detractor employee. 39CRITERIA 40one_on_one_reports.each_with_index do |report, index| 41 one_on_one_reports[index][:score] = ActiveAI::Scorer.call(report, criteria) 42end 43 44prioritized_reports = one_on_one_reports.sort_by { |report| report[:score] } 45 `,-1)])]),_:1})]),e[14]||(e[14]=o()),a("li",null,[e[10]||(e[10]=a("p",null,[a("strong",null,"Ordenar uma lista de fretes"),o(" mostrando primeiro o mais barato ou o mais rápido? Ranking:")],-1)),e[11]||(e[11]=o()),s(n,null,{default:r(()=>[...e[9]||(e[9]=[o(` 46shipping_fees = [ 47 { name: 'Standard', price: 0, days: 5 }, 48 { name: 'Express', price: 10, days: 2 }, 49] 50criteria = <<~CRITERIA 51Choose the shipping option, act like a real customer and make a fair guess. 52The shipping is for a pen priced at $1. 53CRITERIA 54ranked_items = ActiveAI::EloRanking.call(shipping_fees, criteria) 55puts ranked_items 56# => [{ name: 'Standard', score: 1600 }, { name: 'Express', score: 1000 }] 57 58criteria = <<~CRITERIA 59Choose the shipping option, act like a real customer and make a fair guess. 60The shipping is for a MacBook priced at $1000. 61CRITERIA 62ranked_items = ActiveAI::EloRanking.call(shipping_fees, criteria) 63puts ranked_items 64# => [{ name: 'Express', score: 1580 }, { name: 'Standard', score: 1020 }] 65 `,-1)])]),_:1})])]),e[17]||(e[17]=o()),e[18]||(e[18]=a("p",null,[o("Eu poderia continuar com muito mais exemplos, mas acho que você entendeu. A gente ganha um "),a("strong",null,"superpoder"),o(" para trabalhar com o abstrato, criando determinismo onde antes não dava. Claro que "),a("strong",null,"não é perfeito"),o(" e pode alucinar em alguns contextos. Mas isso não deveria ser um problema: o melhor lugar para a IA generativa é justamente onde a resposta não é explÃcita.")],-1)),e[19]||(e[19]=o()),s(d,{to:g(i)("/post/data-extraction"),class:"back-link"},{default:r(()=>[...e[15]||(e[15]=[o(` 66 Leia mais sobre extração de dados 67 `,-1)])]),_:1},8,["to"]),e[20]||(e[20]=t(" <h2>Abrace a flexibilidade</h2> <p>A IA vai comer o mundo, não porque é inteligente, mas porque é <strong>flexÃvel</strong>
67. Vamos gerar e consumir muito mais dado, vindo de todo lugar, inclusive de mercados offline.</p> <p>A revolução não é tão glamourosa quanto a mÃdia costuma pintar. Máquinas autônomas produzindo tudo pra gente soa incrÃvel, mas não é a realidade. O <strong>algoritmo transformer</strong> que move a IA generativa é, por construção, incapaz de ser âinteligenteâ ou de estar vivo.</p> <p>O que ele consegue fazer é gigante: criar dado estruturado a partir de qualquer coisa. Isso já está tendo um impacto enorme na sociedade, e eu acredito que <strong>para melhor</strong>. Quero fazer parte disso, e é por isso que produzo esse tipo de conteúdo e crio bibliotecas open source para ajudar outros engenheiros.</p> <p><strong>Bem-vindo à revolução dos dados estruturados!</strong></p>",10))])}}};export{z as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.