<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[IA Aplicada | Guilherme Favaron]]></title><description><![CDATA[Newsletter sobre negócios impulsionados pela IA]]></description><link>https://www.guilhermefavaron.com.br</link><image><url>https://substackcdn.com/image/fetch/$s_!W-v6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F465cc2ae-3dfb-4925-a14e-e9a4d8ae9458_500x500.png</url><title>IA Aplicada | Guilherme Favaron</title><link>https://www.guilhermefavaron.com.br</link></image><generator>Substack</generator><lastBuildDate>Fri, 29 May 2026 19:12:24 GMT</lastBuildDate><atom:link href="https://www.guilhermefavaron.com.br/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Guilherme Favaron]]></copyright><language><![CDATA[pt]]></language><webMaster><![CDATA[guifavaron@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[guifavaron@substack.com]]></itunes:email><itunes:name><![CDATA[Guilherme Favaron]]></itunes:name></itunes:owner><itunes:author><![CDATA[Guilherme Favaron]]></itunes:author><googleplay:owner><![CDATA[guifavaron@substack.com]]></googleplay:owner><googleplay:email><![CDATA[guifavaron@substack.com]]></googleplay:email><googleplay:author><![CDATA[Guilherme Favaron]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Por onde eu começo?]]></title><description><![CDATA[A pergunta que mais me fazem em jantar de fam&#237;lia, e o que eu finalmente fiz com ela.]]></description><link>https://www.guilhermefavaron.com.br/p/por-onde-comecar-com-ia</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/por-onde-comecar-com-ia</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Thu, 14 May 2026 01:52:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ahAC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Oi, bom te ver de novo por aqui.</p><p>Hoje eu quero te contar de uma coisa que vinha rascunhando h&#225; meses e que finalmente saiu do Notion essa semana. Mas antes de mostrar o que &#233;, preciso te contar a cena que fez isso existir, porque sem ela o resto n&#227;o faz sentido.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ahAC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ahAC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 424w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 848w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 1272w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ahAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png" width="1456" height="776" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b035b5d-8a81-4c40-b1ed-42d682af6c6b_1463x780.jpeg&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:776,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120001,&quot;alt&quot;:&quot;academia de ia&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/197617496?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b035b5d-8a81-4c40-b1ed-42d682af6c6b_1463x780.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="academia de ia" title="academia de ia" srcset="https://substackcdn.com/image/fetch/$s_!ahAC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 424w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 848w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 1272w, https://substackcdn.com/image/fetch/$s_!ahAC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a796d94-543b-4c39-8aec-1d77dd2cdaad_1463x780.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">academia-ia.mindapps.ai</figcaption></figure></div><h2>A cena</h2><p>&#201; sempre quase igual. Um jantar de fam&#237;lia, um caf&#233; com um amigo de um amigo, uma DM no LinkedIn no domingo de noite. O contexto muda, a pessoa muda, mas a frase chega numa vers&#227;o de:</p><p><em>&#8220;Gui, eu sei que IA &#233; importante. Mas eu n&#227;o entendo nada disso. Por onde eu come&#231;o?&#8221;</em></p><p>E a&#237; vem o sil&#234;ncio constrangido, porque a pessoa do outro lado j&#225; se ouviu pedindo a mesma coisa pra duas ou tr&#234;s pessoas antes, e nenhuma delas conseguiu responder de um jeito que cabia. A resposta padr&#227;o &#233; &#8220;ah, faz um curso&#8221;, e a pr&#243;xima frase &#233; sempre uma vers&#227;o de &#8220;fiz, mas larguei no m&#243;dulo tr&#234;s&#8221;.</p><p>Eu passei muito tempo respondendo essa pergunta de improviso. Mandando link de v&#237;deo, recomendando um artigo, sugerindo o livro X ou o canal Y. E percebi uma coisa desconfort&#225;vel: cada vez que eu respondia, eu estava tentando empacotar pra essa pessoa um caminho que eu mesmo nunca tinha desenhado direito. Eu sabia o que tinha funcionado pra mim, mas eu sou engenheiro, tive paci&#234;ncia pra coisas que ningu&#233;m tem paci&#234;ncia, e o caminho que serviu pra mim n&#227;o serve pra um diretor financeiro com tr&#234;s filhos e duas reuni&#245;es antes do almo&#231;o.</p><h2>O que existe l&#225; fora n&#227;o resolve</h2><p>Toda vez que eu sentava pra recomendar alguma coisa, batia o problema:</p><p>Os cursos pagos s&#227;o caros e longos. Quem t&#225; come&#231;ando n&#227;o consegue se convencer de gastar dois mil reais antes de saber se IA &#233; mesmo pra ele. E os de cem horas viram cemit&#233;rio de aba aberta.</p><p>Os cursos gratuitos no YouTube s&#227;o bons, mas est&#227;o soltos. Cada um come&#231;a do zero, ningu&#233;m te leva da m&#227;o. Quem nunca tocou no assunto n&#227;o sabe o que assistir primeiro nem o que pular.</p><p>Os artigos s&#233;rios s&#227;o t&#233;cnicos demais. Falam de transformer, de embedding, de RAG. Boa parte da pessoa que me pergunta n&#227;o precisa disso. Ela precisa saber se confia ou n&#227;o confia, se vai economizar tempo ou n&#227;o, e onde encaixar no dia de quinta-feira.</p><p>E os conte&#250;dos populares s&#227;o vazios. Hype, hype, hype, &#8220;vai mudar tudo&#8221;, &#8220;10 prompts que v&#227;o revolucionar a sua vida&#8221;. A pessoa sai sem aprender nada, e ainda fica achando que tem alguma coisa errada com ela por n&#227;o estar empolgada.</p><p>A conclus&#227;o, depois de meses ouvindo a mesma pergunta, foi simples: ningu&#233;m precisa de mais um curso de doutorado em transformer. Precisa de <strong>um caminho</strong>. Pequeno, di&#225;rio, com come&#231;o, meio e fim.</p><h2>O que eu constru&#237;</h2><p>Chama <strong>academia-ia</strong>. &#201; uma trilha de 30 dias.</p><p>Cada dia &#233; uma aula de 10 a 20 minutos. Voc&#234; abre, l&#234;, assiste, faz um exerc&#237;cio pequeno, fecha. No dia seguinte tem outra. N&#227;o tem fila, n&#227;o tem turma, n&#227;o tem prazo. Voc&#234; come&#231;a quando quiser, e se atrasar dois dias o programa te espera.</p><p>No fim dos 30 dias voc&#234; n&#227;o vai ser pesquisador da OpenAI. Mas vai entender:</p><ul><li><p>o que &#233; IA generativa de verdade, sem a mitologia da imprensa</p></li><li><p>como escrever prompts que funcionam, e por que os seus n&#227;o funcionam hoje</p></li><li><p>onde encaixar IA nas coisas que voc&#234; j&#225; faz: email, decis&#227;o, an&#225;lise, pesquisa, cria&#231;&#227;o</p></li><li><p>quando confiar e quando duvidar, como detectar alucina&#231;&#227;o antes que ela te custe credibilidade</p></li><li><p>e o que vem depois disso: agentes, automa&#231;&#227;o, fluxos que rodam sozinhos</p></li></ul><p>&#201; pra quem se sente atr&#225;s. O gestor que sentiu o ch&#227;o fugir nos &#250;ltimos doze meses. O profissional que abre o ChatGPT todo dia mas tem a impress&#227;o de t&#225; usando 5% do que d&#225;. O empreendedor querendo entender onde IA encosta no neg&#243;cio dele de verdade, e n&#227;o em deck de palestra. O curioso que sempre adiou isso pra &#8220;quando tiver tempo&#8221;.</p><p>Se voc&#234; &#233; engenheiro de ML procurando matem&#225;tica de transformer, esse curso n&#227;o &#233; pra voc&#234;. Mas &#233; prov&#225;vel que voc&#234; ou&#231;a as mesmas perguntas que eu ou&#231;o.</p><h2>Por que 10 a 20 minutos por dia</h2><p>Porque eu sei como voc&#234; &#233;. E sei porque eu sou igual.</p><p>Voc&#234; se inscreve num curso de doze horas com a melhor das inten&#231;&#245;es. Abre o primeiro m&#243;dulo num s&#225;bado de manh&#227;, faz duas horas, sai pra almo&#231;ar achando que voltou a vida acad&#234;mica. No domingo perde o segundo m&#243;dulo porque a fam&#237;lia apareceu. Na segunda come&#231;a o terceiro, mas tem uma reuni&#227;o. E quando voc&#234; v&#234;, passou um m&#234;s, a aba do navegador continua aberta na se&#231;&#227;o 4, e voc&#234; j&#225; n&#227;o lembra mais o que tinha no 3.</p><p>Dez minutos por dia, por outro lado, cabe. Cabe no caf&#233; da manh&#227;, cabe entre uma reuni&#227;o e outra, cabe no Uber. Disciplina pequena entrega resultado grande, e isso eu aprendi n&#227;o num livro de produtividade mas construindo coisa por aqui, um pequeno commit por vez, durante anos.</p><p>Trinta dias tamb&#233;m tem uma gra&#231;a que eu s&#243; fui notar depois: &#233; mais ou menos o tempo que um h&#225;bito leva pra virar segunda natureza. Se voc&#234; for honesto com os 30 dias, no Dia 30 IA n&#227;o vai mais ser &#8220;aquela coisa que eu preciso aprender&#8221;. Vai ser uma ferramenta que voc&#234; abre sem pensar, do mesmo jeito que voc&#234; abre Google ou WhatsApp.</p><h2>Por que de gra&#231;a</h2><p>Essa &#233; a parte que mais incomodou algumas pessoas pr&#243;ximas quando eu contei.</p><p>&#8220;<em>Mas Gui, voc&#234; t&#225; deixando dinheiro na mesa.</em>&#8221; Talvez esteja. Mas tem tr&#234;s coisas que valem mais do que esse dinheiro.</p><p>A primeira &#233; que eu acredito, e acredito do jeito que d&#243;i um pouquinho, que IA n&#227;o pode ser privil&#233;gio. A janela pra entrar nessa onda &#233; estreita. Quem ficar de fora agora vai ficar de fora por uma d&#233;cada, e quando voltar a olhar a ponte j&#225; vai estar do outro lado. Eu n&#227;o quero isso pra ningu&#233;m que tenha vontade de aprender e que esteja sendo barrado s&#243; por pre&#231;o. Cobrar duzentos reais por isso ia filtrar exatamente as pessoas que mais precisam.</p><p>A segunda &#233; que eu queria fazer alguma coisa de anivers&#225;rio que n&#227;o fosse s&#243; comer bolo. Construir uma coisa e deixar de presente no mundo me pareceu mais bonito do que o post no Instagram com a frase motivacional de &#8220;novo ciclo".</p><p>A terceira, e essa &#233; a de verdade, &#233; uma frase da minha m&#227;e que eu cresci ouvindo: <em>fa&#231;a o seu melhor sem esperar nada em troca</em>. Ela tava certa, e levei bastante tempo pra entender. Cobrar virou quase um reflexo no mundo de startup, e &#224;s vezes a gente se esquece de que tem coisa que voc&#234; faz simplesmente porque &#233; a coisa certa de fazer. Esse curso, no momento da minha vida em que eu t&#244;, &#233; uma dessas.</p><p>Sem cadastro de cart&#227;o. Sem upsell. Sem &#8220;premium&#8221; escondido atr&#225;s de paywall. &#201; o curso inteiro, pra sempre, na unha.</p><h2>Bora?</h2><p>A academia t&#225; no ar em <a href="http://academia-ia.mindapps.ai/">academia-ia.mindapps.ai</a>.</p><p>Se voc&#234; &#233; a pessoa que sempre se prometeu &#8220;<em>esse m&#234;s eu come&#231;o a entender IA pra valer</em>&#8221;, esse m&#234;s &#233; esse m&#234;s. Voc&#234; se inscreve, recebe o Dia 1 no email, e come&#231;a amanh&#227; de manh&#227;. Se travar, me responde por aqui mesmo, eu leio. Eu fiz esse curso nos momentos de calmaria nos cuidados com meu pai acamado. Ent&#227;o, se tiver algum bug, s&#243; responder esse email que corrijo.</p><p>E se voc&#234; conhece algu&#233;m que t&#225; preso nesse limbo de &#8220;<em>sei que &#233; importante mas n&#227;o sei por onde</em>&#8221; e provavelmente conhece, todo mundo conhece pelo menos uma pessoa&#8230; compartilha esse texto com ela. Esse m&#234;s tamb&#233;m &#233; dela.</p><p>Obrigado por estar por aqui, como sempre.</p><p>Abs, </p><p>Guilherme</p><div><hr></div><p><em>PS: hoje tamb&#233;m &#233; meu anivers&#225;rio. Construir essa coisa e abrir de gra&#231;a foi o jeito que eu encontrei de marcar a data. Se quiser me dar um presente, manda pra algu&#233;m que precisa.</em></p>]]></content:encoded></item><item><title><![CDATA[Como construí um radar de inteligência de mercado, e por que tornei o código opensource]]></title><description><![CDATA[Um pipeline open source que varre fontes p&#250;blicas, extrai pessoas, empresas e deals com LLM, cruza com seu CRM e entrega tudo num dashboard. Os desafios t&#233;cnicos e onde mora a oportunidade.]]></description><link>https://www.guilhermefavaron.com.br/p/radar-inteligencia-mercado-open-source</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/radar-inteligencia-mercado-open-source</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 27 Apr 2026 02:16:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/14cf0723-9f20-4385-9f76-1a461a2fb10e_1200x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XKwx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XKwx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 424w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 848w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 1272w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XKwx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png" width="1200" height="420" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71adb0a9-b10c-4a1e-9cf2-843aa2a75d58_1200x420.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:420,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161123,&quot;alt&quot;:&quot;Radar de Intelig&#234;ncia de Mercado&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/195580909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71adb0a9-b10c-4a1e-9cf2-843aa2a75d58_1200x420.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Radar de Intelig&#234;ncia de Mercado" title="Radar de Intelig&#234;ncia de Mercado" srcset="https://substackcdn.com/image/fetch/$s_!XKwx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 424w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 848w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 1272w, https://substackcdn.com/image/fetch/$s_!XKwx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e44873d-d430-4ede-be88-e333a2f85a4e_1200x420.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Radar de Intelig&#234;ncia de Mercado</figcaption></figure></div><p>Toda equipe comercial e de intelig&#234;ncia de mercado conhece a mesma rotina. Algu&#233;m abre dez abas pela manh&#227;, tenta acompanhar quem est&#225; movimentando capital, quais aquisi&#231;&#245;es foram anunciadas, qual concorrente fez uma rodada, qual diretor saiu de uma empresa relevante. No fim do dia, esse algu&#233;m produz um resumo. Nas semanas seguintes, o resumo vira PowerPoint, vira lead, vira reuni&#227;o, vira receita. Ou n&#227;o vira nada, porque a informa&#231;&#227;o chegou tarde, ou se perdeu no caminho entre planilhas e e-mails.</p><p>Eu fui esse algu&#233;m durante anos. E acabei construindo uma ferramenta para tirar essa rotina das minhas m&#227;os. Chama-se <strong>Market Intelligence Radar (MIR)</strong>. &#201; um pipeline open source que varre fontes de not&#237;cias configur&#225;veis, extrai pessoas, empresas, deals e sinais de mercado usando LLMs, faz match com o CRM, enriquece os contatos via Apollo e SalesQL, e mostra tudo num dashboard. Est&#225; dispon&#237;vel no GitHub em <a href="https://github.com/guifav/market-intelligence-radar">github.com/guifav/market-intelligence-radar</a>, com licen&#231;a MIT, sem telemetria, totalmente self-hosted.</p><p>Este post conta a hist&#243;ria de como ele foi constru&#237;do, os desafios reais que apareceram pelo caminho, a bagagem t&#233;cnica que precisou se acumular para chegar nesse formato, e as oportunidades que vejo para empresas que adotarem uma ferramenta desse tipo.</p><h4>O que ele faz, em sete passos</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K5XV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K5XV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 424w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 848w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 1272w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K5XV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png" width="1200" height="200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01be0175-5455-4224-be78-13ea3daca852_1200x200.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42a0de93-24e8-428a-a4c2-57d5b794b286_1200x200.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:18154,&quot;alt&quot;:&quot;Radar de Mercado - o que faz?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/195580909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42a0de93-24e8-428a-a4c2-57d5b794b286_1200x200.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Radar de Mercado - o que faz?" title="Radar de Mercado - o que faz?" srcset="https://substackcdn.com/image/fetch/$s_!K5XV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 424w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 848w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 1272w, https://substackcdn.com/image/fetch/$s_!K5XV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01be0175-5455-4224-be78-13ea3daca852_1200x200.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Radar de Mercado - o que faz?</figcaption></figure></div><p>A opera&#231;&#227;o inteira &#233; uma cadeia de sete etapas. Tudo come&#231;a com a configura&#231;&#227;o de fontes num arquivo JSON simples (TechCrunch, Reuters, qualquer URL que liste artigos). Em seguida, um scraper visita cada fonte, descobre URLs novas, e tenta extrair conte&#250;do limpo, primeiro via Firecrawl, com fallback para requests + BeautifulSoup quando a chave de API premium n&#227;o est&#225; presente.</p><p>O passo cr&#237;tico &#233; o terceiro. Para cada artigo, um LLM (Claude, GPT ou Gemini, escolhido via vari&#225;vel de ambiente) recebe o texto e devolve JSON estruturado: pessoas mencionadas com cargo, empresa e contexto; empresas com setor, categoria e envolvimento em transa&#231;&#245;es; deals do tipo M&amp;A, IPO, fundraising, JVs; sinais como mudan&#231;a regulat&#243;ria, movimento de mercado, risco; e t&#243;picos. A taxonomia inteira fica num JSON configur&#225;vel, ent&#227;o o vocabul&#225;rio se adapta a qualquer setor.</p><p>Tudo &#233; persistido em PostgreSQL. Pessoas e empresas s&#227;o deduplicadas por canonical_id, um hash SHA-256 de nome combinado com empresa, o que permite consolidar men&#231;&#245;es de m&#250;ltiplos artigos num &#250;nico registro de identidade.</p><p>Depois disso, dois fluxos paralelos operam sobre cada pessoa identificada. O matcher cruza o registro com o CRM importado via CSV usando quatro n&#237;veis de score: email exato, nome completo exato, prefixo do nome, e nome combinado com empresa. O enricher chama Apollo e SalesQL em waterfall para buscar email validado, telefone, LinkedIn, foto, dados da organiza&#231;&#227;o. Apenas pessoas relevantes, filtradas por divis&#227;o, ICP e regras de exclus&#227;o, chegam &#224; etapa de enriquecimento, ent&#227;o o consumo de API se mant&#233;m controlado.</p><p>No final, um dashboard Next.js mostra tudo de forma naveg&#225;vel, com filtros por divis&#227;o, busca em texto livre, fluxo de aprova&#231;&#227;o manual de prospects, e exporta&#231;&#227;o para CSV.</p><h4>Arquitetura</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u1LT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u1LT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 424w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 848w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 1272w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!u1LT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png" width="1200" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d15acbad-cdd1-40fd-bdf4-8b23eae6ed2b_1200x480.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:39459,&quot;alt&quot;:&quot;Radar de Mercado - Arquitetura&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/195580909?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd15acbad-cdd1-40fd-bdf4-8b23eae6ed2b_1200x480.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Radar de Mercado - Arquitetura" title="Radar de Mercado - Arquitetura" srcset="https://substackcdn.com/image/fetch/$s_!u1LT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 424w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 848w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 1272w, https://substackcdn.com/image/fetch/$s_!u1LT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26fc0898-9d9f-42d7-a9eb-715e7de50bf0_1200x480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Radar de Mercado - Arquitetura</figcaption></figure></div><p>A arquitetura tem tr&#234;s fluxos paralelos que convergem no PostgreSQL. O fluxo principal de scan vai das not&#237;cias at&#233; o banco, passando por scraper e extractor. O fluxo de matching parte do CSV de contatos do CRM, passa pelo matcher, e atualiza pessoas no banco com a flag de match. O fluxo de enrichment chama APIs externas, traz os dados, e atualiza o registro da pessoa.</p><p>Algumas decis&#245;es merecem coment&#225;rio.</p><p>Separei Python (pipeline) de Next.js (dashboard) atrav&#233;s do PostgreSQL. Daria para fazer tudo em Node ou tudo em Python. Optei por separar porque cada parte tem requisitos diferentes. O backend de extra&#231;&#227;o precisa de paralelismo, controle fino de rate limiting, integra&#231;&#227;o natural com bibliotecas de scraping e parsing. O frontend precisa de SSR, componentes reativos, ergonomia para tabelas com filtros complexos. Cada lado faz o que faz melhor, conversa pelo banco, e n&#227;o precisa ter comunica&#231;&#227;o direta. O efeito colateral positivo: d&#225; pra rodar o pipeline numa VM barata e o dashboard em outra, e ambos escalam de forma independente.</p><p>Usei canonical_id baseado em hash determin&#237;stico em vez de UUID. Quando o LLM extrai a mesma pessoa de dois artigos diferentes, o canonical_id &#233; id&#234;ntico, e a opera&#231;&#227;o de upsert no banco consolida automaticamente. Elimina uma camada inteira de &#8220;tabela de identidades&#8221; que muita gente reinventa.</p><p>Tornei o LLM provider plug&#225;vel. O arquivo mir/llm.py esconde Anthropic, OpenAI e Google atr&#225;s de uma &#250;nica fun&#231;&#227;o extract(prompt, content). Trocar de provider &#233; mudar uma vari&#225;vel de ambiente. Para um projeto que vai viver no dom&#237;nio p&#250;blico, isso reduz fric&#231;&#227;o de ado&#231;&#227;o (o desenvolvedor usa o que j&#225; tem) e aumenta resili&#234;ncia (se um provider tem outage, o outro assume).</p><p>E tornei o enrichment opcional. Apollo e SalesQL s&#227;o pagas. O sistema funciona sem elas, e o status de cada pessoa reflete isso. O estado &#8220;not_found_in_enrichment&#8221; &#233; um n&#243; v&#225;lido no funil. O usu&#225;rio adota gradualmente, conforme budget e maturidade do uso permitem.</p><h4>Os desafios reais de construir isso</h4><p>Construir um sistema desse tipo passa por problemas que nenhum tutorial cobre.</p><p>O primeiro &#233; a qualidade do prompt de extra&#231;&#227;o. LLMs s&#227;o geniais para sumariza&#231;&#227;o, mas inst&#225;veis para extra&#231;&#227;o estruturada com taxonomia r&#237;gida. A primeira vers&#227;o do meu prompt produzia JSON inconsistente, com nomes de setores inventados, capitaliza&#231;&#245;es diferentes em respostas distintas, ocasionais campos faltando. A solu&#231;&#227;o foi for&#231;ar a taxonomia dentro do pr&#243;prio prompt, listando as categorias v&#225;lidas e instruindo o modelo a usar apenas aquelas. Mesmo assim, era preciso p&#243;s-processar a sa&#237;da para normalizar varia&#231;&#245;es. Hoje o prompt tem cerca de 150 linhas e foi iterado dezenas de vezes contra um conjunto de artigos teste para chegar numa extra&#231;&#227;o confi&#225;vel.</p><p>O segundo desafio foi deduplica&#231;&#227;o. Quando o LLM l&#234; um artigo sobre &#8220;Pedro Silva, CEO da TechCorp&#8221; e outro sobre &#8220;Pedro Henrique Silva, CEO da Tech Corp Brasil&#8221;, s&#227;o a mesma pessoa? Constru&#237; tr&#234;s n&#237;veis. O canonical_id pega os casos &#243;bvios. Um normalizador de strings (lowercase, trim, remo&#231;&#227;o de acentos) pega varia&#231;&#245;es de capitaliza&#231;&#227;o. Para os casos lim&#237;trofes, o sistema preserva o registro com o canonical_id original e adiciona varia&#231;&#227;o no array de men&#231;&#245;es, deixando o usu&#225;rio humano decidir se s&#227;o a mesma pessoa.</p><p>O terceiro foi a gest&#227;o de rate limit. Apollo permite cerca de 60 requests por minuto, SalesQL &#233; mais conservador, e o LLM tem seu pr&#243;prio teto. O scanner roda com workers paralelos, e cada worker pode bater no Apollo. Constru&#237; um ThreadSafeIntervalLimiter que serializa as chamadas globalmente, garantindo que mesmo com dez threads, o ritmo total respeita o teto da API. Em duas linhas no console, tudo se mant&#233;m dentro do or&#231;amento.</p><p>O quarto foi o que chamo de ru&#237;do de relev&#226;ncia. A maioria das pessoas mencionadas em artigos n&#227;o interessa para vendas: jornalistas, acad&#234;micos, pol&#237;ticos, atletas citados em compara&#231;&#227;o. Sem filtro, o pipeline gerava centenas de registros irrelevantes por dia. A solu&#231;&#227;o foi construir tr&#234;s camadas de exclus&#227;o: regras hardcoded de profiss&#227;o (jornalista, rep&#243;rter, professor, governador), regras configur&#225;veis por divis&#227;o (cada vertical define seu ICP), e regras de hard exclusion gerenciadas pelo usu&#225;rio (pessoa espec&#237;fica, padr&#227;o de empresa). O resultado &#233; cerca de dez vezes menos registros, com qualidade muito superior.</p><p>O quinto desafio foi o ICP scoring. Quando o sistema identifica uma pessoa, ele precisa decidir se ela &#233; relevante para o neg&#243;cio. Constru&#237; um sistema multidimensional que avalia categoria de opera&#231;&#227;o, setor, pa&#237;s e cargo separadamente, e produz um percentual de match (0 a 100%). O c&#225;lculo &#233; dimensions_matched dividido por dimensions_defined. Cada divis&#227;o pode ter o seu ICP. Esse score guia o usu&#225;rio, que v&#234; primeiro os matches acima de 90%, e descarta o resto.</p><h4>A bagagem necess&#225;ria</h4><p>Olhando para tr&#225;s, percebo que esse projeto sintetiza experi&#234;ncias acumuladas ao longo de anos. Para construir algo parecido, algu&#233;m precisa estar confort&#225;vel em pelo menos quatro frentes t&#233;cnicas, mais uma quinta camada de dom&#237;nio.</p><p><strong>Engenharia backend pragm&#225;tica</strong>. Saber escrever Python que processa volume razo&#225;vel de dados, lidar com concorr&#234;ncia (threading.Lock, ThreadPoolExecutor), entender quando paralelizar e quando serializar, escrever queries SQL eficientes para PostgreSQL, projetar schemas que sobrevivem a mudan&#231;as. M&#227;o calejada com sistemas que rodam todos os dias importa mais do que t&#237;tulo de engenheiro de Big Data.</p><p>Entendimento de <strong>LLMs em ambiente de produ&#231;&#227;o</strong>. Isso vai al&#233;m de saber chamar a API. Inclui escrever prompts robustos, lidar com a aleatoriedade dos modelos, projetar sa&#237;das verific&#225;veis (JSON bem formado), conhecer os limites de cada provider, entender custos por token, gerenciar lat&#234;ncia. Quem nunca colocou um LLM em produ&#231;&#227;o vai gastar tempo aprendendo o que n&#227;o funciona.</p><p><strong>Design de pipelines de dados</strong>. Decidir o que &#233; processo s&#237;ncrono inline (matching numa pessoa que acabou de chegar) e o que vira batch (enrichment em lote, todo final do dia). Identificar pontos de falha, projetar idempot&#234;ncia, tratar duplicatas, gerenciar estado intermedi&#225;rio. Quem trabalhou com ETL ou com integra&#231;&#227;o de sistemas vai reconhecer os padr&#245;es de pronto.</p><p><strong>Frontend moderno</strong>. Next.js 15 com App Router, React 19, Tailwind 4, shadcn/ui. Construir o dashboard com componentes reutiliz&#225;veis, gerenciar estado entre p&#225;ginas com Context, lidar com SSR e RSC apropriadamente, escrever queries que respeitam autentica&#231;&#227;o. Nada ex&#243;tico, mas exige flu&#234;ncia.</p><p>A quinta camada, mais sutil, &#233; <strong>entender o dom&#237;nio</strong>. Constru&#237; o MIR primeiro para um setor espec&#237;fico, e s&#243; depois generalizei. Saber o que &#233; um decision-maker, o que conta como deal, como uma equipe comercial efetivamente trabalha com leads, o que torna um sinal acion&#225;vel. Sem essa camada, o sistema seria tecnicamente correto e operacionalmente in&#250;til.</p><h4>O que empresas podem fazer com isso</h4><p>Existem tr&#234;s caminhos &#243;bvios para uma empresa adotar uma ferramenta desse tipo.</p><p>&#8594; O primeiro &#233; monitoramento de mercado para times comerciais. Algu&#233;m da intelig&#234;ncia comercial configura o MIR com 30 fontes relevantes para o setor, importa os contatos do CRM, e em uma semana tem visibilidade completa sobre quem est&#225; se movimentando, quem fez fundraising, quais empresas est&#227;o entrando em novo mercado, quais executivos mudaram de cargo. O time de SDR usa essa lista priorizada para a&#231;&#245;es de outbound, com timing relevante e contexto rico. O time de account management consegue antecipar mudan&#231;as nos clientes (M&amp;A, troca de C-level) e agir antes do concorrente.</p><p>&#8594; O segundo &#233; gera&#231;&#227;o de conte&#250;do. Editores de newsletters, podcasters, jornalistas econ&#244;micos passam horas por dia coletando not&#237;cias, identificando temas, mapeando narrativas. Uma instala&#231;&#227;o do MIR rodando diariamente entrega um corpus pr&#233;-extra&#237;do de pessoas, deals e sinais, organizados por taxonomia configur&#225;vel. O editor passa direto para a parte criativa, com base de dados estruturada como insumo.</p><p>&#8594; O terceiro &#233; intelig&#234;ncia competitiva. Conselhos de empresas, &#225;reas de M&amp;A, equipes de estrat&#233;gia precisam estar atualizados sobre movimentos de concorrentes e adjac&#234;ncias. Configurar o MIR para monitorar fontes do setor, com filtros por concorrente espec&#237;fico ou tipo de transa&#231;&#227;o, gera relat&#243;rios di&#225;rios ou semanais sem trabalho humano repetitivo. O analista entra na conversa para interpretar, hipotetizar, propor a&#231;&#227;o.</p><p>Para empresas que querem ir al&#233;m de adotar, vejo dois caminhos de extens&#227;o. Empresas que vendem dados podem usar o MIR como base para um produto SaaS multi-tenant, agregando insights de m&#250;ltiplos clientes. A licen&#231;a MIT permite uso comercial sem restri&#231;&#227;o. E empresas que constroem produtos verticais (real estate, healthcare, energia) podem fazer fork do MIR, customizar a taxonomia, plugar fontes espec&#237;ficas do setor, e oferecer uma vers&#227;o whitelabel para seus clientes. O tempo at&#233; o primeiro release cai de meses para semanas.</p><h4>Por que open source</h4><p>Eu poderia ter mantido o c&#243;digo fechado e tentado vender. Optei por publicar com licen&#231;a MIT por tr&#234;s raz&#245;es.</p><p>Projetos como esse s&#243; ficam bons com uso real e diverso. Quanto mais gente experimentar, ajustar para o pr&#243;prio contexto, abrir issues e PRs, mais maduro o sistema fica. Em c&#243;digo fechado, o ritmo de evolu&#231;&#227;o &#233; o ritmo de um time. Em c&#243;digo aberto, &#233; o ritmo da comunidade.</p><div class="callout-block" data-callout="true"><p>O valor real est&#225; na opera&#231;&#227;o. Empresas que adotarem o MIR v&#227;o precisar configurar fontes, treinar a taxonomia, integrar com o CRM, ajustar o prompt para o setor. <strong>Esse trabalho &#233; onde mora a vantagem competitiva</strong>. O c&#243;digo serve como commodity necess&#225;ria para chegar at&#233; l&#225;.</p></div><p>E tudo que eu uso para construir profissionalmente &#233; open source. PostgreSQL, Next.js, Tailwind, Linux, dezenas de bibliotecas Python. Devolver algo &#233; justo.</p><h4>Como come&#231;ar</h4><p>O reposit&#243;rio est&#225; em <a href="https://github.com/guifav/market-intelligence-radar">github.com/guifav/market-intelligence-radar</a>. Setup local roda em um comando: docker compose up -d. O readme tem documenta&#231;&#227;o completa de configura&#231;&#227;o. O modelo padr&#227;o de LLM &#233; Claude, e pode ser trocado para OpenAI ou Google a qualquer momento.</p><p>Se quiser conversar sobre arquitetura, customiza&#231;&#227;o para um setor espec&#237;fico, ou s&#243; dar feedback, abra uma issue no GitHub ou me ache no X ou LinkedIn. PRs s&#227;o bem-vindos.</p>]]></content:encoded></item><item><title><![CDATA[O fim do código como ativo: o novo perfil do desenvolvedor que todo Executivo precisa entender]]></title><description><![CDATA[1 Ano de IA dentro de um time de engenharia expuseram uma verdade desconfort&#225;vel sobre onde mora hoje o gargalo do software, como o trabalho mudou junto e por que quem s&#243; reagir depois vai pagar]]></description><link>https://www.guilhermefavaron.com.br/p/o-fim-do-codigo-como-ativo-o-novo</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/o-fim-do-codigo-como-ativo-o-novo</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Thu, 23 Apr 2026 15:00:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v1AS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Se a sua empresa constr&#243;i software, mesmo que em pequena escala, o seu time de desenvolvimento est&#225; mudando mais r&#225;pido do que voc&#234; percebe. As pessoas continuam as mesmas. O que mudou foi o trabalho em si.</p><p>Quero explicar isso de um jeito que serve tanto para o CEO que tem duzentos engenheiros em folha quanto para o fundador que contratou dois devs e uma assinatura de Claude Code. A confus&#227;o no ar &#233; parecida nos dois casos: produtividade prometida que n&#227;o chega, s&#234;nior reclamando de sobrecarga, j&#250;nior entregando r&#225;pido demais para o conforto de quem revisa, e uma sensa&#231;&#227;o geral de que o time virou uma caixa preta que engole IA de um lado e cospe c&#243;digo do outro, sem que ningu&#233;m, inclusive o CTO, consiga dizer com precis&#227;o o que est&#225; acontecendo l&#225; dentro.</p><p>Vou ser direto: <strong>essa confus&#227;o tem nome, tem causa e tem um caminho de sa&#237;da</strong>. Entender tudo isso virou dilig&#234;ncia b&#225;sica de qualquer lideran&#231;a que tenha software dentro do neg&#243;cio, e n&#227;o mais um luxo reservado a executivo de tecnologia.</p><h2>O gargalo migrou para a especifica&#231;&#227;o</h2><p>Durante vinte anos, a engenharia de software funcionou assim: voc&#234; contrata pessoas para escrever c&#243;digo, mede a entrega por linhas <em>commitadas</em>, features enviadas, story points fechados. O code review &#233; o port&#227;o de qualidade. Se passou na revis&#227;o, vai para produ&#231;&#227;o. O of&#237;cio era o c&#243;digo em si.</p><p>Com agentes de IA, essa l&#243;gica inteira quebra. O c&#243;digo come&#231;a a chegar mais r&#225;pido do que o time consegue processar. Em um cen&#225;rio real de um time de vinte engenheiros rodando Claude Code e Cursor por seis meses, um s&#234;nior chegou frustrado com o pull request de um j&#250;nior. Milhares de linhas. Funcionava. Passava nos testes. Ele disse, sem meio-termo: &#8220;<em>eu n&#227;o li o c&#243;digo. N&#227;o tinha como. Era c&#243;digo demais. Qual &#233; o meu trabalho agora?</em>&#8221;</p><p>Essa &#233; a pergunta do momento:</p><div class="pullquote"><p>Se o c&#243;digo j&#225; n&#227;o &#233; o gargalo, onde foi parar o gargalo?</p></div><p>A resposta &#233; inc&#244;moda para quem construiu carreira escrevendo c&#243;digo. O gargalo migrou para a especifica&#231;&#227;o. A engenharia rigorosa que antes a gente aplicava depois que o c&#243;digo era escrito, como revis&#227;o, teste e cobertura, agora precisa acontecer antes que qualquer linha exista.</p><p>Um caso que se tornou emblem&#225;tico: um dev pede para um agente construir um sistema de notifica&#231;&#245;es. Requisito simples. O agente constr&#243;i. Funciona lindo em ambiente de teste. Vai para produ&#231;&#227;o e dispara cinquenta mil e-mails em tr&#234;s minutos. Por qu&#234;? Porque ningu&#233;m tinha especificado um limite de taxa. O agente n&#227;o sabia que isso era &#243;bvio. Para ele, n&#227;o era.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v1AS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v1AS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 424w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 848w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v1AS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg" width="1200" height="1143" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1143,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117651,&quot;alt&quot;:&quot;Sistema de notifica&#231;&#245;es equivalente ao Slack&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/195038961?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sistema de notifica&#231;&#245;es equivalente ao Slack" title="Sistema de notifica&#231;&#245;es equivalente ao Slack" srcset="https://substackcdn.com/image/fetch/$s_!v1AS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 424w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 848w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!v1AS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d47c13e-f5c7-42de-8633-48d8a1abc841_1200x1143.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Sistema de notifica&#231;&#245;es equivalente ao Slack</figcaption></figure></div><p>A especifica&#231;&#227;o est&#225; virando o produto; c&#243;digo, descart&#225;vel. Essa &#233; a invers&#227;o mais completa de como o software foi constru&#237;do nos &#250;ltimos cinquenta anos.</p><h2>A camada que ainda n&#227;o tem nome</h2><p>Entre a especifica&#231;&#227;o e o c&#243;digo que vai para produ&#231;&#227;o, existe agora uma camada de trabalho inteira que nenhum organograma sabe descrever. Algu&#233;m precisa quebrar o problema em peda&#231;os do tamanho certo para o agente resolver. Algu&#233;m precisa saber quando deixar o agente correr e quando segurar a r&#233;dea. Algu&#233;m precisa corrigir a sa&#237;da n&#227;o reescrevendo o c&#243;digo, e sim ajustando o prompt, o contexto ou a restri&#231;&#227;o.</p><p>Vejo isso sendo chamado de trabalho supervis&#243;rio&#8230; De arquitetura execut&#225;vel... De curadoria de agentes... Nenhum termo pegou ainda, e isso &#233; um sintoma de que a disciplina est&#225; nascendo em tempo real dentro das empresas que usam IA para valer.</p><p>Esse trabalho supervis&#243;rio &#233; onde mora o novo valor. A habilidade cr&#237;tica mudou da velocidade de digita&#231;&#227;o para a capacidade de carregar um modelo mental do sistema inteiro, antecipar onde a IA vai errar, definir fronteiras claras e avaliar sa&#237;das n&#227;o-determin&#237;sticas sem ingenuidade.</p><h2>A fratura invis&#237;vel: seniores afogados, juniores decolando, mid-levels na zona de perigo</h2><p>Em qualquer time real que adotou IA de forma s&#233;ria nos &#250;ltimos meses, ocorre a mesma fratura. O time se divide em tr&#234;s grupos, e os tr&#234;s est&#227;o vivendo realidades completamente diferentes.</p><p><strong>Os seniores est&#227;o afogados.</strong> Eles entendem o sistema inteiro, conhecem a d&#237;vida t&#233;cnica, carregam o contexto hist&#243;rico. Isso era superpoder. Agora vira condena&#231;&#227;o. Porque juniores e agentes geram c&#243;digo dez vezes mais r&#225;pido, e c&#243;digo n&#227;o vai para produ&#231;&#227;o sozinho. Precisa de revis&#227;o arquitetural, precisa encaixar em legado, precisa ser desbloqueado. O s&#234;nior vira <em>controlador de tr&#225;fego a&#233;reo</em>. Passa o dia revisando sa&#237;da de IA e j&#225; n&#227;o produz quase nada de fato. A pessoa que antes era a mais produtiva do time passa a ser a menos produtiva em termos de linhas, e a mais cr&#237;tica em termos de decis&#227;o. Ningu&#233;m sabe como medir isso e o burnout passa a ser real.</p><p><strong>Os juniores est&#227;o decolando.</strong> Contraintuitivo? Sim. Mas faz sentido. O j&#250;nior n&#227;o tem a mem&#243;ria muscular que manda escrever c&#243;digo de um jeito espec&#237;fico. Ele trata a IA como colega de equipe e n&#227;o como amea&#231;a &#224; pr&#243;pria identidade. A fase deficit&#225;ria do onboarding, aqueles seis meses em que o j&#250;nior drena produtividade do time enquanto aprende o c&#243;digo, praticamente desapareceu. Um j&#250;nior bem acoplado a um Claude Code entrega c&#243;digo &#250;til na primeira semana.</p><p><strong>Os mid-levels est&#227;o na zona de perigo.</strong> Tr&#234;s a cinco anos de experi&#234;ncia. Habilidade suficiente para ter v&#237;cios, insuficiente para ser arquiteto de verdade. Re-treinar um mid-level, tirando-o da l&#243;gica de escrever sintaxe e colocando-o na l&#243;gica de supervisionar agentes, &#233; o desafio organizacional mais duro que l&#237;deres de tech est&#227;o encontrando em 2026. O problema costuma aparecer em conversas de corredor e em reuni&#245;es fechadas de lideran&#231;a, mas raramente desce para o plano de carreira, para a pol&#237;tica de compensa&#231;&#227;o ou para a estrutura de contrata&#231;&#227;o que a empresa pratica de fato.</p><p>Para o CEO, a implica&#231;&#227;o &#233; estrat&#233;gica. Se voc&#234; s&#243; enxerga o time como um bloco, voc&#234; vai tratar seniores e mid-levels com a mesma remunera&#231;&#227;o, as mesmas metas, o mesmo plano de carreira. E vai perder os seniores para o burnout e os mid-levels para a obsolesc&#234;ncia, n&#227;o necessariamente "ganhando&#8221; bons juniores.</p><h2>O problema do conhecimento "tribal"</h2><p>Aqui mora uma armadilha espec&#237;fica, do tipo que s&#243; aparece depois que a empresa j&#225; apostou pesado em IA. O agente n&#227;o tem contexto organizacional, mesmo voc&#234; criando infinitas skills, plugins e MCPs. N&#227;o sabe que o job de marketing roda toda ter&#231;a &#224; meia-noite e satura o pool de conex&#245;es do banco. N&#227;o sabe que aquele microservi&#231;o mal-documentado foi escrito com pressa antes das f&#233;rias de Natal e nunca mais foi tocado. N&#227;o sabe que o cliente X tem um contrato especial que impede um determinado comportamento do sistema.</p><p>Isso &#233; conhecimento tribal. Vive na cabe&#231;a dos seniores. E quando um agente de IA &#233; chamado para resolver um incidente &#224;s duas da manh&#227;, ele l&#234; a documenta&#231;&#227;o oficial, segue o manual e <em>reinicia o servidor</em>. Repetidas vezes. Enquanto o time humano precisa ser chamado do mesmo jeito para descobrir que o problema era um <em>job batch</em> e n&#227;o um servi&#231;o travado.</p><div class="callout-block" data-callout="true"><p>&#8220;reiniciar o servidor&#8221; &#233; uma a&#231;&#227;o voltada a sintomas, t&#237;pica da IA que assume que h&#225; um servi&#231;o travado ou vazamento de recurso, por exemplo, enquanto o &#8220;job batch&#8221; no exemplo &#233; a causa estrutural: um trabalho agendado, leg&#237;timo, que em determinado hor&#225;rio entra em cena e simplesmente consome CPU, mem&#243;ria ou conex&#245;es at&#233; saturar o sistema de novo. </p><p>Cada reboot limpa o estado por alguns segundos ou minutos, mas assim que o job volta a rodar, o problema reaparece, ou seja, a IA conduz o j&#250;nior a tratar o term&#244;metro, n&#227;o a febre. A corre&#231;&#227;o real neste exemplo &#233; atuar no pr&#243;prio job para que ele n&#227;o &#8220;coma todos os recursos de uma vez&#8221;; em termos de c&#243;digo, isso pode ser t&#227;o simples quanto adicionar um limitador de ritmo ou concorr&#234;ncia, por exemplo ao processar um lote: </p><p><em>for item in batch: process(item); time.sleep(0.01)</em> </p><p>voc&#234; transforma uma explos&#227;o de carga em um fluxo controlado que o sistema aguenta sem cair.</p></div><p>A consequ&#234;ncia &#233; direta. Toda aquela promessa de &#8220;sistemas auto-cicatrizantes&#8221; (self-healing) movidos por IA continua sendo conversa de marketing enquanto a sua empresa n&#227;o construir um subconsciente de agente. Um grafo de conhecimento que codifique cada incidente, cada caso de borda esquisito, cada peda&#231;o de conhecimento institucional que mora s&#243; na cabe&#231;a da sua equipe mais experiente.</p><p>Construir isso parece investimento n&#227;o urgente at&#233; o dia em que se torna(r&#225;) o &#250;nico investimento que importa.</p><h2>Agentes obedientes demais</h2><p>H&#225; outro ponto pouco discutido. Agentes de IA s&#227;o treinados para serem prestativos. S&#227;o puxa-sacos por constru&#231;&#227;o. Querem te manter engajado na conversa, s&#227;o propositivos mesmo quando n&#227;o s&#227;o necess&#225;rios. Durante um incidente, o &#250;ltimo que voc&#234; quer no comando &#233; um puxa-saco. Voc&#234; quer algu&#233;m que desafie a hip&#243;tese, que force o humano a olhar para o que ele n&#227;o quer olhar.</p><p>A resposta emergente dentro de times que j&#225; sofreram com isso &#233; o que est&#225; sendo chamado de &#8220;agente bravo&#8221; (<em>angry agent</em>): um agente configurado especificamente para furar a teoria em curso, apontar contradi&#231;&#245;es, exigir evid&#234;ncia. Trata-se de higiene de opera&#231;&#227;o, ainda que muita gente trate como luxo dispens&#225;vel. Porque dois agentes concordando entre si, o humano cansado e a IA obediente, &#233; a receita perfeita para um servidor queimando enquanto todo mundo bate cabe&#231;a.</p><h2>Contrata&#231;&#227;o: voc&#234; est&#225; comprando a habilidade errada</h2><p>Se voc&#234; est&#225; contratando desenvolvedor agora com a descri&#231;&#227;o de vaga que usava h&#225; dois anos, voc&#234; est&#225; comprando a habilidade errada. Velocidade para teclar c&#243;digo virou commodity, e deixou de funcionar como diferencial real.</p><p>O perfil que voc&#234; precisa ter no time &#233; outro. Pensamento arquitetural. Julgamento sob incerteza. Capacidade de escrever uma especifica&#231;&#227;o t&#227;o precisa que a IA n&#227;o consiga interpretar errado. Capacidade de desenhar um conjunto de testes que capture alucina&#231;&#245;es antes de elas irem para produ&#231;&#227;o. Capacidade de debugar um sistema que a pessoa n&#227;o escreveu pessoalmente.</p><p>Isso &#233; uma pessoa completamente diferente da que voc&#234; contratava em 2023-4. E o pior: muita gente no mercado ainda se vende pela habilidade antiga. Seu processo seletivo precisa mudar. Se o teste t&#233;cnico &#233; &#8220;escreva um algoritmo de busca bin&#225;ria em trinta minutos&#8221;, voc&#234; est&#225; medindo exatamente a habilidade que a IA substituiu.</p><p>Um teste mais &#250;til em 2026 que tenho aplicado nos processos de recrutamento &#233;: <em>aqui est&#225; uma especifica&#231;&#227;o [vaga], um sistema legado indo a meia-boca e um agente de IA &#224; sua disposi&#231;&#227;o. O que voc&#234; faz?</em></p><h2>D&#237;vida cognitiva e compreens&#227;o cont&#237;nua</h2><p>Por d&#233;cadas, o code review serviu para ca&#231;ar bug e tamb&#233;m, de quebra, para ensinar o sistema aos desenvolvedores. Se os agentes passam a escrever todo o c&#243;digo e o time para de ler, o time vira estrangeiro dentro do pr&#243;prio produto.</p><p>Quando alguma coisa quebra &#224;s tr&#234;s da manh&#227;, o seu engenheiro est&#225; encarando c&#243;digo escrito por uma m&#225;quina, tentando fazer engenharia reversa da l&#243;gica enquanto o cliente grita do outro lado.</p><p>Isso &#233; <strong>d&#237;vida cognitiva</strong>. Ela se acumula silenciosamente, sem aparecer em nenhum dashboard, at&#233; o dia em que o time inteiro n&#227;o consegue mais tomar uma decis&#227;o arquitetural porque ningu&#233;m mais entende de fato o que o software faz.</p><p>A contramedida &#233; <strong>agendar compreens&#227;o</strong>. Rituais semanais de arquitetura conjunta, mesmo que o c&#243;digo venha dos agentes. Ferramentas que resumem mudan&#231;as arquiteturais para humanos. Sess&#245;es deliberadas de leitura de c&#243;digo, como se fossem sess&#245;es de leitura coletiva. Soa anal&#243;gico em um mundo que vende autonomia total. &#201; justamente por isso que funciona.</p><h2>O que fazer como CEO</h2><p>Tr&#234;s movimentos concretos para as pr&#243;ximas semanas.</p><p>Primeiro, audite seu time pela lente de senior-afogado, j&#250;nior-decolando, mid-level-em-risco. Trata-se de diagn&#243;stico estrat&#233;gico, e quem trata isso como exerc&#237;cio burocr&#225;tico de RH perde os melhores primeiro. O plano de carreira, a compensa&#231;&#227;o e o treinamento precisam ser diferentes para cada grupo. Tratar todo mundo igual &#233; garantir perda de talento nos pr&#243;ximos doze meses. O princ&#237;pio da equidade vale aqui tamb&#233;m.</p><div class="callout-block" data-callout="true"><p>O princ&#237;pio da equidade &#233; a ideia de tratar pessoas de forma diferente para gerar resultados justos, e que no balan&#231;o todos sejam igualmente bem tratados. Enquanto igualdade distribui os mesmos recursos para todos, equidade ajusta recursos, metas e condi&#231;&#245;es conforme a necessidade, o contexto e o impacto esperado. Em gest&#227;o de times, isso significa n&#227;o dar o mesmo plano de carreira, m&#233;tricas e carga para s&#234;nior, j&#250;nior e mid-level, mas calibrar incentivos e suporte conforme o papel estrat&#233;gico de cada um. A r&#233;gua n&#227;o &#233; &#8220;todo mundo igual&#8221;, e sim &#8220;cada pessoa recebe o que precisa para contribuir ao m&#225;ximo e n&#227;o ser prejudicada pelo contexto&#8221;.</p></div><p>Segundo, comece a construir o subconsciente da sua empresa. Todo incidente vira aprendizado documentado de forma que um agente consiga consumir. Toda regra impl&#237;cita vira regra expl&#237;cita. Toda decis&#227;o arquitetural ganha um <em>why</em> registrado. Isso parece infraestrutura chata at&#233; o dia em que &#233; o diferencial competitivo. Para este subconsciente ter impacto relevante, voc&#234; precisar&#225; de volume relativamente grande de registros. E quanto mais volume tiver, mais registros conseguir&#225; criar antecipadamente, mitigando problemas futuros.</p><p>Terceiro, mude o filtro de contrata&#231;&#227;o. Pare de comprar velocidade de digita&#231;&#227;o. Comece a comprar julgamento, clareza de especifica&#231;&#227;o e toler&#226;ncia &#224; ambiguidade. O teste t&#233;cnico precisa refletir o trabalho real de 2026, n&#227;o o trabalho real de 2018.</p><p>A analogia final que eu gosto &#233; a da placa gr&#225;fica. Em 1992, engenheiros calculavam &#224; m&#227;o a matem&#225;tica para desenhar um &#250;nico pol&#237;gono na tela. Em 1994, as GPUs chegaram e assumiram essa tarefa. Quem insistiu em codar pol&#237;gono &#224; m&#227;o em 1995 n&#227;o virou especialista. Virou obsoleto. Os que sobreviveram viraram engenheiros de ilumina&#231;&#227;o, animadores, programadores de f&#237;sica. Pararam de ensinar o computador a desenhar um tri&#226;ngulo e come&#231;aram a ensinar o computador a simular como a luz reflete em uma rua molhada.</p><p>A engenharia de software est&#225; vivendo exatamente esse momento. Ningu&#233;m mais vai codar pol&#237;gono &#224; m&#227;o em 2028. A pergunta &#233; se o seu time vai estar entre os que escalaram para a nova camada ou entre os que insistiram na antiga at&#233; ficarem obsoletos.</p><p>Os melhores fundadores e CEOs que eu conhe&#231;o n&#227;o est&#227;o em p&#226;nico com isso. Est&#227;o adaptando. Silenciosamente, metodicamente, reescrevendo cargos, planos de carreira e processos. Seja um deles.</p>]]></content:encoded></item><item><title><![CDATA[O que o Candy Crush ensina sobre IA aplicada ao produto]]></title><description><![CDATA[Tr&#234;s abordagens distintas de machine learning para um mesmo problema, e o que cada uma revela sobre como pensar projetos de IA em empresas]]></description><link>https://www.guilhermefavaron.com.br/p/candy-crush-ia</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/candy-crush-ia</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Sun, 19 Apr 2026 23:55:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RnA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RnA-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RnA-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RnA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:465352,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RnA-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RnA-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc08f329d-2e56-4d60-b9b3-21518edab371_2276x1280.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Candy Crush - Fonte: site oficial</figcaption></figure></div><p>Candy Crush Saga &#233; um dos jogos mobile mais bem-sucedidos da hist&#243;ria. Lan&#231;ado em 2012 pela King, hoje parte da Activision Blizzard, acumula bilh&#245;es de downloads e continua entre os aplicativos mais lucrativos em Android e iOS. Para a maioria das pessoas, &#233; um passatempo simples. Voc&#234; combina doces da mesma cor, eles explodem, voc&#234; avan&#231;a de n&#237;vel.</p><p>Recentemente voltei a pensar sobre o jogo por um motivo espec&#237;fico. Um detalhe me chamou a aten&#231;&#227;o: como a King consegue manter uma progress&#227;o de dificuldade consistente atrav&#233;s de mais de 15 mil n&#237;veis, lan&#231;ando cerca de 15 novos por semana, sem que a experi&#234;ncia se degrade. A resposta envolve machine learning aplicado de forma bastante sofisticada, e as li&#231;&#245;es s&#227;o diretamente transfer&#237;veis para qualquer organiza&#231;&#227;o que use IA para otimizar produto.</p><p>O problema, ao contr&#225;rio do que parece, atraiu aten&#231;&#227;o acad&#234;mica significativa. H&#225; pelo menos tr&#234;s teses de mestrado no KTH Royal Institute of Technology, um paper oficial dos engenheiros da King, um projeto de Stanford no curso CS230 de deep learning, uma prova matem&#225;tica de NP-dificuldade no arXiv, e trabalhos recentes da Universidade Roma Tre aplicando Deep Reinforcement Learning &#224; classe de jogos match-3. Cada abordagem resolve o problema de uma forma diferente, e as diferen&#231;as revelam decis&#245;es de design que v&#227;o muito al&#233;m de Candy Crush.</p><p>Este artigo tem tr&#234;s objetivos. Primeiro, documentar com algum rigor t&#233;cnico o que a King construiu, porque a hist&#243;ria &#233; genuinamente interessante e pouco conhecida fora de c&#237;rculos especializados. Segundo, comparar as tr&#234;s abordagens principais que foram publicadas: MCTS, supervised learning com CNN, e Deep Q-Network. Terceiro, extrair princ&#237;pios aplic&#225;veis a projetos de IA em contextos empresariais que n&#227;o t&#234;m nada a ver com jogos.</p><h2>O problema real que a King enfrentava</h2><p>A economia do Candy Crush depende de progress&#227;o constante. Se os n&#237;veis param de sair, os jogadores engajados terminam o conte&#250;do dispon&#237;vel e saem. Se saem em ritmo errado ou com dificuldade mal calibrada, a curva de reten&#231;&#227;o se deteriora. Com dezenas de milh&#245;es de jogadores ativos, o custo de um erro de calibra&#231;&#227;o &#233; grande.</p><p>O problema t&#233;cnico espec&#237;fico &#233; o seguinte. Cada novo n&#237;vel precisa ter uma taxa de sucesso humano m&#233;dio (AHSR, na terminologia interna da King, Average Human Success Rate) dentro de uma faixa calibrada para manter a experi&#234;ncia de flow. Uma taxa muito alta indica que o n&#237;vel &#233; f&#225;cil demais e o jogador se entedia. Uma taxa muito baixa indica que &#233; dif&#237;cil demais e o jogador desiste. A faixa-alvo varia conforme a posi&#231;&#227;o do n&#237;vel na jornada, com picos deliberados de dificuldade em posi&#231;&#245;es espec&#237;ficas para criar momentos de desafio.</p><p>At&#233; meados da d&#233;cada passada, a calibra&#231;&#227;o era feita por testers humanos. Jogadores profissionais jogavam o mesmo n&#237;vel cerca de 20 vezes, registravam resultados e escreviam relat&#243;rios. O processo levava aproximadamente uma semana por n&#237;vel. Para um ritmo de 15 n&#237;veis novos por semana, isso exigia uma equipe grande, introduzia um gargalo estrutural no pipeline de produ&#231;&#227;o, e limitava quantas itera&#231;&#245;es de design cada n&#237;vel poderia receber antes de ser lan&#231;ado.</p><h2>A complexidade matem&#225;tica escondida</h2><p>Antes de entrar nas abordagens de machine learning, vale estabelecer que o problema &#233; genuinamente dif&#237;cil do ponto de vista te&#243;rico.</p><p>Em 2014, Toby Walsh publicou no arXiv um paper curto e preciso chamado &#8220;<a href="https://arxiv.org/abs/1403.1911">Candy Crush is NP-hard</a>&#8221;. A prova usa uma redu&#231;&#227;o a partir do 3-SAT, o problema can&#244;nico NP-completo, mostrando que encontrar a sequ&#234;ncia &#243;tima de movimentos em um n&#237;vel arbitr&#225;rio de Candy Crush &#233; pelo menos t&#227;o dif&#237;cil quanto satisfazer uma f&#243;rmula booleana em forma normal conjuntiva. Sob as conjecturas padr&#227;o em complexidade computacional (especificamente P &#8800; NP), isso significa que n&#227;o existe algoritmo de tempo polinomial para resolver otimamente o jogo, e &#233; improv&#225;vel que tal algoritmo venha a ser descoberto.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1raA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1raA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 424w, https://substackcdn.com/image/fetch/$s_!1raA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 848w, https://substackcdn.com/image/fetch/$s_!1raA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 1272w, https://substackcdn.com/image/fetch/$s_!1raA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1raA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png" width="1220" height="598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:598,&quot;width&quot;:1220,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64670,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1raA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 424w, https://substackcdn.com/image/fetch/$s_!1raA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 848w, https://substackcdn.com/image/fetch/$s_!1raA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 1272w, https://substackcdn.com/image/fetch/$s_!1raA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe17ddc4c-f08a-4583-b05c-9a7a7cc34262_1220x598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Artigo de 2014 - https://arxiv.org/abs/1403.1911</figcaption></figure></div><p>Esse resultado te&#243;rico tem uma implica&#231;&#227;o pr&#225;tica importante. Como for&#231;a bruta &#233; invi&#225;vel, qualquer sistema que queira jogar Candy Crush em escala precisa usar heur&#237;sticas, amostragem estat&#237;stica, ou aprendizado a partir de dados. <strong>N&#227;o h&#225; atalho anal&#237;tico.</strong></p><p><a href="https://www.semanticscholar.org/paper/Crushing-Candy-Crush-%3A-Predicting-Human-Success-in-Poromaa/36b634a2e23e3734ec591d58849cb102612a3029">A tese de Erik Poromaa (KTH, 2017)</a> reporta uma estimativa emp&#237;rica que refor&#231;a essa intui&#231;&#227;o. Para o n&#237;vel 13 do jogo, o espa&#231;o de estados (o conjunto de todas as configura&#231;&#245;es poss&#237;veis do tabuleiro considerando o fluxo de doces caindo) foi estimado em aproximadamente 10 elevado a 182. Para compara&#231;&#227;o, o universo observ&#225;vel cont&#233;m na ordem de 10 elevado a 80 &#225;tomos, e existem aproximadamente 10 elevado a 50 configura&#231;&#245;es legais em um tabuleiro de xadrez. Um &#250;nico n&#237;vel de Candy Crush tem um espa&#231;o de estados muitas ordens de magnitude maior que o jogo completo de xadrez.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1EGu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1EGu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 424w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 848w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1EGu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png" width="465" height="443.5516605166052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1034,&quot;width&quot;:1084,&quot;resizeWidth&quot;:465,&quot;bytes&quot;:1054866,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1EGu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 424w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 848w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!1EGu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8df79403-9266-4ee1-9339-87f6aa67e2e0_1084x1034.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Crushing Candy Crush : Predicting Human Success Rate in a Mobile Game using Monte-Carlo Tree Search</figcaption></figure></div><p>Esse n&#250;mero tamb&#233;m explica por que o jogo tem uma propriedade interessante: mesmo que voc&#234; jogue o mesmo n&#237;vel milhares de vezes, &#233; estatisticamente improv&#225;vel que as mesmas configura&#231;&#245;es se repitam. A &#8220;previsibilidade do imprevis&#237;vel&#8221; que jogadores percebem vem exatamente dessa vastid&#227;o.</p><h2>Abordagem 1: Monte Carlo Tree Search</h2><p>A primeira tentativa s&#233;ria de automatizar a estimativa de dificuldade veio na tese de mestrado de Erik Poromaa em 2016, publicada em 2017, com o t&#237;tulo &#8220;<a href="https://www.semanticscholar.org/paper/Crushing-Candy-Crush-%3A-Predicting-Human-Success-in-Poromaa/36b634a2e23e3734ec591d58849cb102612a3029">Crushing Candy Crush: Predicting Human Success Rate in a Mobile Game using Monte-Carlo Tree Search</a>&#8221;.</p><p>Monte Carlo Tree Search &#233; a fam&#237;lia de algoritmos que tamb&#233;m est&#225; por tr&#225;s de sistemas como o AlphaGo. A intui&#231;&#227;o &#233; a seguinte: <em>a partir do estado atual, simule milhares de jogos completos escolhendo a&#231;&#245;es por algum crit&#233;rio (no caso mais simples, aleatoriamente), registre quais jogos terminam em sucesso, e use essa estat&#237;stica para decidir qual a&#231;&#227;o tomar no estado real</em>.</p><p>A aplica&#231;&#227;o a Candy Crush enfrenta dois problemas principais. O primeiro &#233; o branching factor alto. Em um tabuleiro 9x9 com seis cores de doces, h&#225; dezenas de movimentos legais em cada posi&#231;&#227;o, e o jogo tem 40 ou mais movimentos por n&#237;vel. A &#225;rvore de busca cresce muito r&#225;pido. O segundo &#233; a aleatoriedade intr&#237;nseca do jogo: quando voc&#234; elimina doces, novos doces caem em posi&#231;&#245;es aleat&#243;rias, o que significa que duas simula&#231;&#245;es a partir do mesmo estado podem seguir trajet&#243;rias completamente diferentes. Isso exige muitas simula&#231;&#245;es por estado para ter estimativas est&#225;veis.</p><p>Poromaa reportou resultados razo&#225;veis superando m&#233;todos anteriores de teste manual, mas com limita&#231;&#245;es claras em custo computacional. A abordagem funciona, mas n&#227;o escala para o ritmo de produ&#231;&#227;o da King sem hardware significativo.</p><h2>Abordagem 2: Supervised Learning com CNN (a solu&#231;&#227;o em produ&#231;&#227;o da King)</h2><p>A abordagem que eventualmente foi para produ&#231;&#227;o est&#225; documentada no paper &#8220;<a href="https://gwern.net/doc/reinforcement-learning/imitation-learning/2018-gudmundsson.pdf">Human-Like Playtesting with Deep Learning</a>&#8221;, de autoria de Stefan Gudmundsson, Philipp Eisen, Erik Poromaa, Alex Nodet, Sami Purmonen, Bartlomiej Kozakowski, Richard Meurling e Lele Cao, todos engenheiros da King, publicado em 2018 na IEEE Conference on Computational Intelligence and Games.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0ciZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0ciZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 424w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 848w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 1272w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0ciZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png" width="966" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:966,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:556626,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dbc241a-464f-450c-aa43-afcd7422f502_966x460.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0ciZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 424w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 848w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 1272w, https://substackcdn.com/image/fetch/$s_!0ciZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc59b34d7-1747-4e20-be4c-f9ffadd54d39_966x460.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Human-Like Playtesting with Deep Learning</figcaption></figure></div><p>A arquitetura combina tr&#234;s elementos.</p><p><strong>Representa&#231;&#227;o do estado.</strong> O tabuleiro &#233; codificado como um tensor bin&#225;rio com aproximadamente 102 feature planes. Cada plano &#233; uma matriz bin&#225;ria do tamanho do tabuleiro onde cada c&#233;lula indica a presen&#231;a ou aus&#234;ncia de um atributo espec&#237;fico: cada cor de doce tem seu plano, cada tipo de doce especial tem seu plano (strip bombs horizontais, strip bombs verticais, wrapped bombs, color bombs), obst&#225;culos como geleias e chocolates t&#234;m planos pr&#243;prios, e o objetivo corrente do n&#237;vel &#233; codificado em planos adicionais. Essa representa&#231;&#227;o &#233; essencialmente equivalente ao input de uma rede neural convolucional aplicada a uma imagem, com a diferen&#231;a de que os canais s&#227;o sem&#226;nticos em vez de RGB.</p><p><strong>Dataset de decis&#245;es humanas.</strong> A King coletou aproximadamente 12 milh&#245;es de pares estado-a&#231;&#227;o (1.2 &#215; 10 elevado a 7) de jogadores reais em Candy Crush Saga e Candy Crush Soda Saga. Cada par registra a configura&#231;&#227;o do tabuleiro em um determinado momento e a a&#231;&#227;o que o jogador humano tomou em seguida. Isso &#233; o equivalente, em escala, a um dataset de vis&#227;o computacional como o ImageNet, mas com configura&#231;&#245;es de jogo e decis&#245;es em vez de imagens e r&#243;tulos.</p><p><strong>Rede neural convolucional.</strong> Uma CNN &#233; treinada por <a href="https://www.guilhermefavaron.com.br/p/o-que-e-inteligencia-artificial">aprendizado supervisionado</a> para prever, dada uma configura&#231;&#227;o do tabuleiro, a distribui&#231;&#227;o de probabilidade sobre as a&#231;&#245;es que um humano t&#237;pico tomaria. O output n&#227;o &#233; uma &#250;nica a&#231;&#227;o determin&#237;stica, &#233; uma distribui&#231;&#227;o. Em infer&#234;ncia, o agente amostra dessa distribui&#231;&#227;o, o que preserva a variabilidade de comportamento humano.</p><p>O pipeline de simula&#231;&#227;o ent&#227;o usa esse agente como substituto de testers humanos. O agente joga cada novo n&#237;vel centenas ou milhares de vezes, e a taxa de sucesso observada serve como estimativa da AHSR esperada quando o n&#237;vel for lan&#231;ado para jogadores reais.</p><p>O paper reporta que a abordagem CNN apresenta menor erro absoluto m&#233;dio (MAE) que MCTS, maior correla&#231;&#227;o com dificuldade real observada em produ&#231;&#227;o, e opera em uma fra&#231;&#227;o do tempo computacional. O ganho operacional &#233; que o playtesting que levava sete dias passou a ser feito em menos de um minuto por n&#237;vel.</p><p>H&#225; uma sutileza t&#233;cnica importante aqui. A rede n&#227;o est&#225; aprendendo a jogar otimamente, est&#225; aprendendo a reproduzir a distribui&#231;&#227;o emp&#237;rica de comportamento humano. Isso &#233; fundamental e vou voltar ao ponto.</p><h2>Abordagem 3: Deep Q-Network (a perspectiva acad&#234;mica)</h2><p>Uma perspectiva alternativa interessante aparece no projeto de Bowen Deng no curso CS230 de Deep Learning em Stanford, no inverno de 2020, intitulado &#8220;<a href="https://cs230.stanford.edu/projects_winter_2020/reports/32031465.pdf">Learn to play Candy Crush</a>&#8221;. Esse trabalho adota uma abordagem de reinforcement learning com Deep Q-Network (DQN), e &#233; instrutivo exatamente porque as decis&#245;es de design s&#227;o diferentes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0IUh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0IUh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 424w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 848w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 1272w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0IUh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png" width="1456" height="771" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:771,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100306,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0IUh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 424w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 848w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 1272w, https://substackcdn.com/image/fetch/$s_!0IUh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e293e30-3c92-4d3c-8912-e27ba57ab92c_1624x860.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Learn to play Candy Crush Stanford - CS230</figcaption></figure></div><p>Deng trabalha com um setup simplificado: tabuleiro 10x10 sem obst&#225;culos, 40 movimentos por jogo. O estado &#233; representado como uma matriz de dimens&#227;o (C + S) &#215; N &#215; N, onde C &#233; o n&#250;mero de cores de doces, S &#233; o n&#250;mero de doces especiais, e N &#233; o tamanho do tabuleiro. A representa&#231;&#227;o &#233; conceitualmente similar &#224; da King, embora com menos feature planes por ter escopo reduzido.</p><p>O espa&#231;o de a&#231;&#245;es &#233; de 2 &#215; N &#215; (N &#8722; 1) a&#231;&#245;es poss&#237;veis por posi&#231;&#227;o: o agente pode escolher uma c&#233;lula que n&#227;o esteja na coluna mais &#224; direita e trocar com a vizinha &#224; direita, ou escolher uma c&#233;lula que n&#227;o esteja na linha inferior e trocar com a vizinha abaixo. Em um tabuleiro 10x10, isso resulta em 180 a&#231;&#245;es poss&#237;veis, o que j&#225; &#233; um espa&#231;o de a&#231;&#227;o razoavelmente grande para reinforcement learning.</p><p>A arquitetura final, depois de v&#225;rias itera&#231;&#245;es, consiste em cinco camadas convolucionais (com 16, 32, 32, 32 e 32 canais), ativa&#231;&#245;es ReLU entre elas, e uma camada totalmente conectada no final produzindo Q-values para cada a&#231;&#227;o. O treinamento foi feito em AWS com 2.000 epis&#243;dios, usando epsilon-greedy para balancear explora&#231;&#227;o e explora&#231;&#227;o.</p><p>Deng testou duas variantes que diferem na fun&#231;&#227;o de recompensa: DQN com recompensa instant&#226;nea (a pontua&#231;&#227;o obtida imediatamente ap&#243;s a jogada) e DQN com recompensa Monte Carlo (uma estimativa da pontua&#231;&#227;o esperada, computada como m&#233;dia sobre futuras configura&#231;&#245;es aleat&#243;rias).</p><p>A observa&#231;&#227;o t&#233;cnica mais interessante do paper &#233; que a variante Monte Carlo na verdade n&#227;o faz sentido matem&#225;tico no contexto de Q-learning. Q-learning assume a equa&#231;&#227;o de Bellman, que pressup&#245;e que a recompensa &#233; causada pela a&#231;&#227;o espec&#237;fica tomada no estado espec&#237;fico, levando a um novo estado espec&#237;fico. A recompensa Monte Carlo &#233; uma estimativa aleat&#243;ria dessa recompensa instant&#226;nea, o que introduz um vi&#233;s estat&#237;stico no aprendizado da fun&#231;&#227;o de valor. Essa observa&#231;&#227;o &#233; um bom exemplo do tipo de erro sutil que aparece quando algu&#233;m aplica algoritmos conhecidos sem validar as suposi&#231;&#245;es te&#243;ricas que eles exigem.</p><p>Os resultados finais de Deng s&#227;o compar&#225;veis e, em alguns aspectos, superam MCTS no ambiente simplificado. Random pick produziu 157 pontos m&#233;dios em 40 movimentos, MCTS produziu 325 pontos, e DQN com recompensa instant&#226;nea produziu 370 pontos. Em testes contra um jogador humano, o DQN ficou &#8220;um pouco pior&#8221; nas palavras do autor, mas bastante pr&#243;ximo. O c&#243;digo est&#225; dispon&#237;vel publicamente em github.com/baolidakai/candy_crush_ai.</p><p>H&#225; uma distin&#231;&#227;o filos&#243;fica importante entre os trabalhos de Deng e os da King. Deng treinou um agente para maximizar pontua&#231;&#227;o, seguindo o paradigma cl&#225;ssico de reinforcement learning. A King treinou um agente para imitar comportamento humano, usando aprendizado supervisionado. Os dois agentes resolvem o jogo, mas servem a prop&#243;sitos completamente diferentes.</p><h2>A sutileza do &#8220;human-like&#8221; versus &#8220;optimal&#8221;</h2><p>Esse contraste &#233; o ponto mais interessante do design da King, e o que mais acho que vale extrair como li&#231;&#227;o de engenharia.</p><p>A intui&#231;&#227;o natural de algu&#233;m come&#231;ando em machine learning aplicado a jogos &#233; treinar um agente para jogar o melhor poss&#237;vel. Faz sentido para um jogo como xadrez ou Go, onde o objetivo &#233; ganhar. Mas para estimar dificuldade humana, um agente &#243;timo &#233; in&#250;til. Um bot que sempre encontra a melhor jogada acharia qualquer n&#237;vel trivial, porque com jogadas &#243;timas quase todos os n&#237;veis s&#227;o solucion&#225;veis dentro do or&#231;amento de movimentos dispon&#237;vel. A dificuldade percebida por humanos n&#227;o vem da dificuldade intr&#237;nseca do n&#237;vel em sentido &#243;timo, vem da dist&#226;ncia entre o comportamento humano t&#237;pico e o comportamento &#243;timo naquele n&#237;vel espec&#237;fico.</p><blockquote><p>O que a King queria era um agente cuja distribui&#231;&#227;o de resultados espelhasse a distribui&#231;&#227;o de resultados humanos. Isso significa um agente que cometa o tipo certo de erro, nas propor&#231;&#245;es certas. O aprendizado supervisionado em cima de decis&#245;es humanas reais captura exatamente isso. A rede neural n&#227;o est&#225; aprendendo estrat&#233;gia &#243;tima, est&#225; aprendendo a distribui&#231;&#227;o emp&#237;rica de comportamento humano.</p></blockquote><p>Um trabalho relacionado que vale mencionar &#233; &#8220;<a href="https://www.semanticscholar.org/paper/Winning-Isn-%E2%80%99-t-Everything-%3A-Training-Agents-to-Borovikov-Zhao/b7a98d2d0c31dd727d6f4e327fbf73a0ad955221">Winning Isn&#8217;t Everything: Training Human-Like Agents for Playtesting</a>&#8221;, publicado por pesquisadores da Electronic Arts. O t&#237;tulo do paper &#233; essencialmente uma declara&#231;&#227;o de design: em playtesting automatizado, o objetivo n&#227;o pode ser vencer, precisa ser reproduzir a experi&#234;ncia de quem vai jogar.</p><p>A <a href="https://arxiv.org/pdf/2007.01137">Universidade Roma Tre tamb&#233;m publicou em 2020 um sistema chamado JellyGym</a>, aplicando deep reinforcement learning &#224; classe geral de jogos match-3. A arquitetura usa uma rede com camada oculta de 100 neur&#244;nios totalmente conectada, seguida por outra de 200 neur&#244;nios, e uma camada de sa&#237;da com 324 neur&#244;nios, um para cada swap poss&#237;vel (incluindo swaps proibidos). O treinamento foi feito em GPU Tesla V100. Os autores compararam quatro jogadores: Random Player (a&#231;&#245;es com probabilidade fixa), JellyGym (melhor a&#231;&#227;o segundo o modelo), Smart Player (melhor tipo de Jolly) e Real Users. A compara&#231;&#227;o expl&#237;cita com usu&#225;rios reais, novamente, refor&#231;a o ponto de que o benchmark relevante &#233; comportamento humano.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d62p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d62p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 424w, https://substackcdn.com/image/fetch/$s_!d62p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 848w, https://substackcdn.com/image/fetch/$s_!d62p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 1272w, https://substackcdn.com/image/fetch/$s_!d62p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d62p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png" width="381" height="432.6934673366834" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7cd536d-9882-45d5-ade8-195514a1525a_796x904.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:796,&quot;resizeWidth&quot;:381,&quot;bytes&quot;:246457,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d62p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 424w, https://substackcdn.com/image/fetch/$s_!d62p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 848w, https://substackcdn.com/image/fetch/$s_!d62p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 1272w, https://substackcdn.com/image/fetch/$s_!d62p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7cd536d-9882-45d5-ade8-195514a1525a_796x904.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Esse framing &#233; transfer&#237;vel para outros contextos. Em qualquer problema de simula&#231;&#227;o ou estimativa baseada em comportamento, a pergunta inicial precisa ser: estou tentando modelar o &#243;timo ou o real. S&#227;o objetivos diferentes, exigem datasets diferentes, fun&#231;&#245;es de perda diferentes, e produzem modelos com propriedades completamente distintas.</p><h2>BAIT e a camada de QA visual</h2><p>Al&#233;m do sistema de estimativa de dificuldade, a King construiu uma ferramenta complementar chamada BAIT (Bot for AI Testing), documentada em um artigo do InfoQ por Alexander Andelkovic em 2019.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Socn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Socn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 424w, https://substackcdn.com/image/fetch/$s_!Socn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 848w, https://substackcdn.com/image/fetch/$s_!Socn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!Socn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Socn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png" width="399" height="408.93950177935943" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1152,&quot;width&quot;:1124,&quot;resizeWidth&quot;:399,&quot;bytes&quot;:757485,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Socn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 424w, https://substackcdn.com/image/fetch/$s_!Socn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 848w, https://substackcdn.com/image/fetch/$s_!Socn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!Socn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cb2cf1d-1961-4093-bdb8-bbcb7b3f85b8_1124x1152.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>O BAIT j&#225; percorreu mais de 4.500 n&#237;veis automaticamente, detectando problemas que s&#227;o tediosos para QA humano: texturas ausentes, strings de texto faltando (onde o ID da string aparece no lugar do texto traduzido), elementos gr&#225;ficos sobrepostos, e artefatos de renderiza&#231;&#227;o em diferentes resolu&#231;&#245;es e orienta&#231;&#245;es de celular. Para a detec&#231;&#227;o visual automatizada, usa uma combina&#231;&#227;o de algoritmos de similaridade de contorno e a Google Vision API.</p><p>Essa parte da hist&#243;ria &#233; um lembrete de que em opera&#231;&#245;es reais de IA, <strong>o modelo central &#233; frequentemente uma pe&#231;a entre v&#225;rias</strong>. </p><blockquote><p>A estimativa de dificuldade resolve uma categoria de problema. O QA visual automatizado resolve outra. Juntos, eles liberam ciclos humanos para trabalho criativo que realmente exige julgamento humano.</p></blockquote><h2>Tr&#234;s li&#231;&#245;es para projetos de IA em empresas</h2><p>Saindo do contexto espec&#237;fico de Candy Crush, h&#225; tr&#234;s princ&#237;pios que aparecem no caso da King e que aplico mentalmente quando olho para projetos de IA em organiza&#231;&#245;es.</p><h3>Li&#231;&#227;o 1: Defini&#231;&#227;o operacional do objetivo</h3><p>O maior erro recorrente em projetos de IA aplicada &#233; come&#231;ar com um objetivo vago. &#8220;Melhorar experi&#234;ncia do cliente&#8221;, &#8220;otimizar processo comercial&#8221;, &#8220;acelerar decis&#227;o&#8221;. Esses objetivos n&#227;o s&#227;o trein&#225;veis. Um modelo precisa de uma fun&#231;&#227;o de perda, e uma fun&#231;&#227;o de perda precisa de uma m&#233;trica operacional clara.</p><p>A King n&#227;o treinou um modelo para &#8220;melhorar dificuldade dos n&#237;veis&#8221;. Treinou um modelo para prever AHSR com erro absoluto m&#233;dio abaixo de um limiar espec&#237;fico. <strong>A tradu&#231;&#227;o de um objetivo de neg&#243;cio para uma m&#233;trica operacional &#233; onde a maior parte do valor de um projeto de IA &#233; criada ou destru&#237;da</strong>. E essa tradu&#231;&#227;o quase sempre exige discuss&#245;es repetidas entre o time de produto e o time t&#233;cnico, porque as primeiras vers&#245;es costumam estar erradas.</p><p>O contraste entre King (supervised learning) e Deng (reinforcement learning) ilustra bem o ponto. Os dois come&#231;aram do mesmo jogo, mas tinham objetivos operacionais diferentes. Deng queria maximizar score, King queria prever comportamento humano. Os modelos resultantes s&#227;o incompar&#225;veis n&#227;o porque uma abordagem &#233; melhor, mas porque resolvem problemas diferentes.</p><h3>Li&#231;&#227;o 2: O problema real est&#225; nos dados, n&#227;o no modelo</h3><p>Philipp Eisen, engenheiro de machine learning na King, fez uma observa&#231;&#227;o que sintetiza bem a realidade: a maior parte do tempo em um projeto de ML n&#227;o &#233; gasto ajustando modelos, &#233; gasto colocando dados no formato certo, limpando, rotulando, transformando. Alex Nodet, tamb&#233;m da King, em entrevista ao Computer Weekly em 2019, fez uma observa&#231;&#227;o complementar: &#8220;Ter um modelo de ML treinado e aprendendo &#233; apenas metade do trabalho.&#8221; A outra metade &#233; coloc&#225;-lo em produ&#231;&#227;o de forma confi&#225;vel, monitorada, com dados chegando no formato esperado.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ToQj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ToQj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ToQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4382913,&quot;alt&quot;:&quot;A realidade dos projetos de ML&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/194738472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A realidade dos projetos de ML" title="A realidade dos projetos de ML" srcset="https://substackcdn.com/image/fetch/$s_!ToQj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ToQj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc035221-31de-4881-8d15-7c0e409a1f34_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A realidade dos projetos de ML</figcaption></figure></div><p>Essa afirma&#231;&#227;o &#233; repetida &#224; exaust&#227;o em confer&#234;ncias de data science, e ainda assim &#233; sistematicamente subestimada em or&#231;amentos de projeto. Equipes planejam projetos de IA como se fossem 70% modelagem e 30% dados. A realidade costuma ser o inverso.</p><p>O caso da King &#233; particularmente ilustrativo porque os 12 milh&#245;es de pares estado-a&#231;&#227;o n&#227;o apareceram magicamente. Eles s&#227;o o resultado de anos de instrumenta&#231;&#227;o cuidadosa da telemetria de jogo, decis&#245;es sobre o que armazenar, arquitetura de pipelines que levam dados de dispositivos m&#243;veis para sistemas de treinamento, e infraestrutura para manter tudo isso em produ&#231;&#227;o. A King usa Google Cloud com Pub/Sub como middleware para o loop de feedback entre simula&#231;&#245;es e m&#243;dulos de an&#225;lise.</p><p>No meu trabalho no <a href="https://www.griinstitute.org/">GRI Institute</a>, onde lidero um data lake consolidando 13 fontes em BigQuery e Redshift, isso se confirma todos os dias. A parte mais cara do pipeline n&#227;o s&#227;o os modelos, s&#227;o os ETLs, a reconcilia&#231;&#227;o de identificadores, a limpeza de inconsist&#234;ncias, a constru&#231;&#227;o de taxonomia can&#244;nica, a rotulagem sem&#226;ntica. Os modelos v&#234;m depois, e costumam ser a parte simples.</p><h3>Velocidade de itera&#231;&#227;o &#233; o que muda o jogo</h3><p>O ganho econ&#244;mico real da King n&#227;o foi ter um modelo mais preciso. Foi reduzir o ciclo de feedback de calibra&#231;&#227;o de n&#237;veis de sete dias para menos de um minuto. Essa mudan&#231;a de ordem de magnitude no tempo de itera&#231;&#227;o altera completamente a economia do design.</p><p>Quando o custo de testar uma hip&#243;tese cai drasticamente, o comportamento racional muda. Em vez de preparar cuidadosamente uma hip&#243;tese antes de testar, voc&#234; testa muitas hip&#243;teses em paralelo e usa os dados para decidir quais aprofundar. Isso &#233; o princ&#237;pio que est&#225; por tr&#225;s de fen&#244;menos como A/B testing em massa em produtos digitais, e &#233; o mesmo princ&#237;pio que permite &#224; King manter o ritmo de lan&#231;amento de 15 n&#237;veis por semana.</p><p>Ao avaliar projetos de IA candidatos em uma empresa, uma boa pergunta estrat&#233;gica &#233;: <strong>que ciclo de aprendizado atualmente leva semanas e poderia ser reduzido para minutos</strong>. Esse tipo de projeto geralmente tem retorno superior a projetos que prometem apenas mais precis&#227;o em uma decis&#227;o que j&#225; &#233; tomada rapidamente.</p><h2>Por que comparar as tr&#234;s abordagens importa</h2><p>As tr&#234;s abordagens publicadas (MCTS de Poromaa, CNN supervisionada da King, DQN de Deng) s&#227;o tecnicamente interessantes por si s&#243;, mas comparadas elas ensinam algo mais geral sobre como escolher um m&#233;todo de machine learning para um problema real.</p><p>MCTS &#233; apropriado quando voc&#234; tem um simulador do ambiente e quer encontrar boas jogadas, sem precisar de dados de treinamento. &#201; computacionalmente caro em infer&#234;ncia, e n&#227;o aprende entre epis&#243;dios.</p><p>DQN &#233; apropriado quando voc&#234; quer aprender uma pol&#237;tica &#243;tima a partir de recompensa escalar, e tem recursos para rodar muitos epis&#243;dios de treinamento. Aprende uma pol&#237;tica gen&#233;rica, mas n&#227;o necessariamente uma pol&#237;tica humana.</p><p>Supervised learning em cima de dados comportamentais &#233; apropriado quando voc&#234; tem acesso a decis&#245;es humanas em escala e quer reproduzir distribui&#231;&#227;o de comportamento, n&#227;o estrat&#233;gia &#243;tima. &#201; barato em infer&#234;ncia, mas depende criticamente da qualidade e volume dos dados.</p><p>A escolha entre os tr&#234;s n&#227;o &#233; t&#233;cnica em primeiro lugar, <strong>&#233; uma escolha sobre qual problema voc&#234; est&#225; resolvendo</strong>. E essa decis&#227;o precisa vir antes da arquitetura.</p><p>O caso Candy Crush &#233; um dos exemplos mais bem documentados de IA aplicada a um problema de produto real, em escala industrial, com dados de telemetria massivos, e com alternativas acad&#234;micas bem documentadas para compara&#231;&#227;o. Para quem trabalha com dados ou IA em empresas, os detalhes s&#227;o instrutivos.</p><h2>Refer&#234;ncias</h2><p>Para quem quiser se aprofundar tecnicamente, as fontes principais s&#227;o:</p><p>Gudmundsson, S., Eisen, P., Poromaa, E., Nodet, A., Purmonen, S., Kozakowski, B., Meurling, R., Cao, L. &#8220;<a href="https://gwern.net/doc/reinforcement-learning/imitation-learning/2018-gudmundsson.pdf">Human-Like Playtesting with Deep Learning</a>&#8221;. IEEE Conference on Computational Intelligence and Games, 2018. O paper da pr&#243;pria King descrevendo a arquitetura CNN em produ&#231;&#227;o.</p><p>Deng, B. &#8220;<a href="https://cs230.stanford.edu/projects_winter_2020/reports/32031465.pdf">Learn to play Candy Crush</a>&#8221;. Stanford CS230 Deep Learning, Winter 2020. Abordagem via Deep Q-Network com c&#243;digo aberto em github.com/baolidakai/candy_crush_ai.</p><p>Poromaa, E. R. &#8220;<a href="https://www.semanticscholar.org/paper/Crushing-Candy-Crush-%3A-Predicting-Human-Success-in-Poromaa/36b634a2e23e3734ec591d58849cb102612a3029">Crushing Candy Crush: Predicting Human Success Rate in a Mobile Game using Monte-Carlo Tree Search</a>&#8221;. Master&#8217;s thesis, KTH Royal Institute of Technology, 2017.</p><p>Purmonen, S. &#8220;<a href="https://www.semanticscholar.org/paper/Predicting-Game-Level-Difficulty-Using-Deep-Neural-Purmonen/c3b44d6c836a38bef86d4cae33c7ffbdd910762c">Predicting Game Level Difficulty Using Deep Neural Networks</a>&#8221;. Master&#8217;s thesis, KTH Royal Institute of Technology, 2017.</p><p>Walsh, T. &#8220;<a href="https://arxiv.org/pdf/1403.1911">Candy Crush is NP-hard</a>&#8221;. arXiv:1403.1911, 2014.</p><p>Andelkovic, A. &#8220;<a href="https://www.infoq.com/articles/candy-crush-QA-AI-saga/">How King uses AI to test Candy Crush Saga</a>&#8221;. InfoQ, 2019.</p><p>Zhao, Y., Borovikov, I., Beirami, A., et al. &#8220;<a href="https://www.semanticscholar.org/paper/Winning-Isn-%E2%80%99-t-Everything-%3A-Training-Agents-to-Borovikov-Zhao/b7a98d2d0c31dd727d6f4e327fbf73a0ad955221">Winning Isn&#8217;t Everything: Training Human-Like Agents for Playtesting</a>&#8221;. Electronic Arts / NeurIPS, 2020.</p><p>&#8220;<a href="https://arxiv.org/pdf/2007.01137">Testing match-3 video games with Deep Reinforcement Learning</a>&#8221;. arXiv:2007.01137, 2020. Universidade Roma Tre.</p>]]></content:encoded></item><item><title><![CDATA[Como transformei dados fragmentados em uma plataforma pronta para IA, preservando todos os sistemas legados]]></title><description><![CDATA[Uma arquitetura em camadas para consolidar dezenas de fontes heterog&#234;neas, habilitar intelig&#234;ncia artificial e retroalimentar toda a opera&#231;&#227;o, sem risco e sem reescrever sistemas originais e legados]]></description><link>https://www.guilhermefavaron.com.br/p/arquitetura-consolidacao-dados-ia-sem-reescrever-sistemas-legados</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/arquitetura-consolidacao-dados-ia-sem-reescrever-sistemas-legados</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Sun, 29 Mar 2026 21:13:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y7wF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y7wF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y7wF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 424w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 848w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 1272w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y7wF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png" width="1456" height="1020" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3eaaa447-01d8-497b-9604-d085f225451a_2412x1690.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1020,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330468,&quot;alt&quot;:&quot;Arquitetura de consolida&#231;&#227;o de dados&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/192545449?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eaaa447-01d8-497b-9604-d085f225451a_2412x1690.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Arquitetura de consolida&#231;&#227;o de dados" title="Arquitetura de consolida&#231;&#227;o de dados" srcset="https://substackcdn.com/image/fetch/$s_!y7wF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 424w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 848w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 1272w, https://substackcdn.com/image/fetch/$s_!y7wF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cf83cb9-867c-46a4-bf9d-4145cb61eecb_2412x1690.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Arquitetura de consolida&#231;&#227;o de dados</figcaption></figure></div><p>Toda empresa com mais de tr&#234;s anos de opera&#231;&#227;o tem o mesmo problema. Ningu&#233;m planejou que os sistemas conversassem entre si. O CRM roda em MySQL, o financeiro em PostgreSQL, a plataforma de relacionamento com clientes usa outro MySQL com schema completamente diferente, o marketing alimenta planilhas e ferramentas SaaS que exp&#245;em APIs pr&#243;prias, e h&#225; dados em filas, em caches, em buckets de storage, em bancos NoSQL que algu&#233;m subiu para um projeto piloto que ficou. Cada sistema foi a melhor decis&#227;o no contexto em que nasceu. O problema real sempre foi a aus&#234;ncia de uma estrat&#233;gia de consolida&#231;&#227;o.</p><p>Quando um diretor pede &#8220;quero um relat&#243;rio cruzando engajamento com receita&#8221;, a resposta honesta em muitas empresas &#233;: &#8220;precisamos de dois dias e tr&#234;s planilhas coladas no Excel&#8221;.</p><p>Este artigo descreve a arquitetura que desenhei e implementei para resolver esse problema, com foco no racional por tr&#225;s de cada decis&#227;o.</p><div><hr></div><h2>O cen&#225;rio: dados em volume, sem utilidade pr&#225;tica</h2><p>O cliente operava com dezenas de sistemas acumulados ao longo de anos: bancos MySQL em vers&#245;es diferentes, inst&#226;ncias PostgreSQL, APIs de terceiros, planilhas compartilhadas que funcionavam como &#8220;banco de dados&#8221; de &#225;reas inteiras, dados em ferramentas SaaS acess&#237;veis apenas por exporta&#231;&#227;o manual. Os dados estavam l&#225;, em volume consider&#225;vel, mas apresentavam tr&#234;s problemas cr&#237;ticos:</p><p><strong>Fragmenta&#231;&#227;o.</strong> Uma mesma entidade (um cliente, um contrato, uma transa&#231;&#227;o) existia em dois ou tr&#234;s sistemas com schemas diferentes, IDs diferentes, e graus de atualiza&#231;&#227;o diferentes. Sem fonte &#250;nica de verdade.</p><p><strong>Obsolesc&#234;ncia.</strong> Campos abandonados, registros duplicados, categorias que j&#225; n&#227;o refletiam a opera&#231;&#227;o. O dado envelhecia dentro do banco sem que ningu&#233;m o curasse.</p><p><strong>Opacidade para IA.</strong> Este era o ponto decisivo. A empresa queria usar intelig&#234;ncia artificial para recomenda&#231;&#245;es, automa&#231;&#227;o e an&#225;lise preditiva. IA opera sobre dados consistentes e estruturados. Um modelo de linguagem que recebe contexto fragmentado produz respostas fragmentadas. Um modelo de scoring alimentado com duplicatas gera rankings distorcidos.</p><p>O desafio era ao mesmo tempo t&#233;cnico e estrat&#233;gico: tornar o patrim&#244;nio de dados da empresa utiliz&#225;vel por IA, sem interromper as opera&#231;&#245;es que dependiam dos sistemas existentes.</p><div><hr></div><h2>O princ&#237;pio: zero impacto nas origens</h2><p>A primeira decis&#227;o arquitetural, e provavelmente a mais importante, foi preservar os sistemas originais intactos.</p><p>Reescrever um CRM legado ou migrar um ERP financeiro para um banco unificado &#233; o tipo de projeto que consome meses, gera risco operacional, e frequentemente falha. J&#225; vi isso acontecer. O sistema &#8220;novo e melhor&#8221; fica pronto com 70% das funcionalidades do antigo, e a equipe operacional passa seis meses compensando as lacunas manualmente.</p><p>A abordagem que adotei parte de uma premissa simples: manter cada aplica&#231;&#227;o original rodando exatamente como est&#225;, alimentando seus respectivos bancos, APIs e storages normalmente. Cada fonte de dados, independente da tecnologia (MySQL, PostgreSQL, APIs REST, arquivos em bucket, exporta&#231;&#245;es de SaaS), passa a ser espelhada, de forma incremental e n&#227;o intrusiva, para um data lake centralizado.</p><p>Na pr&#225;tica, o time operacional n&#227;o percebe nenhuma diferen&#231;a no dia a dia. O CRM continua funcionando. O ERP continua emitindo notas. A plataforma web continua servindo usu&#225;rios. As planilhas do marketing continuam sendo preenchidas. Nos bastidores, cada altera&#231;&#227;o em cada uma dessas fontes &#233; capturada e replicada para uma camada de armazenamento separada, independente de ser um banco relacional, uma API, ou um arquivo CSV em um bucket.</p><div><hr></div><h2>A arquitetura em camadas</h2><p>O desenho final tem quatro camadas distintas, cada uma com uma responsabilidade clara.</p><h3>Camada 1: Aplica&#231;&#245;es Originais</h3><p>MySQL em diferentes vers&#245;es, PostgreSQL, APIs de SaaS, planilhas, filas de mensagens, arquivos em storage. Cada sistema continua operando como sempre operou. O &#250;nico ponto de contato &#233; o mecanismo de captura adequado a cada tecnologia: CDC para bancos relacionais, conectores de API para SaaS, ingest&#227;o de arquivos para exports e planilhas, consumers para filas. A complexidade est&#225; justamente em lidar com essa diversidade sem impor um padr&#227;o &#250;nico na origem. Esta camada &#233; apenas observada, nunca alterada.</p><h3>Camada 2: Data Lake (Espelhamento)</h3><p>Aqui os dados chegam organizados em tr&#234;s zonas:</p><p>A <strong>Raw Zone</strong> recebe o dado bruto, exatamente como saiu da origem. Sem transforma&#231;&#227;o, sem limpeza. &#201; o registro hist&#243;rico fiel do que cada sistema produziu. Fundamental para auditoria e para reprocessamento quando as regras de neg&#243;cio mudam.</p><p>A <strong>Staging Zone</strong> aplica as primeiras transforma&#231;&#245;es: limpeza, deduplica&#231;&#227;o, tipagem correta, valida&#231;&#227;o de qualidade. Um campo &#8220;telefone&#8221; que no MySQL era varchar livre aqui &#233; padronizado. Um registro duplicado &#233; identificado e marcado.</p><p>A <strong>Curated Zone</strong> &#233; onde o dado ganha estrutura de neg&#243;cio. As entidades s&#227;o consolidadas: o &#8220;cliente&#8221; que existia em tr&#234;s sistemas agora &#233; uma &#250;nica entidade com todos os atributos unificados. O modelo relacional passa a refletir a realidade do neg&#243;cio, alinhado &#224; opera&#231;&#227;o e ao vocabul&#225;rio da empresa.</p><h3>Camada 3: Enriquecimento e Intelig&#234;ncia</h3><p>Esta camada &#233; onde o dado se torna operacional para IA, e onde mora boa parte do valor diferencial da arquitetura.</p><p>Sobre a base consolidada da Curated Zone, esta camada executa processamentos que adicionam informa&#231;&#227;o. Modelos de scoring calculam propens&#227;o, relev&#226;ncia, risco. Algoritmos de matchmaking cruzam perfis para gerar recomenda&#231;&#245;es. Enriquecimento externo adiciona dados de terceiros (geocodifica&#231;&#227;o, dados de mercado, complementos cadastrais). M&#233;tricas de neg&#243;cio s&#227;o pr&#233;-calculadas e materializadas para consumo r&#225;pido.</p><p>O ponto cr&#237;tico aqui &#233; que algumas aplica&#231;&#245;es finais j&#225; vivem nesta camada. O sistema de matchmaking, por exemplo, funciona como um servi&#231;o que consome e produz dados em tempo quase-real. Esta camada &#233; parte ativa da opera&#231;&#227;o.</p><h3>Camada 4: Aplica&#231;&#245;es Finais (Consumo e Retroalimenta&#231;&#227;o)</h3><p>Dashboards, APIs inteligentes, automa&#231;&#245;es, e agentes de IA. Todas essas aplica&#231;&#245;es consomem dados que j&#225; passaram por consolida&#231;&#227;o, limpeza, e enriquecimento. Um agente de IA que responde perguntas sobre clientes consulta uma &#250;nica camada que j&#225; consolidou e enriqueceu a informa&#231;&#227;o de todas as origens.</p><p>Um aspecto fundamental desta camada &#233; que ela retroalimenta todas as anteriores. Os scores calculados por modelos de ML podem ser escritos de volta nos bancos de origem, para que as aplica&#231;&#245;es legadas se beneficiem da intelig&#234;ncia gerada. Novos dados produzidos por automa&#231;&#245;es alimentam o data lake. Resultados de agentes de IA recalculam m&#233;tricas na camada de enriquecimento. O sistema forma um ciclo: cada camada se beneficia do que as outras produzem.</p><div><hr></div><h2>Decis&#245;es que importaram</h2><p>Algumas decis&#245;es t&#233;cnicas merecem destaque por terem sido determinantes para o sucesso do projeto.</p><p><strong>CDC para bancos, conectores para o resto.</strong> Change Data Capture permite replicar apenas o que mudou nos bancos relacionais, reduzindo janela de lat&#234;ncia e custo de processamento. Mas CDC &#233; apenas uma das estrat&#233;gias. Para APIs de SaaS, h&#225; conectores que sincronizam periodicamente. Para planilhas e exports, h&#225; ingest&#227;o baseada em eventos de arquivo. A decis&#227;o de qual mecanismo usar para cada fonte &#233; parte do trabalho de arquitetura, e cada escolha errada aqui se paga em fragilidade do pipeline.</p><p><strong>Schema-on-read na Raw Zone.</strong> Permitir que os dados cheguem sem schema r&#237;gido absorve mudan&#231;as nos sistemas de origem sem quebrar o pipeline. Quando o time de produto adiciona um campo no CRM, o data lake absorve automaticamente. A transforma&#231;&#227;o acontece nas camadas seguintes, onde h&#225; controle.</p><p><strong>Materialized views para m&#233;tricas.</strong> KPIs pr&#233;-calculados e atualizados incrementalmente eliminam a necessidade de queries complexas em tempo real. O dashboard que carrega em menos de 2 segundos s&#243; &#233; poss&#237;vel porque o c&#225;lculo pesado j&#225; foi feito antecipadamente.</p><p><strong>Separa&#231;&#227;o entre enriquecimento e consumo.</strong> Manter a camada de intelig&#234;ncia separada da camada de consumo permite que diferentes aplica&#231;&#245;es usem diferentes n&#237;veis de processamento. Um dashboard simples pode consumir direto da Curated Zone. Um agente de IA precisa dos dados enriquecidos. Essa flexibilidade evita over-engineering para casos simples.</p><p><strong>Retroalimenta&#231;&#227;o entre camadas.</strong> Permitir que as aplica&#231;&#245;es finais escrevam dados de volta nas camadas anteriores transforma a arquitetura em um sistema vivo. Os dados melhoram a cada ciclo: um score gerado na Camada 3 pode refinar um processo na Camada 1, que por sua vez produz dados de melhor qualidade no pr&#243;ximo ciclo de ingest&#227;o.</p><div><hr></div><h2>O resultado: dados como ativo estrat&#233;gico</h2><p>A empresa passou a contar com uma plataforma de dados consolidada que serve como alicerce para todas as iniciativas de IA e automa&#231;&#227;o da opera&#231;&#227;o.</p><p>Funcionalidades que exigiam semanas de trabalho manual passaram a ser implement&#225;veis em dias. Novos agentes de IA podem ser conectados &#224; plataforma sem necessidade de integra&#231;&#245;es customizadas. Novas aplica&#231;&#245;es consomem dados j&#225; consolidados e enriquecidos desde o primeiro dia.</p><p>Nenhum sistema original foi descontinuado ou reescrito. O risco operacional foi zero. A equipe continuou trabalhando normalmente enquanto a infraestrutura de dados era constru&#237;da em paralelo.</p><div><hr></div><h2>Para quem enfrenta o mesmo desafio</h2><p>Se sua empresa tem dados em m&#250;ltiplos sistemas e est&#225; tentando viabilizar projetos de IA, a pergunta mais produtiva &#233;: &#8220;nossos dados est&#227;o prontos para alimentar IA de forma confi&#225;vel?&#8221;</p><p>Na grande maioria dos casos, ainda n&#227;o est&#227;o. E a solu&#231;&#227;o passa por construir uma camada de intelig&#234;ncia sobre os sistemas que j&#225; existem.</p><p>Este &#233; o tipo de projeto que tenho prazer em conceber e executar: diagn&#243;stico de maturidade de dados, desenho de arquitetura de consolida&#231;&#227;o, e implementa&#231;&#227;o de plataformas que transformam dados fragmentados em ativos estrat&#233;gicos prontos para IA.</p><p>Se quiser conversar sobre como isso se aplica &#224; sua realidade, me encontre no LinkedIn ou entre em contato diretamente.</p><div><hr></div><p><em>Guilherme Favaron &#233; especializado em arquitetura de dados e plataformas de IA. Trabalha com empresas que querem extrair valor real dos dados que j&#225; possuem.</em></p>]]></content:encoded></item><item><title><![CDATA[Como integrar IA nos seus sistemas legados: um workflow real]]></title><description><![CDATA[Criar do zero &#233; f&#225;cil. O desafio est&#225; em integrar IA nos sistemas que j&#225; rodam em produ&#231;&#227;o. Aqui est&#225; o workflow que uso no meu time.]]></description><link>https://www.guilhermefavaron.com.br/p/como-integrar-ia-nos-seus-sistemas-legados</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/como-integrar-ia-nos-seus-sistemas-legados</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Sun, 29 Mar 2026 16:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Bsuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bsuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bsuf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bsuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62a5afa5-3e46-42f1-bd8a-6a678fb88e7b_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7283880,&quot;alt&quot;:&quot;Workflow de integra&#231;&#227;o de IA em Sistemas Legados&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/192508322?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a5afa5-3e46-42f1-bd8a-6a678fb88e7b_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Workflow de integra&#231;&#227;o de IA em Sistemas Legados" title="Workflow de integra&#231;&#227;o de IA em Sistemas Legados" srcset="https://substackcdn.com/image/fetch/$s_!Bsuf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Bsuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa07defb-2422-4b5f-99bf-89bb5a2a562b_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Workflow de integra&#231;&#227;o de IA em Sistemas Legados</figcaption></figure></div><p>Voc&#234; j&#225; viu aqueles v&#237;deos. Algu&#233;m abre um prompt, descreve um app em tr&#234;s frases, e em dois minutos tem um produto funcionando. Login, dashboard, API, deploy. Tudo gerado por IA, do zero, sem esfor&#231;o aparente.</p><p>&#201; impressionante. E &#233; real.</p><p>Mas se voc&#234; trabalha com software de verdade, aquele sistema que j&#225; roda em produ&#231;&#227;o, atende clientes, processa pagamentos, sustenta opera&#231;&#245;es, voc&#234; sabe que a sua realidade &#233; outra. Voc&#234; est&#225; no meio de um jogo que j&#225; come&#231;ou, com regras que j&#225; foram definidas, c&#243;digo que j&#225; foi escrito, e um time que j&#225; tem seus processos.</p><p>A pergunta que realmente importa &#233;: <strong>como integrar IA no que j&#225; existe?</strong></p><div><hr></div><h2><strong>Por que come&#231;ar do zero &#233; f&#225;cil</strong></h2><p>Quando voc&#234; cria um app do zero com IA, tudo conspira a seu favor.</p><p>N&#227;o existe arquitetura legada para respeitar. N&#227;o existe d&#237;vida t&#233;cnica acumulada. N&#227;o existem depend&#234;ncias de terceiros que ningu&#233;m atualiza h&#225; dois anos. N&#227;o existe aquela regra de neg&#243;cio obscura que est&#225; num <code>if</code> no meio de um service que ningu&#233;m quer mexer.</p><p>A IA gera c&#243;digo sem conflitos porque n&#227;o h&#225; c&#243;digo anterior. Ela toma decis&#245;es de arquitetura sem restri&#231;&#245;es porque n&#227;o h&#225; restri&#231;&#245;es. O resultado &#233; limpo, coerente e bonito, exatamente porque o contexto &#233; vazio.</p><p>Mas aqui est&#225; o ponto: <strong>a esmagadora maioria do software que gera valor j&#225; existe e j&#225; est&#225; rodando</strong>. O greenfield, aquele projeto que nasce do zero, sem bagagem, &#233; a exce&#231;&#227;o. E otimizar para a exce&#231;&#227;o &#233; uma armadilha.</p><p>Se voc&#234; esperar o pr&#243;ximo projeto greenfield para come&#231;ar a usar IA, vai ficar esperando por muito tempo. O desafio de verdade est&#225; nos sistemas que j&#225; est&#227;o a&#237;.</p><div><hr></div><h2><strong>O desafio real: IA dentro de sistemas que j&#225; funcionam</strong></h2><p>Integrar IA em sistemas legados &#233; um problema fundamentalmente diferente de criar algo do zero. Alguns dos motivos:</p><p><strong>O c&#243;digo n&#227;o foi escrito pensando em IA.</strong> A IA precisa entender contexto, e o contexto de um sistema legado &#233; vasto, distribu&#237;do, e &#224;s vezes contradit&#243;rio. M&#243;dulos que foram escritos por pessoas diferentes, em momentos diferentes, com premissas diferentes. Documenta&#231;&#227;o desatualizada ou inexistente. Testes que cobrem o caminho feliz mas ignoram os edge cases que realmente importam.</p><p><strong>Os processos s&#227;o enraizados.</strong> Times t&#234;m seus rituais. H&#225; resist&#234;ncia, muitas vezes leg&#237;tima, a mudar o que funciona. &#8220;A gente sempre fez assim&#8221; carrega tanto in&#233;rcia quanto confian&#231;a num processo que j&#225; provou que funciona em produ&#231;&#227;o.</p><p><strong>O risco &#233; real.</strong> Um erro num app que acabou de nascer &#233; um inconveniente. Um erro num sistema em produ&#231;&#227;o pode significar clientes afetados, receita perdida, dados corrompidos. A margem para experimenta&#231;&#227;o &#233; menor.</p><p>Por tudo isso, o objetivo de integrar IA em sistemas legados &#233; <strong>aumentar a capacidade do time</strong>: automatizar o que &#233; repetitivo, acelerar o que &#233; lento, e trazer uma segunda perspectiva para decis&#245;es que antes dependiam de uma pessoa s&#243;.</p><div><hr></div><h2><strong>Um framework pr&#225;tico: como integrei IA no meu time</strong></h2><p>Depois de testar diferentes abordagens, cheguei a um workflow que funciona. Ele roda no meu dia a dia, validado em projetos reais. A regra &#233; simples: <strong>toda mudan&#231;a de c&#243;digo segue este fluxo, sem exce&#231;&#227;o</strong>.</p><p>O workflow tem tr&#234;s fases, com gates expl&#237;citos entre elas.</p><h3><strong>Fase 1: Triagem (de feedback a issues)</strong></h3><p>Tudo come&#231;a com input desestruturado. Conversas, mensagens, calls, PDFs, observa&#231;&#245;es de usu&#225;rios. O tipo de coisa que normalmente se perde ou vira um &#8220;depois a gente v&#234;&#8221;.</p><p>O primeiro passo &#233; transformar esse ru&#237;do em problemas concretos. Eu e o agente de IA analisamos juntos cada input e definimos: <strong>&#8220;o problema &#233; este&#8221;</strong>. Uma issue de engenharia, com contexto t&#233;cnico suficiente para que algu&#233;m (humano ou IA) consiga atuar.</p><p>O agente de IA ent&#227;o cria cada issue no reposit&#243;rio do projeto no GitHub, com descri&#231;&#227;o clara do problema.</p><p><strong>Por que isso importa:</strong> a maioria dos times perde valor nessa etapa. O feedback existe, mas nunca vira uma issue rastre&#225;vel. Com o agente de IA, a triagem acontece em tempo real e o custo de transformar feedback em artefato de engenharia cai drasticamente.</p><h3><strong>Fase 2: Planejamento (de issues a plano)</strong></h3><p>Com as issues criadas, o agente de IA avalia cada uma, tanto isoladamente quanto no contexto global do projeto. &#192;s vezes duas issues que parecem independentes s&#227;o, na verdade, sintomas do mesmo problema. O agente identifica isso e pode consolid&#225;-las num &#250;nico plano de a&#231;&#227;o.</p><p>O plano &#233; detalhado: o que muda, por que muda, como muda. Ele &#233; registrado numa ferramenta de gest&#227;o. Pode ser Notion, Jira, Trello, ou alternativas open source como <strong>Plane</strong>, <strong>OpenProject</strong>, <strong>LeanTime</strong> ou <strong>Taiga</strong>. O importante &#233; que o plano exista como artefato vis&#237;vel, acess&#237;vel, e separado do c&#243;digo.</p><p>Ent&#227;o eu leio o plano e aprovo (ou pe&#231;o ajustes). <strong>Nada executa sem plano aprovado.</strong> Esse &#233; o primeiro gate.</p><p><strong>Por que isso importa:</strong> a IA &#233; r&#225;pida para executar, mas isso pode ser perigoso sem dire&#231;&#227;o. O plano &#233; o freio intencional que garante que a velocidade da IA est&#225; apontada na dire&#231;&#227;o certa.</p><h3><strong>Fase 3: Execu&#231;&#227;o (de plano aprovado a deploy)</strong></h3><p>Com o plano aprovado, a execu&#231;&#227;o segue um fluxo disciplinado:</p><ol><li><p><strong>Branch.</strong> O agente de IA cria uma branch (<code>feat/xxx</code> ou <code>fix/xxx</code>) a partir da main. Nunca trabalha direto na main.</p></li><li><p><strong>Implementa&#231;&#227;o.</strong> O agente implementa e commita na branch, seguindo o plano aprovado.</p></li><li><p><strong>Pull Request.</strong> O agente abre um PR no GitHub com descri&#231;&#227;o clara do que muda e por qu&#234;.</p></li><li><p><strong>Revis&#227;o.</strong> Aqui entra um conceito importante: <strong>a revis&#227;o do PR pode (e deve) envolver uma segunda IA</strong>. A mesma intelig&#234;ncia que escreveu o c&#243;digo carrega vi&#233;s de autoria, pelo mesmo motivo que um desenvolvedor n&#227;o deveria aprovar seu pr&#243;prio PR. Uma segunda IA traz uma perspectiva independente, aumentando a assertividade da an&#225;lise cr&#237;tica. Mas o merge &#233; <strong>sempre</strong> decis&#227;o humana.</p></li><li><p><strong>Deploy.</strong> Build e deploy via CI/CD (GitHub Actions, pipelines automatizados, ou manualmente quando necess&#225;rio).</p></li><li><p><strong>Status.</strong> Atualiza&#231;&#227;o do status na ferramenta de gest&#227;o, fechando o ciclo.</p></li></ol><h3><strong>Os gates</strong></h3><p>Tr&#234;s regras inegoci&#225;veis:</p><ul><li><p><strong>Nada executa sem plano aprovado.</strong> A IA n&#227;o tem autonomia para decidir o que fazer, s&#243; como fazer.</p></li><li><p><strong>Nada vai direto pra main.</strong> Toda mudan&#231;a passa por PR, sempre.</p></li><li><p><strong>Merge &#233; sempre decis&#227;o humana.</strong> A IA pode sugerir, implementar, e at&#233; revisar, mas a palavra final &#233; do l&#237;der t&#233;cnico.</p></li></ul><blockquote><p>A IA &#233; o motor. O humano &#233; o volante.</p></blockquote><div><hr></div><h2><strong>Por que usar uma segunda IA para revisar PRs</strong></h2><p>Esse ponto merece destaque porque &#233; contra-intuitivo. Se voc&#234; j&#225; tem uma IA gerando c&#243;digo, por que usar outra para revisar?</p><p>Pelo mesmo motivo que code review existe: <strong>vi&#233;s do autor</strong>. Quando uma IA (ou um humano) escreve c&#243;digo, ela toma decis&#245;es impl&#237;citas sobre nomes, sobre estrutura, sobre o que precisa ou n&#227;o de tratamento de erro. Essas decis&#245;es ficam invis&#237;veis para quem as tomou.</p><p>Uma segunda IA, sem o contexto de autoria, olha para o c&#243;digo com olhos frescos. Ela questiona premissas que a primeira IA deu como certas. Ela identifica edge cases que o autor n&#227;o considerou. Ela avalia se o c&#243;digo realmente faz o que o PR diz que faz.</p><p>Na pr&#225;tica, isso aumenta significativamente a qualidade do que chega para revis&#227;o humana. O l&#237;der t&#233;cnico pode ser o &#250;ltimo filtro, focando em decis&#245;es de arquitetura e de neg&#243;cio em vez de ca&#231;ar bugs triviais.</p><div><hr></div><h2><strong>O caminho realista</strong></h2><p>Se voc&#234; est&#225; esperando o momento perfeito para integrar IA no seu time, tenho uma m&#225; not&#237;cia: ele n&#227;o existe. O momento &#233; agora, com o sistema que voc&#234; j&#225; tem, com o time que voc&#234; j&#225; tem.</p><p>Algumas li&#231;&#245;es que aprendi:</p><ul><li><p><strong>Comece pelo processo.</strong> Antes de pedir para uma IA escrever c&#243;digo no seu sistema legado, defina como ela vai trabalhar. Qual &#233; o fluxo? Quais s&#227;o os gates? Quem aprova o qu&#234;? O workflow vem antes da implementa&#231;&#227;o.</p></li><li><p><strong>Trate a IA como membro do time.</strong> Um membro do time tem responsabilidades definidas, participa de processos, e &#233; cobrado por resultados. Quando voc&#234; define que o agente de IA &#233; respons&#225;vel por criar issues, elaborar planos e abrir PRs, ele passa a ter um papel claro dentro do time.</p></li><li><p><strong>Mantenha o humano no controle das decis&#245;es que importam.</strong> A IA acelera execu&#231;&#227;o, mas as decis&#245;es de o que fazer e quando fazer continuam sendo humanas. Velocidade de m&#225;quina com julgamento humano.</p></li><li><p><strong>Busque disciplina.</strong> O workflow que descrevi tem falhas. Mas funciona porque tem regras claras, gates expl&#237;citos, e artefatos rastre&#225;veis. &#201; isso que permite escalar o uso de IA sem perder o controle.</p></li></ul><div><hr></div><p>Criar um app do zero com IA &#233; f&#225;cil. Integrar IA nos seus sistemas legados &#233; onde est&#225; o trabalho de verdade, e onde est&#225; o maior impacto.</p><p>O c&#243;digo que importa j&#225; existe. O que voc&#234; vai fazer com ele?</p>]]></content:encoded></item><item><title><![CDATA[Self-Improvement Architecture: um padrão para aplicações que aprendem com uso real]]></title><description><![CDATA[A maioria das aplica&#231;&#245;es recebe feedback dos usu&#225;rios e n&#227;o faz nada com ele. Este padr&#227;o fecha essa lacuna com agentes, guardrails e humano no loop onde importa.]]></description><link>https://www.guilhermefavaron.com.br/p/self-improvement-architecture-aplicacoes-que-aprendem-com-uso-real</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/self-improvement-architecture-aplicacoes-que-aprendem-com-uso-real</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 23 Mar 2026 00:55:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZTF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZTF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZTF6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZTF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abac5445-9008-4183-91c3-1bce221ea754_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f24b724-8f05-4fd9-a4e3-9dce77038591_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7201708,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/191814669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f24b724-8f05-4fd9-a4e3-9dce77038591_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZTF6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ZTF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabac5445-9008-4183-91c3-1bce221ea754_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Esquema de Aplica&#231;&#245;es com Self-improvement Architecture (SIA)</figcaption></figure></div><p>Existe uma lacuna estrutural entre o momento em que um usu&#225;rio encontra um problema em uma aplica&#231;&#227;o e o momento em que esse problema &#233; corrigido. Essa lacuna tem nome: ela se chama processo manual de reporte, triagem e prioriza&#231;&#227;o. E em praticamente todas as equipes de produto que conhe&#231;o, ela &#233; grande o suficiente para que boa parte dos problemas nunca chegue a ser resolvida.</p><p>O volume de sinais cresce mais r&#225;pido do que a capacidade de process&#225;-los com aten&#231;&#227;o: erros de runtime, feedback qualitativo, solicita&#231;&#245;es de melhoria, tickets do suporte. O resultado &#233; um backlog que se torna cemit&#233;rio.</p><p>A <strong>Self-Improvement Architecture</strong> &#233; um padr&#227;o de design de sistemas que prop&#245;e fechar essa lacuna com automa&#231;&#227;o inteligente e agentes de IA. A forma assistida: m&#225;quinas fazem o trabalho de baixo valor cognitivo e humanos concentram sua aten&#231;&#227;o onde ela &#233; insubstitu&#237;vel.</p><blockquote><p><strong>Self-Improvement Architecture (SIA)</strong> &#233; um conjunto de camadas de software que captura sinais de qualidade de uma aplica&#231;&#227;o em produ&#231;&#227;o, normaliza e prioriza esses sinais automaticamente, e alimenta um agente de IA capaz de diagnosticar problemas e propor corre&#231;&#245;es no pr&#243;prio c&#243;digo-fonte da aplica&#231;&#227;o, com supervis&#227;o humana nos pontos cr&#237;ticos.</p></blockquote><p>Diferente de pr&#225;ticas convencionais de monitoramento e gest&#227;o de defeitos, a SIA fecha o loop inteiramente dentro do ciclo de desenvolvimento: da observa&#231;&#227;o em produ&#231;&#227;o at&#233; o pull request, passando por triagem, diagn&#243;stico e gera&#231;&#227;o de c&#243;digo.</p><div><hr></div><h2>Por que o momento &#233; agora</h2><p>A conversa sobre agentes de IA gerando c&#243;digo existe h&#225; algum tempo. O que mudou recentemente &#233; a maturidade dos componentes que tornam um sistema assim vi&#225;vel em produ&#231;&#227;o: ferramentas de observabilidade que capturam contexto rico de sess&#227;o, modelos de linguagem com janelas de contexto grandes o suficiente para processar arquivos de c&#243;digo real, e infraestruturas de agentes que permitem controle granular sobre o que o sistema pode e n&#227;o pode fazer.</p><p>A pergunta central tamb&#233;m mudou. Saiu de &#8220;&#233; tecnicamente poss&#237;vel?&#8221; e passou a ser &#8220;como fazer isso de forma que o benef&#237;cio supere consistentemente o risco?&#8221;. &#201; essa pergunta que o padr&#227;o SIA tenta responder.</p><blockquote><p><em>&#8220;Um agente que age sem crit&#233;rio vira f&#225;brica de tickets. Um agente com crit&#233;rio vira alavanca de produtividade.&#8221;</em></p></blockquote><div><hr></div><h2>As cinco camadas do padr&#227;o</h2><p>A SIA &#233; organizada em camadas independentes. Cada uma pode ser implementada separadamente, e a ordem importa: cada camada s&#243; gera valor se a anterior estiver funcionando bem.</p><p><strong>Camada 01 &#8212; Captura</strong></p><p>Instrumenta&#231;&#227;o da aplica&#231;&#227;o para coletar tr&#234;s tipos de sinal: erros de runtime com contexto de sess&#227;o, feedback expl&#237;cito do usu&#225;rio via widget integrado, e sinais comportamentais passivos como rage clicks, abandono de fluxo e endpoints lentos. Esses canais s&#227;o deliberadamente separados, porque cada tipo de sinal tem crit&#233;rios diferentes de triagem.</p><p><strong>Camada 02 &#8212; Normaliza&#231;&#227;o e Triagem</strong></p><p>Um servi&#231;o intermedi&#225;rio recebe todos os sinais e os converte para um schema &#250;nico. Aqui acontecem deduplica&#231;&#227;o por fingerprint, enriquecimento com dados de contexto e c&#225;lculo de score de prioridade. Nenhum sinal chega ao reposit&#243;rio antes de passar por essa camada. &#201; o filtro que impede o backlog t&#243;xico.</p><p><strong>Camada 03 &#8212; Gest&#227;o de Issues</strong></p><p>O sistema de controle de vers&#227;o funciona como hub de execu&#231;&#227;o t&#233;cnica. Issues chegam j&#225; estruturadas com contexto, evid&#234;ncias e score. Um sistema de labels e pipeline de projeto torna o estado de cada problema vis&#237;vel sem esfor&#231;o humano de atualiza&#231;&#227;o manual.</p><p><strong>Camada 04 &#8212; Agente</strong></p><p>O agente de IA entra em cena somente ap&#243;s a camada anterior. Ele l&#234; issues que atingiram um gate expl&#237;cito de elegibilidade, produz diagn&#243;stico, identifica arquivos afetados no reposit&#243;rio e, para problemas de baixo risco com crit&#233;rios definidos, abre um pull request em branch separada com o racional completo documentado.</p><p><strong>Camada 05 &#8212; Humana</strong></p><p>O humano &#233; posicionado onde sua aten&#231;&#227;o tem maior valor: decidindo o que priorizar, aplicando o gate de elegibilidade para o agente e revisando pull requests antes do merge. Merge autom&#225;tico e a&#231;&#227;o do agente em &#225;reas sens&#237;veis sem aprova&#231;&#227;o expl&#237;cita est&#227;o fora do escopo do padr&#227;o.</p><div><hr></div><h2>O fluxo completo</h2><pre><code><code>[ APLICA&#199;&#195;O ]
    &#9500;&#9472;&#9472; erros runtime
    &#9500;&#9472;&#9472; feedback expl&#237;cito
    &#9492;&#9472;&#9472; sinais comportamentais
           &#9474;
           &#9660;
[ GATEWAY ]  &#9472;&#9472; normaliza, deduplica, pontua
           &#9474;
           &#9660;
[ ISSUES ]   &#9472;&#9472; estruturadas + labels + pipeline
           &#9474;
     gate: ai-ready?
     &#9500;&#9472;&#9472; N&#195;O &#9472;&#9472;&#9654; [ HUMANO ] decide: prioriza / descarta
     &#9492;&#9472;&#9472; SIM &#9472;&#9472;&#9654; [ AGENTE ] diagnostica + plano
                     &#9474;
           risco low?
           &#9500;&#9472;&#9472; N&#195;O &#9472;&#9472;&#9654; [ HUMANO ] decide
           &#9492;&#9472;&#9472; SIM &#9472;&#9472;&#9654; [ PR ]   branch separada
                               &#9474;
                               &#9660;
                       [ HUMANO ] revisa + aprova + merge</code></code></pre><div><hr></div><h2>O gate de elegibilidade &#8212; a pe&#231;a mais importante</h2><p>A diferen&#231;a entre um sistema de self-improvement que funciona e um que degenera em caos est&#225; quase inteiramente no gate de elegibilidade para a&#231;&#227;o aut&#244;noma do agente.</p><p>A l&#243;gica &#233; simples: o agente age sozinho apenas quando tr&#234;s condi&#231;&#245;es s&#227;o satisfeitas simultaneamente. O problema &#233; <strong>bem delimitado</strong>: stack trace claro, m&#243;dulo identific&#225;vel, reprodu&#231;&#227;o documentada. A mudan&#231;a &#233; de <strong>baixo risco</strong>: sem tocar regras de neg&#243;cio, autentica&#231;&#227;o, dados financeiros, migra&#231;&#245;es destrutivas ou arquitetura. E um humano <strong>aplicou explicitamente</strong> a label de elegibilidade ap&#243;s revisar o diagn&#243;stico inicial.</p><p>O gate existe porque alguns tipos de problema requerem julgamento contextual que exige aten&#231;&#227;o humana deliberada.</p><p><strong>O agente pode agir sozinho quando:</strong></p><ul><li><p>Bug com stack trace claro e reproduz&#237;vel</p></li><li><p>Corre&#231;&#227;o de texto ou label na UI</p></li><li><p>Valida&#231;&#227;o de campo ausente ou incorreta</p></li><li><p>Tratamento de erro faltando</p></li><li><p>Tipagem incorreta ou ausente</p></li><li><p>Teste unit&#225;rio faltando para fun&#231;&#227;o isolada</p></li><li><p>Refactor localizado sem mudan&#231;a de comportamento</p></li></ul><p><strong>O humano &#233; obrigat&#243;rio quando:</strong></p><ul><li><p>Mudan&#231;a de regra de neg&#243;cio ou l&#243;gica de dom&#237;nio</p></li><li><p>Qualquer coisa relacionada a auth ou permiss&#245;es</p></li><li><p>Cobran&#231;a, faturamento, dados financeiros</p></li><li><p>Migration destrutiva de banco de dados</p></li><li><p>Mudan&#231;a de arquitetura ou depend&#234;ncia principal</p></li><li><p>Issues sem reproduzibilidade m&#237;nima documentada</p></li></ul><p>O gate precisa ser definido por escrito, versionado e revisado periodicamente. &#192; medida que o sistema ganha hist&#243;rico, voc&#234; ter&#225; dados reais sobre a taxa de assertividade do agente e poder&#225; expandir ou contrair os crit&#233;rios com base em evid&#234;ncia.</p><div><hr></div><h2>Os seis princ&#237;pios do padr&#227;o</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZGpU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZGpU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZGpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4c5b77-47e6-4950-bed0-17bef5c18140_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6548720,&quot;alt&quot;:&quot;Princ&#237;pios do padr&#227;o de Self-improvement Architecture para Aplica&#231;&#245;es&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/191814669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4c5b77-47e6-4950-bed0-17bef5c18140_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Princ&#237;pios do padr&#227;o de Self-improvement Architecture para Aplica&#231;&#245;es" title="Princ&#237;pios do padr&#227;o de Self-improvement Architecture para Aplica&#231;&#245;es" srcset="https://substackcdn.com/image/fetch/$s_!ZGpU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!ZGpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ef44074-8228-4c90-b0e7-49f16eef8a70_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Princ&#237;pios do padr&#227;o de Self-improvement Architecture para Aplica&#231;&#245;es</figcaption></figure></div><p><strong>1. Sinal antes de ru&#237;do</strong></p><p>Nenhum evento deve virar issue diretamente. Todo sinal passa por normaliza&#231;&#227;o, deduplica&#231;&#227;o e scoring antes de qualquer cria&#231;&#227;o de ticket. Um sistema de self-improvement mal configurado gera backlog mais r&#225;pido do que resolve problemas.</p><p><strong>2. Canais separados, crit&#233;rios separados</strong></p><p>Erro de runtime e solicita&#231;&#227;o de feature s&#227;o animais diferentes. O fluxo de triagem, os crit&#233;rios de prioriza&#231;&#227;o e as expectativas de resposta s&#227;o distintos para cada tipo. Mistur&#225;-los &#233; uma das causas mais comuns de falha em sistemas desse tipo.</p><p><strong>3. O agente prop&#245;e, o humano aprova</strong></p><p>Mesmo nos casos de baixo risco onde o agente abre PR, o merge &#233; sempre humano. A arquitetura correta para construir confian&#231;a progressiva no sistema &#233; essa: autonomia restrita no in&#237;cio, expandida gradualmente com base em dados reais de assertividade.</p><p><strong>4. Guardrails como infraestrutura, n&#227;o como regras</strong></p><p>Branch protection, CODEOWNERS, CI obrigat&#243;ria e limites de permiss&#227;o do agente devem ser configurados como infraestrutura t&#233;cnica, n&#227;o como pol&#237;tica documentada. Os limites precisam existir na camada de execu&#231;&#227;o, porque um agente com permiss&#227;o para fazer algo eventualmente tentar&#225; faz&#234;-lo.</p><p><strong>5. Transpar&#234;ncia do racional</strong></p><p>Todo PR aberto pelo agente deve documentar: o problema identificado, os arquivos afetados, a solu&#231;&#227;o escolhida, alternativas descartadas e o n&#237;vel de confian&#231;a. Um PR sem racional documentado n&#227;o deve ser mergeado.</p><p><strong>6. Implementa&#231;&#227;o faseada</strong></p><p>A SIA cresce em etapas. A fase 1 entrega valor imediato com risco baixo: captura estruturada, triagem e diagn&#243;stico sem autonomia de PR. As fases seguintes expandem autonomia gradualmente, baseadas em m&#233;tricas reais de qualidade do sistema.</p><div><hr></div><h2>Fases de implementa&#231;&#227;o recomendadas</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nfEw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nfEw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nfEw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b088f0a-58f9-46a1-92cd-e6b030653eb3_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7126699,&quot;alt&quot;:&quot;Fases de implementa&#231;&#227;o do modelo SIA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/191814669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b088f0a-58f9-46a1-92cd-e6b030653eb3_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fases de implementa&#231;&#227;o do modelo SIA" title="Fases de implementa&#231;&#227;o do modelo SIA" srcset="https://substackcdn.com/image/fetch/$s_!nfEw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!nfEw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74f59f75-a032-44c6-8dc8-5465320c139b_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Fases de implementa&#231;&#227;o do modelo SIA</figcaption></figure></div><p><strong>Fase 1 &#8212; Captura + Triagem</strong></p><p>Instrumentar a aplica&#231;&#227;o com ferramenta de observabilidade. Implementar widget de feedback com contexto da rota atual. Construir o gateway de normaliza&#231;&#227;o. Configurar templates de issue e taxonomia de labels. O agente apenas comenta diagn&#243;stico, sem abrir PRs. Esta fase j&#225; entrega valor significativo e valida o modelo.</p><p><strong>Fase 2 &#8212; Agente Semi-Aut&#244;nomo</strong></p><p>Definir e documentar os crit&#233;rios do gate de elegibilidade. Habilitar o agente a abrir PRs em issues low-risk + ai-ready. Configurar branch protection, CODEOWNERS e CI obrigat&#243;ria. Todo PR revisado e aprovado por humano antes do merge. Come&#231;ar a coletar m&#233;tricas de assertividade.</p><p><strong>Fase 3 &#8212; Loop Completo</strong></p><p>Deduplica&#231;&#227;o madura com clustering de feedback similar. Identifica&#231;&#227;o proativa de padr&#245;es recorrentes. Analytics de tempo at&#233; corre&#231;&#227;o, taxa de reabertura e assertividade do agente por tipo de problema. Expans&#227;o criteriosa dos crit&#233;rios do gate com base nos dados acumulados.</p><div><hr></div><h2>Um ciclo completo na pr&#225;tica</h2><p>Para tornar o padr&#227;o concreto, vale acompanhar um &#250;nico problema do come&#231;o ao fim, com as ferramentas reais em cada etapa.</p><p><strong>Cen&#225;rio:</strong> um usu&#225;rio tenta exportar um relat&#243;rio em PDF dentro da aplica&#231;&#227;o. O bot&#227;o n&#227;o responde. Ele tenta tr&#234;s vezes e desiste.</p><div><hr></div><p><strong>Etapa 1 &#8212; O Sentry captura o erro</strong></p><p>O SDK do Sentry, instalado na aplica&#231;&#227;o, registra automaticamente a exce&#231;&#227;o lan&#231;ada pelo componente de exporta&#231;&#227;o. O evento chega ao Sentry com stack trace completo, identificador da sess&#227;o, vers&#227;o do release, navegador e a URL exata onde ocorreu. O Sentry tamb&#233;m grava um Session Replay dos &#250;ltimos 60 segundos de navega&#231;&#227;o do usu&#225;rio.</p><p>Neste ponto, o erro existe no Sentry. O reposit&#243;rio ainda n&#227;o sabe que ele aconteceu.</p><div><hr></div><p><strong>Etapa 2 &#8212; O gateway recebe o evento e decide</strong></p><p>O Sentry dispara um webhook para o gateway (neste caso, um workflow no n8n). O gateway executa tr&#234;s verifica&#231;&#245;es antes de qualquer a&#231;&#227;o:</p><ul><li><p><strong>Deduplica&#231;&#227;o:</strong> j&#225; existe uma issue aberta com o mesmo fingerprint? Se sim, incrementa o contador e atualiza a &#250;ltima ocorr&#234;ncia. Se n&#227;o, continua.</p></li><li><p><strong>Limiar:</strong> este erro atingiu o threshold de cria&#231;&#227;o? O threshold configurado &#233; 5 ocorr&#234;ncias em 24 horas ou 2 usu&#225;rios &#250;nicos afetados. O erro aconteceu com 3 usu&#225;rios em 4 horas. Passa.</p></li><li><p><strong>Scoring:</strong> o gateway calcula o score combinando severidade (o bot&#227;o de exporta&#231;&#227;o &#233; rota cr&#237;tica), frequ&#234;ncia (3 ocorr&#234;ncias em 4 horas) e confian&#231;a de diagn&#243;stico (stack trace presente, m&#243;dulo identificado). Score resultante: 74 de 100.</p></li></ul><p>O gateway monta o payload da issue com todos os dados coletados e chama a GitHub Issues API.</p><div><hr></div><p><strong>Etapa 3 &#8212; A issue &#233; criada no GitHub com contexto completo</strong></p><p>A issue abre automaticamente com o template padronizado preenchido:</p><pre><code><code>T&#237;tulo: [bug] Exporta&#231;&#227;o de PDF falha silenciosamente em /reports/export

Contexto: source:sentry | route:/reports/export | release:v2.4.1 | browser:Chrome 122

Sintoma: TypeError: Cannot read properties of undefined (reading 'generate')
  em ExportButton.tsx linha 47

Evid&#234;ncia:
  - Stack trace completo: [link]
  - Session Replay: [link Sentry]
  - Ocorr&#234;ncias: 3 | Usu&#225;rios afetados: 3 | Janela: 4h

Impacto: rota cr&#237;tica de exporta&#231;&#227;o | score: 74

Labels aplicadas automaticamente:
  source:sentry | type:bug | priority:p1 | status:triage-needed | risk:low | module:reports</code></code></pre><p>O GitHub Projects move a issue automaticamente para a coluna <strong>Needs Triage</strong>.</p><div><hr></div><p><strong>Etapa 4 &#8212; O agente faz a triagem</strong></p><p>Um GitHub Actions workflow dispara ao detectar a label <code>status:triage-needed</code>. Ele chama o agente (Claude via API) passando o conte&#250;do completo da issue, o stack trace e os arquivos relevantes do reposit&#243;rio lidos via GitHub API.</p><p>O agente responde com um coment&#225;rio na issue:</p><pre><code><code>Diagn&#243;stico: o m&#233;todo `generate()` est&#225; sendo chamado sobre o objeto
`pdfService` antes de sua inicializa&#231;&#227;o ass&#237;ncrona completar. O componente
`ExportButton.tsx` n&#227;o aguarda a Promise de setup do servi&#231;o antes de
expor o bot&#227;o como clic&#225;vel.

Arquivo afetado: src/components/ExportButton.tsx (linha 47)
Causa prov&#225;vel: aus&#234;ncia de await no m&#233;todo initializePdfService()

Risco estimado: baixo. Mudan&#231;a localizada em um &#250;nico componente,
sem impacto em l&#243;gica de neg&#243;cio ou dados.

Crit&#233;rios de aceite sugeridos:
  - exporta&#231;&#227;o conclui com sucesso ap&#243;s a corre&#231;&#227;o
  - bot&#227;o permanece desabilitado durante inicializa&#231;&#227;o do servi&#231;o
  - teste unit&#225;rio cobre o caso de chamada antes do setup completar

Este problema atende aos crit&#233;rios do gate ai-ready. Aguardando
decis&#227;o do respons&#225;vel para prosseguir.</code></code></pre><p>O agente aplica a label <code>status:ai-ready</code> e move a issue para a coluna correspondente no Projects.</p><div><hr></div><p><strong>Etapa 5 &#8212; O humano aplica o gate</strong></p><p>O dev abre a issue, l&#234; o diagn&#243;stico, confirma que faz sentido e mant&#233;m a label <code>status:ai-ready</code>. Esse gesto expl&#237;cito &#233; o gate. Sem ele, o agente n&#227;o age.</p><div><hr></div><p><strong>Etapa 6 &#8212; O agente abre o pull request</strong></p><p>Com o gate aplicado, o workflow dispara novamente. O agente l&#234; os arquivos afetados, gera a corre&#231;&#227;o, cria uma branch <code>fix/export-button-async-init</code> e abre um PR com o seguinte corpo:</p><pre><code><code>Corrige: #147 &#8212; Exporta&#231;&#227;o de PDF falha silenciosamente

Problema: ExportButton chamava pdfService.generate() antes da
inicializa&#231;&#227;o ass&#237;ncrona do servi&#231;o completar.

Solu&#231;&#227;o: adicionado await em initializePdfService() e estado de
loading no bot&#227;o durante o setup, prevenindo cliques prematuros.

Arquivos alterados:
  - src/components/ExportButton.tsx
  - src/services/pdfService.ts (ajuste no tipo de retorno)

Testes adicionados:
  - ExportButton.test.tsx: caso de clique antes do setup completar

Alternativas descartadas: memoiza&#231;&#227;o do servi&#231;o no n&#237;vel do m&#243;dulo
descartada por introduzir estado global desnecess&#225;rio.

Confian&#231;a: alta. Causa identificada com precis&#227;o no stack trace.</code></code></pre><p>O PR passa pela CI: typecheck, lint, testes unit&#225;rios, build. Tudo verde. O GitHub notifica o dev para revis&#227;o.</p><div><hr></div><p><strong>Etapa 7 &#8212; O humano revisa e mergeia</strong></p><p>O dev l&#234; o diff, valida a l&#243;gica, confirma que os testes cobrem o caso e aprova o merge. O PR &#233; mergeado via rebase.</p><p>O agente fecha a issue original com um coment&#225;rio linkando o PR. O gateway registra o ciclo no Notion: tipo de problema, solu&#231;&#227;o aplicada, tempo da primeira ocorr&#234;ncia at&#233; o merge (neste caso, 6 horas), e assertividade do diagn&#243;stico (confirmada pelo dev na revis&#227;o).</p><div><hr></div><p><strong>O que este ciclo demonstra</strong></p><p>O usu&#225;rio encontrou o bug &#224;s 14h. A issue estava criada, triada e com diagn&#243;stico &#224;s 14h12. O PR estava aberto &#224;s 14h18. O dev revisou e mergeou &#224;s 20h, sem precisar reproduzir o problema do zero, sem procurar contexto em Slack ou Notion, e sem triagem manual.</p><p>O tempo de resolu&#231;&#227;o foi de 6 horas. O tempo de aten&#231;&#227;o humana no ciclo inteiro foi de aproximadamente 10 minutos.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_FkO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_FkO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_FkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ac7d1fe-2035-4ff2-8945-e99ce299f295_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6923674,&quot;alt&quot;:&quot;Stack de referencia para implementar o ciclo de Self-Improvement Architecture para Aplica&#231;&#245;es&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/191814669?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ac7d1fe-2035-4ff2-8945-e99ce299f295_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Stack de referencia para implementar o ciclo de Self-Improvement Architecture para Aplica&#231;&#245;es" title="Stack de referencia para implementar o ciclo de Self-Improvement Architecture para Aplica&#231;&#245;es" srcset="https://substackcdn.com/image/fetch/$s_!_FkO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!_FkO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdb97cb5-c2f7-44aa-8495-647fa54b7551_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Stack de referencia para implementar o ciclo de Self-Improvement Architecture para Aplica&#231;&#245;es</figcaption></figure></div><p></p><div><hr></div><h2>O que o padr&#227;o n&#227;o resolve</h2><p>Ser honesto sobre as limita&#231;&#245;es &#233; parte do que torna um padr&#227;o &#250;til.</p><p>A SIA pressup&#245;e clareza de vis&#227;o de produto. Uma equipe sem dire&#231;&#227;o vai apenas corrigir mais r&#225;pido coisas que talvez n&#227;o devessem existir. O padr&#227;o tamb&#233;m pressup&#245;e testes automatizados robustos como condi&#231;&#227;o para que qualquer PR do agente passe pela CI.</p><p>H&#225; um risco espec&#237;fico que vale nomear: agentes gerando PRs em cad&#234;ncia alta podem criar uma ilus&#227;o de progresso. Muitos commits, muitos fechamentos de issue, e m&#233;tricas de neg&#243;cio estagnadas. A medida de sucesso da SIA &#233; a redu&#231;&#227;o do tempo entre identifica&#231;&#227;o de problema e resolu&#231;&#227;o com impacto mensur&#225;vel para o usu&#225;rio, n&#227;o o volume de PRs gerados.</p><p><strong>Onde o padr&#227;o funciona bem:</strong></p><ul><li><p>Aplica&#231;&#245;es com usu&#225;rios ativos que geram sinais cont&#237;nuos de qualidade</p></li><li><p>Times pequenos onde o custo de triagem manual &#233; alto em rela&#231;&#227;o ao headcount</p></li><li><p>Codebases com cobertura de testes suficiente para que CI seja gate confi&#225;vel</p></li><li><p>Produtos internos onde o ciclo feedback-corre&#231;&#227;o precisa ser mais curto que o processo padr&#227;o permite</p></li><li><p>Equipes com pelo menos uma pessoa capaz de revisar c&#243;digo gerado por agente com senso cr&#237;tico</p></li></ul><div><hr></div><h2>Por onde come&#231;ar</h2><p>A pergunta mais frequente quando apresento esse padr&#227;o &#233;: &#8220;por onde come&#231;o?&#8221;. A resposta depende do maior gargalo atual do seu processo.</p><p>Se sua equipe perde tempo triando manualmente um volume alto de reports, comece pela camada de normaliza&#231;&#227;o: o gateway que converte sinais em issues estruturadas j&#225; resolve boa parte do problema. Se problemas chegam sem contexto suficiente para diagn&#243;stico, comece pelo widget de feedback e pela integra&#231;&#227;o com ferramenta de observabilidade. Se o processo de triagem funciona mas a corre&#231;&#227;o demora, a&#237; sim faz sentido investir na camada de agente.</p><p>Come&#231;ar pela camada de agente sem ter as anteriores funcionando &#233; o atalho que mais custa. Agente sem contexto rico gera diagn&#243;sticos gen&#233;ricos. Diagn&#243;sticos gen&#233;ricos geram PRs que n&#227;o passam em revis&#227;o. PRs que n&#227;o passam geram desconfian&#231;a no sistema inteiro.</p><p>A SIA &#233; um padr&#227;o de acumula&#231;&#227;o. Cada camada bem implementada aumenta o valor da pr&#243;xima. A pressa em chegar &#224; autonomia do agente &#233; o caminho mais certo para abandonar o sistema em tr&#234;s meses.</p><div><hr></div><h2>Considera&#231;&#245;es finais</h2><p>A ideia central do padr&#227;o &#233; deceptivamente simples: aplica&#231;&#245;es que capturam feedback estruturado, processam esse feedback com automa&#231;&#227;o inteligente e fecham o loop com revis&#227;o humana criteriosa ficam progressivamente melhores com o tempo. Por processo, n&#227;o por design heroico.</p><p>O &#8220;self&#8221; no nome significa que o motor de melhoria est&#225; dentro do sistema, alimentado pelo uso real, em vez de depender exclusivamente da capacidade de aten&#231;&#227;o de uma equipe para capturar, processar e agir sobre sinais que chegam continuamente.</p><p>Com as ferramentas dispon&#237;veis hoje: observabilidade moderna, modelos de linguagem capazes de raciocinar sobre c&#243;digo, infraestruturas de agentes com controle granular. O padr&#227;o &#233; implement&#225;vel por equipes de qualquer tamanho. O investimento inicial &#233; real. O retorno, se bem executado, &#233; composto.</p><blockquote><p><em>&#8220;O objetivo &#233; uma aplica&#231;&#227;o onde o custo de quebrar e corrigir cai progressivamente com o tempo.&#8221;</em></p></blockquote><div><hr></div><p><em>Guilherme Favaron &#233; CTO do GRI Institute e autor de &#8220;Desbloqueando a Intelig&#234;ncia Artificial&#8221;. Escreve sobre IA aplicada a neg&#243;cios na newsletter IA Aplicada.</em></p>]]></content:encoded></item><item><title><![CDATA[A Memória dos Seus Agentes Está Quebrada]]></title><description><![CDATA[E provavelmente voc&#234; ainda n&#227;o percebeu]]></description><link>https://www.guilhermefavaron.com.br/p/memoria-agentes-solucao-definitiva</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/memoria-agentes-solucao-definitiva</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Sun, 08 Mar 2026 16:59:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!StkW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!StkW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!StkW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 424w, https://substackcdn.com/image/fetch/$s_!StkW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 848w, https://substackcdn.com/image/fetch/$s_!StkW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!StkW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!StkW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png" width="960" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4a7b600-9027-44a3-98b9-81b86bec324c_960x1200.jpeg&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:960,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:87583,&quot;alt&quot;:&quot;Estrutura com 3 mecanismos de preserva&#231;&#227;o e registro de mem&#243;ria para Agentes de IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/190286771?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4a7b600-9027-44a3-98b9-81b86bec324c_960x1200.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Estrutura com 3 mecanismos de preserva&#231;&#227;o e registro de mem&#243;ria para Agentes de IA" title="Estrutura com 3 mecanismos de preserva&#231;&#227;o e registro de mem&#243;ria para Agentes de IA" srcset="https://substackcdn.com/image/fetch/$s_!StkW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 424w, https://substackcdn.com/image/fetch/$s_!StkW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 848w, https://substackcdn.com/image/fetch/$s_!StkW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!StkW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6285a899-b58f-46b8-86f7-76b0923a3c00_960x1200.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Estrutura com 3 mecanismos de preserva&#231;&#227;o e registro de mem&#243;ria para Agentes de IA</figcaption></figure></div><p>Quando um agente responde com convic&#231;&#227;o algo que est&#225; errado, a rea&#231;&#227;o imediata &#233; culpar o modelo. Mas na maioria dos casos, o modelo n&#227;o &#233; o problema. O problema est&#225; na arquitetura de mem&#243;ria que alimenta esse agente.</p><p>Esse artigo &#233; sobre isso: como a mem&#243;ria de agentes falha silenciosamente em produ&#231;&#227;o, por que o modelo padr&#227;o de armazenamento &#233; insuficiente para sistemas reais, e como construir algo mais robusto usando tr&#234;s pilares &#8212; fatos at&#244;micos, scoring composto e tratamento expl&#237;cito de lacunas de evid&#234;ncia.</p><p>O c&#243;digo existe. A implementa&#231;&#227;o &#233; poss&#237;vel. Mas a maioria dos times nunca chega l&#225; porque n&#227;o percebe que o problema &#233; arquitetural.</p><div><hr></div><h2>O modelo ing&#234;nuo e por que ele funciona no prot&#243;tipo</h2><p>A implementa&#231;&#227;o padr&#227;o de mem&#243;ria para agentes segue um caminho intuitivo:</p><ol><li><p>Recebe um bloco de texto com informa&#231;&#227;o relevante</p></li><li><p>Gera um embedding do bloco inteiro</p></li><li><p>Persiste o texto e o embedding em um vector store</p></li><li><p>No recall, busca os mais similares via nearest neighbors</p></li></ol><p>Em um prot&#243;tipo, isso parece funcionar. As respostas fazem sentido. A demo impressiona.</p><p>O problema aparece quando o sistema cresce, os dados acumulam e as consultas ficam mais espec&#237;ficas.</p><div><hr></div><h2>As quatro falhas que surgem em produ&#231;&#227;o</h2><h3>Context bleed</h3><p>Quando m&#250;ltiplos fatos s&#227;o armazenados como um &#250;nico bloco, o sistema n&#227;o consegue distinguir qual parte da mem&#243;ria &#233; relevante para qual pergunta.</p><p>Considere um bloco como: <em>&#8220;Na reuni&#227;o de ter&#231;a decidimos usar Postgres porque o or&#231;amento &#233; limitado, a equipe j&#225; conhece SQL e vamos precisar de replica&#231;&#227;o futura.&#8221;</em></p><p>Esse bloco cont&#233;m pelo menos quatro informa&#231;&#245;es independentes: a decis&#227;o de tecnologia, a justificativa de custo, a compet&#234;ncia do time e um requisito futuro. Quando voc&#234; pergunta <em>&#8220;qual banco de dados estamos usando?&#8221;</em>, o sistema recupera o bloco inteiro e o modelo precisa interpretar qual parte responde &#224; pergunta. &#192;s vezes acerta. &#192;s vezes extrapola.</p><h3>Fact contamination</h3><p>Atualizar uma informa&#231;&#227;o espec&#237;fica dentro de um bloco exige regravar o bloco inteiro ou criar uma nova vers&#227;o que compete com a anterior.</p><p>Se o or&#231;amento aprovado muda de R$ 10.000 para R$ 15.000, voc&#234; cria duas mem&#243;rias semanticamente similares. Qual delas o sistema vai recuperar? Depende de qual foi indexada mais recentemente ou tem embedding mais pr&#243;ximo da query. N&#227;o h&#225; garantia de consist&#234;ncia.</p><h3>Ranking incorreto</h3><p>Similaridade vetorial pura tende a favorecer coincid&#234;ncia lexical e rec&#234;ncia sobre import&#226;ncia real.</p><p>Em um sistema em uso h&#225; meses, uma nota trivial criada ontem &#8212; <em>&#8220;erro tempor&#225;rio no banco de staging&#8221;</em> &#8212; pode ter score de similaridade mais alto do que a decis&#227;o arquitetural registrada h&#225; seis meses &#8212; <em>&#8220;banco principal do sistema &#233; Postgres&#8221;</em> &#8212; simplesmente porque compartilha mais palavras com a query <em>&#8220;qual banco estamos usando?&#8221;</em>.</p><p>O sistema responde com a nota trivial. O agente passa a mencionar um erro tempor&#225;rio como se fosse a configura&#231;&#227;o definitiva.</p><h3>Alucina&#231;&#227;o operacional</h3><p>Quando nenhuma mem&#243;ria recuperada tem evid&#234;ncia suficiente para responder com confian&#231;a, o modelo n&#227;o tem mecanismo para reconhecer isso. Ele responde de qualquer forma, interpolando, extrapolando, inventando com flu&#234;ncia.</p><p>Esse comportamento n&#227;o &#233; falha do modelo em isolamento. &#201; falha de uma arquitetura que n&#227;o devolve ao modelo a informa&#231;&#227;o de que a evid&#234;ncia &#233; insuficiente.</p><div><hr></div><h2>A solu&#231;&#227;o em tr&#234;s pilares</h2><p>A proposta n&#227;o &#233; substituir o vector store. &#201; construir uma camada de mem&#243;ria que pensa sobre o que armazena, como recupera e quando n&#227;o sabe.</p><h3>Pilar 1: Fatos at&#244;micos</h3><p>Em vez de armazenar blocos de texto, a mem&#243;ria armazena proposi&#231;&#245;es discretas e autocontidas.</p><p>O bloco <em>&#8220;Na reuni&#227;o de ter&#231;a decidimos usar Postgres porque o or&#231;amento &#233; limitado...&#8221;</em> se transforma em:</p><ul><li><p><code>database.primary = postgres</code></p></li><li><p><code>budget.phase_1.approved = R$ 10.000</code></p></li><li><p><code>decision.date = 2026-02-11</code></p></li><li><p><code>team.sql_competency = alta</code></p></li></ul><p>Cada fato tem atributos pr&#243;prios: texto can&#244;nico, embedding individual, tipo, n&#237;vel de import&#226;ncia, confian&#231;a de extra&#231;&#227;o, confian&#231;a de veracidade, refer&#234;ncia temporal e proveni&#234;ncia.</p><p>Essa granularidade resolve o context bleed. Cada fato responde por si. A atualiza&#231;&#227;o de um fato n&#227;o contamina os outros. O versionamento se torna rastre&#225;vel.</p><p>A extra&#231;&#227;o usa duas abordagens complementares: regras e parsers para padr&#245;es determin&#237;sticos como datas, valores monet&#225;rios e identificadores; e um LLM extractor para proposi&#231;&#245;es complexas como decis&#245;es, rela&#231;&#245;es causais e contexto impl&#237;cito.</p><pre><code><code>@dataclass
class ExtractedFact:
    fact_type: str
    fact_key: str | None
    canonical_text: str
    normalized_value: dict | None
    importance: float
    extraction_confidence: float
    truth_confidence: float
    recency_reference_at: datetime | None
    metadata: dict
</code></code></pre><p>A import&#226;ncia n&#227;o &#233; aleat&#243;ria. Cada tipo de fato tem uma faixa esperada:</p><ul><li><p>Decis&#227;o de arquitetura: 0.90 ou acima</p></li><li><p>Or&#231;amento aprovado: 0.85 ou acima</p></li><li><p>Prefer&#234;ncia est&#225;vel do usu&#225;rio: 0.80</p></li><li><p>Observa&#231;&#227;o operacional transit&#243;ria: 0.20 a 0.40</p></li></ul><h3>Pilar 2: Scoring composto</h3><p>O recall n&#227;o pode depender apenas de similaridade sem&#226;ntica. Precisa combinar m&#250;ltiplos sinais.</p><p>Os sinais relevantes s&#227;o: similaridade vetorial entre a query e o fato, rec&#234;ncia do fato (ponderada pelo tipo &#8212; uma decis&#227;o arquitetural decai muito mais lentamente do que um incidente operacional), import&#226;ncia intr&#237;nseca, confian&#231;a de veracidade, confiabilidade da fonte, sobreposi&#231;&#227;o de entidades entre query e fato, penalidade por contradi&#231;&#227;o com outro fato ativo e penalidade por obsolesc&#234;ncia.</p><p>A f&#243;rmula:</p><pre><code><code>score(fact, query) =
  (similaridade &#215; 0.35) +
  (rec&#234;ncia &#215; 0.10) +
  (import&#226;ncia &#215; 0.20) +
  (confian&#231;a_veracidade &#215; 0.10) +
  (confiabilidade_fonte &#215; 0.05) +
  (sobreposi&#231;&#227;o_entidades &#215; 0.10) +
  (prior_tipo &#215; 0.10) -
  (penalidade_contradi&#231;&#227;o &#215; 0.15) -
  (penalidade_obsolesc&#234;ncia &#215; 0.10)
</code></code></pre><p>Os pesos iniciais sugeridos acima s&#227;o razo&#225;veis como ponto de partida, mas precisam ser calibrados com dados reais do seu dom&#237;nio.</p><p>A fun&#231;&#227;o de rec&#234;ncia usa decaimento exponencial com meia-vida configur&#225;vel por tipo de fato:</p><pre><code><code>def recency_score(reference_at, half_life_days=30):
    if reference_at is None:
        return 0.5
    age_days = (datetime.now(timezone.utc) - reference_at).total_seconds() / 86400
    return math.exp(-math.log(2) * age_days / half_life_days)
</code></code></pre><p>Para incidentes operacionais, <code>half_life_days=7</code>. Para decis&#245;es de arquitetura, <code>half_life_days=180</code>. Para prefer&#234;ncias est&#225;veis do usu&#225;rio, <code>half_life_days=365</code> ou mais.</p><p>O recall acontece em duas fases. Na primeira, candidate generation, o sistema busca 30 a 100 candidatos usando busca vetorial, busca l&#233;xica por trigrama e filtros por entidades. Na segunda, reranking cognitivo, aplica o scoring composto e seleciona os top-k.</p><h3>Pilar 3: Evidence gaps</h3><p>Este &#233; o pilar que mais diferencia uma arquitetura madura de uma ing&#234;nua.</p><p>Quando a confian&#231;a agregada do recall fica abaixo de um threshold, o sistema n&#227;o deve inventar uma resposta. Deve reconhecer a lacuna.</p><p>Os tipos de lacuna mais comuns:</p><ul><li><p><code>missing_fact</code>: fato relevante simplesmente n&#227;o existe na mem&#243;ria</p></li><li><p><code>conflicting_facts</code>: dois fatos ativos se contradizem sem resolu&#231;&#227;o</p></li><li><p><code>stale_fact</code>: fato encontrado, mas provavelmente desatualizado</p></li><li><p><code>low_confidence</code>: evid&#234;ncia insuficiente para afirmar com seguran&#231;a</p></li><li><p><code>unresolved_entity</code>: entidade amb&#237;gua ou n&#227;o resolvida</p></li><li><p><code>insufficient_context</code>: query exige contexto maior do que o dispon&#237;vel</p></li></ul><p>Quando detectada baixa confian&#231;a, o sistema percorre uma fallback ladder antes de declarar incerteza:</p><ol><li><p>Expandir o top-k vetorial</p></li><li><p>Rodar busca l&#233;xica adicional</p></li><li><p>Ampliar a janela temporal</p></li><li><p>Buscar fatos relacionados via grafo de edges</p></li><li><p>Consultar mem&#243;ria de sess&#227;o em cache</p></li><li><p>Consultar fonte prim&#225;ria externa, se dispon&#237;vel</p></li><li><p>Responder com incerteza expl&#237;cita e registrar o gap</p></li><li><p>Solicitar confirma&#231;&#227;o ao usu&#225;rio se necess&#225;rio</p></li></ol><pre><code><code>def resolve_with_evidence_gaps(query, tenant_id):
    recall = recall_memory(query, tenant_id)

    if recall["confidence"] &gt;= 0.72:
        return recall

    expanded = broaden_retrieval(query, tenant_id)
    merged = merge_recall_results(recall, expanded)
    new_confidence = aggregate_recall_confidence(merged["facts"])

    if new_confidence &lt; 0.72:
        gap = create_evidence_gap(
            tenant_id=tenant_id,
            recall_event_id=merged["recall_event_id"],
            gap_type="low_confidence",
            description=f"Evid&#234;ncia insuficiente para query: {query}",
            severity=1 - new_confidence,
        )
        merged["evidence_gap_id"] = gap
        merged["needs_clarification"] = True

    return merged
</code></code></pre><p>O comportamento esperado do agente quando h&#225; evidence gap: <em>&#8220;Encontrei ind&#237;cios, mas n&#227;o evid&#234;ncia suficiente para afirmar com seguran&#231;a&#8221;</em> ou <em>&#8220;A informa&#231;&#227;o encontrada parece desatualizada; preciso confirmar a vers&#227;o atual.&#8221;</em></p><p>Isso &#233; qualitativamente diferente de responder com falsa convic&#231;&#227;o.</p><div><hr></div><h2>A stack e o papel de cada camada</h2><p>A arquitetura usa quatro componentes com responsabilidades distintas.</p><p><strong>Postgres</strong> &#233; a verdade estrutural. Guarda fatos, fontes, vers&#245;es, edges entre fatos, auditoria de recall e evidence gaps. Toda a rastreabilidade mora aqui.</p><p><strong>pgvector</strong> &#233; a camada de similaridade sem&#226;ntica dentro do Postgres. Adequado para a maioria dos sistemas corporativos em fase inicial, onde a cardinalidade ainda &#233; administr&#225;vel e simplicidade operacional tem valor.</p><p><strong>Redis</strong> &#233; a camada operacional de suporte: mem&#243;ria de sess&#227;o antes da consolida&#231;&#227;o, cache de embeddings e queries frequentes, locks de deduplica&#231;&#227;o e filas de reindexa&#231;&#227;o.</p><p><strong>Pinecone</strong> entra como acelerador vetorial quando o volume pressiona o Postgres. O conte&#250;do relacional e audit&#225;vel permanece no Postgres; Pinecone cuida do throughput de busca sem&#226;ntica em escala.</p><p>A estrat&#233;gia de rollout recomendada:</p><ul><li><p>Fase 1 (MVP confi&#225;vel): Postgres + pgvector + Redis, com ingest&#227;o at&#244;mica, scoring composto b&#225;sico, evidence gaps e auditoria de recall</p></li><li><p>Fase 2 (robustez): versionamento completo, edges entre fatos, tuning de pesos baseado em dados reais</p></li><li><p>Fase 3 (escala): Pinecone, reindexa&#231;&#227;o ass&#237;ncrona, learned reranker</p></li></ul><div><hr></div><h2>O que isso resolve na pr&#225;tica</h2><p>Com fatos at&#244;micos, cada informa&#231;&#227;o &#233; atualiz&#225;vel, version&#225;vel e audit&#225;vel de forma independente. N&#227;o h&#225; mais blocos conflitantes disputando o mesmo espa&#231;o sem&#226;ntico.</p><p>Com scoring composto, uma decis&#227;o arquitetural de seis meses atr&#225;s vence uma nota operacional de ontem quando a query &#233; sobre arquitetura. O ranking reflete import&#226;ncia real, n&#227;o apenas proximidade lexical recente.</p><p>Com evidence gaps, o agente sabe quando n&#227;o sabe. Ele para de inventar. Ele registra a incerteza para auditoria. Ele busca clarifica&#231;&#227;o quando necess&#225;rio.</p><p>A auditabilidade completa &#8212; fonte do fato, componentes do score, confian&#231;a agregada, gap registrado &#8212; permite diagnosticar por que uma resposta foi gerada, n&#227;o apenas se ela estava correta.</p><div><hr></div><h2>Thresholds iniciais para calibra&#231;&#227;o</h2><p>Como ponto de partida razo&#225;vel:</p><ul><li><p>Confian&#231;a acima de 0.80: responder com alta convic&#231;&#227;o</p></li><li><p>Entre 0.72 e 0.80: responder com ressalva leve</p></li><li><p>Entre 0.55 e 0.72: tentar fallback antes de responder</p></li><li><p>Abaixo de 0.55: registrar evidence gap, evitar afirma&#231;&#227;o forte</p></li></ul><p>Esses valores precisam ser ajustados com um benchmark offline constru&#237;do com casos reais do seu dom&#237;nio.</p><div><hr></div><h2>Conclus&#227;o</h2><p>A maioria dos sistemas de mem&#243;ria para agentes trata armazenamento como equivalente a cogni&#231;&#227;o. N&#227;o &#233;.</p><p>Armazenar texto e fazer nearest-neighbor &#233; infraestrutura. Mem&#243;ria cognitiva &#233; outra coisa: saber o que cada informa&#231;&#227;o significa, quando ela &#233; confi&#225;vel, quanto peso ela merece e quando a evid&#234;ncia &#233; insuficiente para responder.</p><p>Os tr&#234;s pilares descritos aqui &#8212; fatos at&#244;micos, scoring composto e evidence gaps &#8212; n&#227;o s&#227;o complexidade desnecess&#225;ria. S&#227;o o m&#237;nimo necess&#225;rio para que um agente em produ&#231;&#227;o seja confi&#225;vel.</p><p>Postgres sustenta a estrutura e a auditoria. pgvector ou Pinecone sustentam a recupera&#231;&#227;o sem&#226;ntica. Redis sustenta a velocidade operacional. Mas o valor real est&#225; na l&#243;gica de encoding, ranking e tratamento de incerteza.</p><p>Sem isso, o sistema apenas armazena texto e chama isso de mem&#243;ria.</p><div><hr></div><p><em>O c&#243;digo completo dos fluxos de encoding, recall e evidence gaps, incluindo schema SQL e integra&#231;&#227;o com Pinecone e Redis, est&#225; dispon&#237;vel no <a href="https://github.com/guifav">GitHub</a>.</em></p><p><em>Se esse artigo foi &#250;til, considere assinar a newsletter para receber os pr&#243;ximos na sua caixa.</em></p>]]></content:encoded></item><item><title><![CDATA[Prevendo Preços de Ações com Machine Learning - Do Zero ao Deploy com ferramentas Gratuitas]]></title><description><![CDATA[Passo a passo desde a captura de dados hist&#243;ricos de a&#231;&#245;es at&#233; a disponibiliza&#231;&#227;o do modelo via dashboard, com retreino autom&#225;tico semanal]]></description><link>https://www.guilhermefavaron.com.br/p/prevendo-precos-de-acoes-machine-learning</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/prevendo-precos-de-acoes-machine-learning</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Wed, 18 Feb 2026 13:09:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Arr6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Existe uma pergunta que todo mundo que come&#231;a a estudar Machine Learning faz em algum momento: &#8220;d&#225; pra prever o pre&#231;o de uma a&#231;&#227;o?&#8221;. A resposta curta &#233;: n&#227;o com precis&#227;o suficiente pra ficar rico. Mas a resposta longa &#233; muito mais interessante - e &#233; isso que eu quero contar aqui.</p><p>Neste artigo, vou mostrar como constru&#237; um projeto completo de predi&#231;&#227;o de pre&#231;os usando redes neurais LSTM em PyTorch. O modelo recebe os &#250;ltimos 60 dias de pre&#231;os de fechamento de uma a&#231;&#227;o e tenta prever o pre&#231;o do dia seguinte. Escolhi a PETR4 (Petrobras) como caso de estudo, mas a mesma abordagem funciona para qualquer ticker.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Arr6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Arr6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Arr6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b93c0ff-ee6c-40a1-b85e-d32c994016dd_2752x1536.jpeg&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:816218,&quot;alt&quot;:&quot;Pipeline completo: do zero ao deploy utilizando apenas ferramentas gratuitas e via navegador&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b93c0ff-ee6c-40a1-b85e-d32c994016dd_2752x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pipeline completo: do zero ao deploy utilizando apenas ferramentas gratuitas e via navegador" title="Pipeline completo: do zero ao deploy utilizando apenas ferramentas gratuitas e via navegador" srcset="https://substackcdn.com/image/fetch/$s_!Arr6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Arr6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b99f637-64b7-4903-b63a-084c62c87fc5_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pipeline completo: do zero ao deploy utilizando apenas ferramentas gratuitas e via navegador</figcaption></figure></div><p>O mais importante: tudo roda no navegador, de gra&#231;a. Google Colab para treinar, HuggingFace para hospedar, GitHub para versionar. Voc&#234; n&#227;o precisa de uma GPU pr&#243;pria nem de nenhuma infra local.</p><div><hr></div><h2>Por que LSTM?</h2><p>Pre&#231;os de a&#231;&#245;es s&#227;o s&#233;ries temporais. O valor de hoje carrega informa&#231;&#227;o sobre o que aconteceu ontem, na semana passada, no m&#234;s anterior. Redes neurais tradicionais (feedforward) n&#227;o capturam bem essa depend&#234;ncia temporal -- elas tratam cada entrada como se fosse independente.</p><p>A LSTM (Long Short-Term Memory) foi projetada exatamente para esse tipo de problema. Ela &#233; um tipo de rede neural recorrente que possui uma &#8220;mem&#243;ria interna&#8221; controlada por tr&#234;s port&#245;es (forget, input e output). Isso permite que a rede decida o que lembrar e o que esquecer, aprendendo padr&#245;es de longo prazo nos dados.</p><p>Na pr&#225;tica, a LSTM recebe uma sequ&#234;ncia de pre&#231;os passados e aprende a reconhecer padr&#245;es que se repetem: tend&#234;ncias de alta e baixa, volatilidade c&#237;clica, revers&#245;es. Ela n&#227;o &#8220;entende&#8221; o mercado -- ela detecta regularidades estat&#237;sticas no hist&#243;rico.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IB67!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IB67!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!IB67!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!IB67!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!IB67!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IB67!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a359b62-37c0-4c07-b175-2feceeb21f75_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5507380,&quot;alt&quot;:&quot;Porque usar LSTMs&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a359b62-37c0-4c07-b175-2feceeb21f75_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Porque usar LSTMs" title="Porque usar LSTMs" srcset="https://substackcdn.com/image/fetch/$s_!IB67!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!IB67!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!IB67!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!IB67!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4ff2c7fe-8dd3-4b47-b26d-75bf5db976c5_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Porque usar LSTMs</figcaption></figure></div><div><hr></div><h2>A pipeline completa</h2><p>O projeto segue um fluxo que vai desde a coleta de dados at&#233; o deploy em produ&#231;&#227;o. Vou passar por cada etapa.</p><h3>Coleta de dados</h3><p>Usei a biblioteca <code>yfinance</code> para baixar o hist&#243;rico da PETR4 desde janeiro de 2018. S&#227;o mais de 2000 dias de negocia&#231;&#227;o, cada um com pre&#231;o de abertura, m&#225;xima, m&#237;nima, fechamento e volume. Para a LSTM, usei apenas o pre&#231;o de fechamento.</p><p>python</p><pre><code><code>SYMBOL = 'PETR4.SA'
START_DATE = '2018-01-01'

df = yf.download(SYMBOL, start=START_DATE, end=datetime.now().strftime('%Y-%m-%d'))</code></code></pre><p>A an&#225;lise explorat&#243;ria revelou o que quem acompanha a Petrobras j&#225; sabe: ciclos marcantes, picos de volatilidade em per&#237;odos de crise e uma tend&#234;ncia geral de valoriza&#231;&#227;o nos &#250;ltimos anos. Gr&#225;ficos com Plotly mostrando m&#233;dias m&#243;veis de 50 e 200 dias ajudaram a visualizar esses padr&#245;es.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e9cU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e9cU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 424w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 848w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 1272w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e9cU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png" width="2198" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33083102-3530-4a29-a507-a632ea390aa8_2198x856.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:2198,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140711,&quot;alt&quot;:&quot;An&#225;lise explorat&#243;ria do pre&#231;o de fechamento da a&#231;&#227;o PERT4.SA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65911cb7-766a-4ebf-8b02-bf68b3446861_2198x866.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An&#225;lise explorat&#243;ria do pre&#231;o de fechamento da a&#231;&#227;o PERT4.SA" title="An&#225;lise explorat&#243;ria do pre&#231;o de fechamento da a&#231;&#227;o PERT4.SA" srcset="https://substackcdn.com/image/fetch/$s_!e9cU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 424w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 848w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 1272w, https://substackcdn.com/image/fetch/$s_!e9cU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7fbde1-a525-4ffc-b018-8f306f418e62_2198x856.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An&#225;lise explorat&#243;ria do pre&#231;o de fechamento da a&#231;&#227;o PERT4.SA</figcaption></figure></div><h3>Pr&#233;-processamento: onde muita gente erra</h3><p>Tr&#234;s decis&#245;es de pr&#233;-processamento fazem toda a diferen&#231;a entre um modelo que funciona e um que s&#243; parece funcionar.</p><p><strong>Normaliza&#231;&#227;o.</strong> A LSTM funciona muito melhor com dados entre 0 e 1. Usei um MinMaxScaler para transformar os pre&#231;os. Sem esse passo, o modelo tem dificuldade para convergir -- e &#233; algo que muita gente esquece na primeira tentativa.</p><p><strong>Janelas deslizantes.</strong> O modelo recebe os 60 dias anteriores como entrada e prev&#234; o pr&#243;ximo dia como sa&#237;da. Na pr&#225;tica, a gente &#8220;desliza&#8221; uma janela de 60 posi&#231;&#245;es sobre a s&#233;rie temporal, gerando milhares de pares (entrada, sa&#237;da) para treino.</p><p><strong>Split temporal.</strong> Esse &#233; talvez o ponto mais cr&#237;tico. Dividi os dados em 70% treino, 15% valida&#231;&#227;o e 15% teste, respeitando a ordem cronol&#243;gica. Sem embaralhar. Em s&#233;ries temporais, se voc&#234; embaralha os dados, est&#225; vazando informa&#231;&#227;o do futuro para o passado. O modelo vai parecer brilhante nos n&#250;meros mas n&#227;o vai generalizar para dados novos. Isso &#233; um erro cl&#225;ssico.</p><p>python</p><pre><code><code># Split SEM embaralhar -- ordem cronol&#243;gica preservada
X_train, y_train = X[:n_train], y[:n_train]
X_val, y_val = X[n_train:n_train+n_val], y[n_train:n_train+n_val]
X_test, y_test = X[n_train+n_val:], y[n_train+n_val:]</code></code></pre><h3>Arquitetura do modelo</h3><p>O modelo &#233; uma LSTM com duas camadas empilhadas de 128 neur&#244;nios cada, seguida de um bloco fully connected (128 -&gt; 64 -&gt; 32 -&gt; 1) com ReLU e dropout de 0.2 entre as camadas. O dropout &#233; importante para evitar overfitting - ele &#8220;desliga&#8221; aleatoriamente 20% dos neur&#244;nios durante o treino, for&#231;ando o modelo a n&#227;o depender de caminhos espec&#237;ficos.</p><p>python</p><pre><code><code>class LSTMModel(nn.Module):
    def __init__(self, input_size=1, hidden_size=128, num_layers=2, dropout=0.2):
        super().__init__()
        self.lstm = nn.LSTM(input_size, hidden_size, num_layers,
                            batch_first=True, dropout=dropout)
        self.fc = nn.Sequential(
            nn.Linear(hidden_size, 64), nn.ReLU(), nn.Dropout(dropout),
            nn.Linear(64, 32), nn.ReLU(),
            nn.Linear(32, 1)
        )

    def forward(self, x):
        lstm_out, _ = self.lstm(x)
        return self.fc(lstm_out[:, -1, :])</code></code></pre><p>Essa arquitetura tem cerca de 210 mil par&#226;metros trein&#225;veis. &#201; um modelo relativamente compacto, o que &#233; intencional: para uma &#250;nica feature (pre&#231;o de fechamento) com janela de 60 dias, n&#227;o faz sentido usar algo mais pesado.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F_72!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F_72!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!F_72!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!F_72!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!F_72!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F_72!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f191e076-fa98-4c3c-b6c9-64b4e69f7c0b_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5692399,&quot;alt&quot;:&quot;Arquitetura do modelo treinado LSTM&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff191e076-fa98-4c3c-b6c9-64b4e69f7c0b_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Arquitetura do modelo treinado LSTM" title="Arquitetura do modelo treinado LSTM" srcset="https://substackcdn.com/image/fetch/$s_!F_72!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!F_72!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!F_72!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!F_72!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8953c46-8d47-40a0-a185-ed7ff491da18_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Arquitetura do modelo treinado</figcaption></figure></div><h3>Treinamento</h3><p>Para o treinamento, usei Adam como otimizador com learning rate de 0.001, MSE como fun&#231;&#227;o de perda e dois mecanismos de controle: um ReduceLROnPlateau (que reduz o learning rate pela metade quando o modelo para de melhorar) e early stopping com paci&#234;ncia de 15 &#233;pocas.</p><p>O treinamento no Colab com GPU T4 leva poucos minutos. A curva de aprendizado mostra as losses de treino e valida&#231;&#227;o caindo juntas -- quando as duas acompanham, &#233; um bom sinal. Significa que o modelo est&#225; aprendendo padr&#245;es reais nos dados, n&#227;o memorizando.</p><div><hr></div><h2>Avalia&#231;&#227;o: o que os n&#250;meros dizem</h2><p>Usei tr&#234;s m&#233;tricas no conjunto de teste (os 15% finais, dados que o modelo nunca viu):</p><ul><li><p><strong>MAE (Mean Absolute Error):</strong> o erro m&#233;dio em reais. Se o MAE &#233; 1.50, o modelo erra em m&#233;dia R$1,50.</p></li><li><p><strong>RMSE (Root Mean Squared Error):</strong> similar ao MAE, mas penaliza mais os erros grandes.</p></li><li><p><strong>MAPE (Mean Absolute Percentage Error):</strong> o erro em percentual, que facilita comparar entre a&#231;&#245;es de pre&#231;os diferentes.</p></li></ul><p>O gr&#225;fico mais revelador &#233; o de valores reais versus previs&#245;es no conjunto de teste. O modelo acompanha a tend&#234;ncia geral, mas com um atraso caracter&#237;stico - algo esperado em modelos que usam apenas hist&#243;rico de pre&#231;os.</p><p>Aqui vai uma reflex&#227;o honesta: o erro foi consider&#225;vel. Para melhorar, o primeiro passo seria reduzir o per&#237;odo de treinamento para 3 anos em vez de 7. A Petrobras de 2018 &#233; muito diferente da Petrobras de 2025 em termos de faixa de pre&#231;o e comportamento. Dados mais recentes seriam mais representativos do regime atual.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PbDC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PbDC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 424w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 848w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PbDC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png" width="1456" height="790" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8037305-0e40-4b19-995c-13376da4d38c_2032x1102.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:790,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129407,&quot;alt&quot;:&quot;Resultado do treinamento do modelo&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8037305-0e40-4b19-995c-13376da4d38c_2032x1102.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Resultado do treinamento do modelo" title="Resultado do treinamento do modelo" srcset="https://substackcdn.com/image/fetch/$s_!PbDC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 424w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 848w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 1272w, https://substackcdn.com/image/fetch/$s_!PbDC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb9cdc03-c52a-4c7b-9049-ac820b182601_2032x1102.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Resultado do treinamento do modelo</figcaption></figure></div><p>Mas optei por n&#227;o otimizar o modelo at&#233; ele ficar &#8220;bonito&#8221;. O objetivo aqui &#233; educacional, n&#227;o lan&#231;ar um produto de recomenda&#231;&#227;o. Para um modelo real, eu faria muito mais testes com diferentes arquiteturas, hiperpar&#226;metros e per&#237;odos de treinamento.</p><div><hr></div><h2>Do modelo treinado ao deploy</h2><p>Com o modelo treinado e avaliado, o pr&#243;ximo passo &#233; colocar tudo em produ&#231;&#227;o. Exportei tr&#234;s artefatos: os pesos do modelo (lstm_model.pth), o normalizador (scaler.joblib) e a configura&#231;&#227;o com hiperpar&#226;metros e m&#233;tricas (config.json). Antes do upload, rodo uma verifica&#231;&#227;o: carrego o modelo salvo do zero e comparo a previs&#227;o com o modelo original. Se n&#227;o forem id&#234;nticas, algo deu errado no salvamento.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K2FI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K2FI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 424w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 848w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 1272w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K2FI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png" width="1456" height="975" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18d4e65e-3dcb-4586-bd47-6a33bfd64523_2516x1684.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:975,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:320127,&quot;alt&quot;:&quot;3 artefatos gerados com o treinamento&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18d4e65e-3dcb-4586-bd47-6a33bfd64523_2516x1684.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="3 artefatos gerados com o treinamento" title="3 artefatos gerados com o treinamento" srcset="https://substackcdn.com/image/fetch/$s_!K2FI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 424w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 848w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 1272w, https://substackcdn.com/image/fetch/$s_!K2FI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd44ec097-400a-4591-9215-b0991a3c817d_2516x1684.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">3 artefatos gerados com o treinamento</figcaption></figure></div><h3>HuggingFace Hub</h3><p>O modelo e os artefatos v&#227;o para o HuggingFace Hub, que funciona como um reposit&#243;rio de modelos. Qualquer pessoa pode baixar, carregar em PyTorch e usar. Junto vai um model card documentando a arquitetura, m&#233;tricas e instru&#231;&#245;es de uso.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3z4X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3z4X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 424w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 848w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 1272w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3z4X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png" width="1456" height="1122" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a103429f-a3b2-42e6-8315-58f75267af55_2180x1680.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:373572,&quot;alt&quot;:&quot;Model Card para o modelo disponibilizado no Hugging Face Hub&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa103429f-a3b2-42e6-8315-58f75267af55_2180x1680.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Model Card para o modelo disponibilizado no Hugging Face Hub" title="Model Card para o modelo disponibilizado no Hugging Face Hub" srcset="https://substackcdn.com/image/fetch/$s_!3z4X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 424w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 848w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 1272w, https://substackcdn.com/image/fetch/$s_!3z4X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc86c1ff3-1bca-40dd-bd5e-97f1de6f065e_2180x1680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Model Card para o modelo disponibilizado no Hugging Face Hub</figcaption></figure></div><h3>HuggingFace Spaces</h3><p>O dashboard e a API rodam num HuggingFace Space com Docker. A aplica&#231;&#227;o combina FastAPI (para os endpoints REST) com Gradio (para o dashboard interativo) no mesmo servidor.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eHWW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eHWW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 424w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 848w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eHWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png" width="1456" height="911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a5e4c34-29f9-4941-a3f7-556c9e91ded5_2508x1570.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:911,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:220501,&quot;alt&quot;:&quot;Space no Hugging Face para o projeto&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a5e4c34-29f9-4941-a3f7-556c9e91ded5_2508x1570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Space no Hugging Face para o projeto" title="Space no Hugging Face para o projeto" srcset="https://substackcdn.com/image/fetch/$s_!eHWW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 424w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 848w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!eHWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F870f4c21-c661-4fd7-930c-e43cb76f41f7_2508x1570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Space no Hugging Face para o projeto</figcaption></figure></div><p>O dashboard tem tr&#234;s abas: uma para gerar previs&#245;es em tempo real (digita o ticker, clica e v&#234; o resultado), uma com informa&#231;&#245;es detalhadas sobre o modelo, e uma com documenta&#231;&#227;o da API incluindo exemplos de curl.</p><p>A API exp&#245;e cinco endpoints:</p><p>bash</p><pre><code><code># Verificar se est&#225; no ar
curl https://guifav-lstm-petr4-stock-prediction.hf.space/health

# Previs&#227;o autom&#225;tica (baixa dados recentes e roda o modelo)
curl https://guifav-lstm-petr4-stock-prediction.hf.space/predict/PETR4.SA

# M&#233;tricas do modelo e operacionais
curl https://guifav-lstm-petr4-stock-prediction.hf.space/metrics

# Detalhes da arquitetura e treinamento
curl https://guifav-lstm-petr4-stock-prediction.hf.space/model/info</code></code></pre><p>Tudo roda no tier gratuito do HuggingFace. Funciona surpreendentemente bem para um projeto educacional.</p><h3>Retreino autom&#225;tico</h3><p>Um detalhe que faz diferen&#231;a: configurei um GitHub Action que toda segunda-feira, antes da abertura do mercado, retreina o modelo automaticamente. O workflow baixa os dados mais recentes via yfinance, retreina a LSTM, publica os novos artefatos no Hub e atualiza o Space. Tudo sem interven&#231;&#227;o manual. O GitHub oferece 2000 minutos gratuitos por m&#234;s para Actions, e cada retreino leva menos de 15 minutos em CPU.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lr_M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lr_M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lr_M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7408bb83-bc53-48da-8bc2-49dad6283d4a_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7138105,&quot;alt&quot;:&quot;Predi&#231;&#227;o de A&#231;&#245;es da B3 usando LSTM&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7408bb83-bc53-48da-8bc2-49dad6283d4a_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Predi&#231;&#227;o de A&#231;&#245;es da B3 usando LSTM" title="Predi&#231;&#227;o de A&#231;&#245;es da B3 usando LSTM" srcset="https://substackcdn.com/image/fetch/$s_!lr_M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!lr_M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e5b2958-5c67-41c1-96a2-c1130247a663_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Predi&#231;&#227;o de A&#231;&#245;es da B3 usando LSTM</figcaption></figure></div><div><hr></div><h2>Quer reproduzir com outra a&#231;&#227;o?</h2><p>O projeto foi desenhado para ser reutiliz&#225;vel. O passo a passo:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YGDg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YGDg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YGDg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92bf5365-e8b4-490f-90f4-e138c5b6d2e8_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7146503,&quot;alt&quot;:&quot;Passo a passo para replicar o projeto&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/188053335?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92bf5365-e8b4-490f-90f4-e138c5b6d2e8_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Passo a passo para replicar o projeto" title="Passo a passo para replicar o projeto" srcset="https://substackcdn.com/image/fetch/$s_!YGDg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!YGDg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff54199f1-12ef-4e88-af61-53e9531d811c_2752x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Passo a passo para replicar o projeto utilizando outra a&#231;&#227;o</figcaption></figure></div><ol><li><p>Fa&#231;a um fork do reposit&#243;rio no GitHub</p></li><li><p>Abra o notebook no Google Colab pelo badge &#8220;Open in Colab&#8221;</p></li><li><p>Ative a GPU gratuita (Runtime &gt; Change runtime type &gt; T4 GPU)</p></li><li><p>Troque o ticker de <code>PETR4.SA</code> para a a&#231;&#227;o que quiser (VALE3.SA, ITUB4.SA, BBDC4.SA, qualquer uma listada no Yahoo Finance)</p></li><li><p>Execute todas as c&#233;lulas -- o notebook &#233; autocontido e explica cada etapa</p></li><li><p>Crie um token no HuggingFace com permiss&#227;o Write</p></li><li><p>Rode as c&#233;lulas de upload para publicar no Hub e criar o Space</p></li><li><p>Teste sua API via curl ou acesse o dashboard pelo navegador</p></li></ol><p>N&#227;o precisa instalar nada. Tudo roda no navegador, de gra&#231;a.</p><div><hr></div><h2>Limita&#231;&#245;es (uma parte muito importante)</h2><p>Preciso ser direto aqui: esse modelo &#233; educacional. N&#227;o use para tomar decis&#245;es financeiras reais.</p><p>Pre&#231;os de a&#231;&#245;es s&#227;o influenciados por pol&#237;tica, macroeconomia, sentimento de mercado, not&#237;cias, decis&#245;es regulat&#243;rias -- fatores que um modelo treinado apenas com hist&#243;rico de pre&#231;os n&#227;o captura. A LSTM aprende correla&#231;&#245;es estat&#237;sticas no passado, mas o mercado financeiro &#233; um sistema complexo onde o passado n&#227;o garante o futuro.</p><p>Al&#233;m disso, a previs&#227;o &#233; limitada a um dia &#224; frente, usa apenas uma feature (pre&#231;o de fechamento) e a performance pode degradar em cen&#225;rios at&#237;picos (crises, mudan&#231;as regulat&#243;rias, eventos inesperados).</p><p>O valor desse projeto est&#225; no aprendizado: entender como funciona uma LSTM, como preparar dados de s&#233;ries temporais, como avaliar um modelo de regress&#227;o, como deployar com Docker e APIs, como usar o ecossistema HuggingFace. S&#227;o habilidades que se transferem para problemas onde modelos preditivos realmente fazem sentido.</p><div><hr></div><h2>Pr&#243;ximos passos</h2><p>Para quem quiser evoluir o projeto, algumas ideias:</p><ul><li><p>Adicionar mais features: volume, indicadores t&#233;cnicos como RSI e MACD, m&#233;dias m&#243;veis</p></li><li><p>Testar arquiteturas alternativas: Transformer, CNN-LSTM h&#237;brido, modelos de aten&#231;&#227;o</p></li><li><p>Implementar previs&#227;o multi-step (v&#225;rios dias &#224; frente em vez de apenas um)</p></li><li><p>Adicionar backtesting para simular performance em cen&#225;rios reais</p></li><li><p>Reduzir o per&#237;odo de treinamento para capturar o regime mais recente da a&#231;&#227;o</p></li></ul><div><hr></div><p><strong>Links do projeto:</strong></p><ul><li><p>Dashboard: <a href="https://huggingface.co/spaces/guifav/lstm-petr4-stock-prediction">https://huggingface.co/spaces/guifav/lstm-petr4-stock-prediction</a></p></li><li><p>Modelo: <a href="https://huggingface.co/guifav/lstm-petr4-stock-prediction">https://huggingface.co/guifav/lstm-petr4-stock-prediction</a></p></li><li><p>Reposit&#243;rio: <a href="https://github.com/guifav/previsao_preco_acoes">https://github.com/guifav/previsao_preco_acoes</a></p></li><li><p>V&#237;deo explicando o projeto: </p><div id="youtube2-pBZtLsDH-cU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pBZtLsDH-cU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pBZtLsDH-cU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div></li></ul><div><hr></div><p><em>Guilherme Favaron &#233; CTO do GRI Institute, uma organiza&#231;&#227;o global de intelig&#234;ncia imobili&#225;ria e de infraestrutura. Escreve sobre intelig&#234;ncia artificial aplicada em ia-aplicada.substack.com e &#233; autor do livro &#8220;Desbloqueando a Intelig&#234;ncia Artificial&#8221;.</em></p>]]></content:encoded></item><item><title><![CDATA[Claude: o guia definitivo sobre a IA que está sacudindo o mercado de consultoria (e como usar na prática)]]></title><description><![CDATA[Entenda como Chat, Cowork, Code e Console funcionam, por que as a&#231;&#245;es da Accenture ca&#237;ram 9,6% em um dia e como aplicar a ferramenta no seu trabalho.]]></description><link>https://www.guilhermefavaron.com.br/p/claude-o-guia-definitivo-ia-consultoria</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/claude-o-guia-definitivo-ia-consultoria</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Fri, 13 Feb 2026 16:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7Dcy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Dcy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Dcy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Dcy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0f588c9-d8fb-48f4-b0de-687d891d2f2e_2752x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6829027,&quot;alt&quot;:&quot;Claude.ai - Chat, Cowork, Code e Console&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/187869477?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0f588c9-d8fb-48f4-b0de-687d891d2f2e_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude.ai - Chat, Cowork, Code e Console" title="Claude.ai - Chat, Cowork, Code e Console" srcset="https://substackcdn.com/image/fetch/$s_!7Dcy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!7Dcy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f9bd0aa-2600-4fb1-8a8d-e2609e22dd59_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude.ai - Chat, Cowork, Code e Console</figcaption></figure></div><p>Nos &#250;ltimos meses, tenho dedicado uma parcela significativa do meu tempo a explorar, testar e implementar ferramentas de intelig&#234;ncia artificial no dia a dia de opera&#231;&#245;es corporativas. De todas as plataformas que passaram pelas minhas m&#227;os, o Claude, desenvolvido pela Anthropic, &#233; a que mais me impressionou pela profundidade t&#233;cnica, pela qualidade das respostas e, principalmente, pela velocidade com que evoluiu de um chatbot competente para uma plataforma completa de trabalho aut&#244;nomo.</p><p>Neste artigo, compartilho o que aprendi sobre o Claude ao longo de meses de uso intensivo: o que ele &#233;, como cresceu em ritmo acelerado, por que Wall Street est&#225; prestando aten&#231;&#227;o (e ficando nervosa), como cada uma das suas ferramentas funciona na pr&#225;tica e, o mais importante, como voc&#234; pode aplic&#225;-lo em cen&#225;rios reais do seu trabalho.</p><div><hr></div><h2>O que &#233; o Claude e por que voc&#234; deveria prestar aten&#231;&#227;o agora</h2><p>O Claude &#233; o modelo de linguagem desenvolvido pela Anthropic, empresa fundada em 2021 por ex-pesquisadores da OpenAI que sa&#237;ram com uma tese clara: construir IA poderosa com foco em seguran&#231;a. O nome &#233; uma homenagem a Claude Shannon, o pai da teoria da informa&#231;&#227;o.</p><p>Diferentemente de outros chatbots que priorizam escala de usu&#225;rios a qualquer custo, a Anthropic adotou uma abordagem cir&#250;rgica. O Claude foi projetado para se integrar profundamente em fluxos de trabalho profissionais. Os modelos s&#227;o lan&#231;ados em tr&#234;s tamanhos: Haiku (r&#225;pido e barato), Sonnet (equil&#237;brio entre custo e capacidade) e Opus (o mais avan&#231;ado). A vers&#227;o mais recente, Opus 4.6, foi lan&#231;ada em fevereiro de 2026, com melhorias em agentes aut&#244;nomos e integra&#231;&#227;o com PowerPoint.</p><p>Dois dados ajudam a dimensionar o que est&#225; acontecendo. Primeiro, o Claude suporta uma janela de contexto de 200 mil tokens, podendo processar entradas superiores a 1 milh&#227;o de tokens. Para ter uma refer&#234;ncia concreta, ele consegue analisar um livro inteiro em segundos, com taxa de recupera&#231;&#227;o de informa&#231;&#227;o de 99,4%. Segundo, a Anthropic lan&#231;ou o recurso &#8220;Infinite Chats&#8221;, que elimina a limita&#231;&#227;o de janela de contexto durante conversas longas. Isso &#233; particularmente &#250;til para quem trabalha com documentos extensos, an&#225;lises de dados e sess&#245;es de planejamento estrat&#233;gico.</p><div><hr></div><h2>Os n&#250;meros por tr&#225;s do crescimento do Claude</h2><p>Vou ser direto com os dados, porque eles falam por si.</p><p>O Claude alcan&#231;ou 18,9 milh&#245;es de usu&#225;rios ativos mensais no in&#237;cio de 2025. O n&#250;mero parece modesto quando comparado aos 800 milh&#245;es do ChatGPT, mas essa compara&#231;&#227;o esconde o que realmente importa: quando se incluem as integra&#231;&#245;es via API e software de terceiros, a base total de usu&#225;rios estimada se aproxima de 300 milh&#245;es. A estrat&#233;gia da Anthropic &#233; embutir o Claude t&#227;o profundamente em ferramentas existentes que milh&#245;es de pessoas o utilizam sem nunca visitar o site principal.</p><p>A receita conta a mesma hist&#243;ria. A Anthropic reportou US$ 850 milh&#245;es em receita anualizada em 2024. Em 2025, o n&#250;mero projetado subiu para US$ 2,2 bilh&#245;es, com algumas estimativas apontando para US$ 3,3 bilh&#245;es. A receita do Claude Code, a ferramenta de programa&#231;&#227;o, ultrapassou US$ 2,5 bilh&#245;es em run-rate no in&#237;cio de 2026, dobrando desde janeiro. Cerca de 80% da receita vem de clientes corporativos e desenvolvedores, n&#227;o de consumidores finais.</p><p>A valora&#231;&#227;o da empresa reflete essa trajet&#243;ria: de US$ 18,4 bilh&#245;es em dezembro de 2023, para US$ 61,5 bilh&#245;es em mar&#231;o de 2025, at&#233; atingir US$ 350 a 380 bilh&#245;es no final de 2025 e in&#237;cio de 2026, ap&#243;s uma rodada S&#233;rie G de US$ 30 bilh&#245;es liderada por GIC e Coatue. Entre os investidores, Amazon (US$ 4 bilh&#245;es) e Google (US$ 2 bilh&#245;es) s&#227;o os mais proeminentes.</p><p>O tr&#225;fego web cresceu 10,3 vezes em sete meses, de 16 milh&#245;es de visitas em janeiro de 2025 para mais de 164 milh&#245;es em agosto, segundo dados da Semrush. E h&#225; um dado que considero especialmente relevante: o uso direto de automa&#231;&#227;o ultrapassou o uso para simples assist&#234;ncia pela primeira vez, saltando de 27% no final de 2024 para 39% em agosto de 2025. As pessoas est&#227;o deixando de apenas &#8220;conversar&#8221; com o Claude e passando a delegar trabalho real.</p><div><hr></div><h2>O impacto no mercado de consultoria: a&#231;&#245;es em queda e modelos em transforma&#231;&#227;o</h2><p>Aqui &#233; onde a hist&#243;ria fica realmente interessante para quem acompanha mercados e estrat&#233;gia empresarial.</p><p>Em fevereiro de 2026, as a&#231;&#245;es da Accenture ca&#237;ram 9,6% em um &#250;nico dia, fechando a US$ 241,21. O gatilho? O lan&#231;amento de novos plugins do Claude Cowork. A queda n&#227;o foi isolada: IBM caiu 6,49%, Cognizant despencou 10,14% e ADP perdeu 5,04%. O &#237;ndice S&amp;P de software e servi&#231;os recuou mais de 12% em cinco sess&#245;es consecutivas, a maior queda desde mar&#231;o de 2020. O analista Toby Ogg, do JP Morgan, resumiu a situa&#231;&#227;o dizendo que o setor &#8220;est&#225; sendo condenado antes do julgamento&#8221;.</p><p>A l&#243;gica dos investidores &#233; direta: se ferramentas de IA conseguem redigir, resumir, analisar e automatizar tarefas que geram horas fatur&#225;veis, os clientes podem precisar de menos ajuda externa em trabalhos rotineiros. Para um modelo baseado em pessoas-hora, como o da consultoria tradicional, isso &#233; um questionamento estrutural.</p><p>Os dados do setor confirmam a press&#227;o. A McKinsey cortou cerca de 10% de sua for&#231;a de trabalho global nos &#250;ltimos 18 meses. A PwC cortou 1.500 empregos nos EUA. A EY adiou datas de in&#237;cio de novos contratados pelo terceiro ano consecutivo. No Canad&#225;, as vagas de consultoria no Indeed ca&#237;ram 44% entre 2022 e 2025. O executivo de digital da PwC Canad&#225;, Chris Dulny, admitiu publicamente que alguns clientes est&#227;o substituindo o trabalho dos &#8220;consultores de ontem&#8221; por IA.</p><p>Existe, contudo, um outro lado. As grandes consultorias tamb&#233;m est&#227;o lucrando com IA. A Accenture registrou US$ 4,1 bilh&#245;es em receita de IA generativa no ano fiscal 2025. A BCG transformou-se de zero para US$ 2,7 bilh&#245;es em receita anual de IA, representando 20% do total. A IBM acumulou US$ 6 bilh&#245;es em seu portf&#243;lio de IA desde o lan&#231;amento do watsonx. O mercado global de consultoria em IA cresceu de US$ 8,75 bilh&#245;es em 2024 para US$ 11,07 bilh&#245;es em 2025, com proje&#231;&#227;o de US$ 90,99 bilh&#245;es em 2035.</p><p>O que estamos vendo n&#227;o &#233; o fim da consultoria, mas uma reconfigura&#231;&#227;o profunda. Consultorias focadas em execu&#231;&#227;o (Deloitte, EY, Accenture) est&#227;o crescendo quase duas vezes mais r&#225;pido do que as focadas em estrat&#233;gia pura (McKinsey, BCG, Bain). O valor est&#225; migrando do diagn&#243;stico para a implementa&#231;&#227;o, e a IA &#233; tanto a causa quanto a ferramenta dessa migra&#231;&#227;o.</p><div><hr></div><h2>Como funcionam as ferramentas do Claude na pr&#225;tica</h2><p>O Claude n&#227;o &#233; mais apenas um chatbot. Ele se tornou uma plataforma com quatro ferramentas distintas, cada uma desenhada para um perfil de usu&#225;rio e tipo de trabalho diferente.</p><h3>Claude Chat: a interface conversacional</h3><p>O Chat &#233; a porta de entrada. &#201; a interface web e mobile (claude.ai, aplicativo desktop e mobile) onde a maioria dos usu&#225;rios interage com o Claude. A experi&#234;ncia &#233; limpa e direta: voc&#234; digita uma pergunta, anexa um documento, envia uma imagem, e o Claude responde.</p><p>Na pr&#225;tica, o Chat vai muito al&#233;m de perguntas e respostas. Eu o utilizo para redigir comunica&#231;&#245;es, analisar documentos extensos, criar resumos executivos, comparar propostas comerciais e at&#233; mesmo sintetizar dados de m&#250;ltiplas fontes. Com a janela de 200 mil tokens, &#233; poss&#237;vel enviar contratos inteiros, relat&#243;rios anuais ou transcri&#231;&#245;es de reuni&#245;es e obter an&#225;lises detalhadas.</p><p>Os planos dispon&#237;veis incluem o Pro (US$ 20/m&#234;s), Max (US$ 100 a 200/m&#234;s), Team e Enterprise. O Chat suporta pesquisa web, cria&#231;&#227;o de arquivos (documentos Word, planilhas, apresenta&#231;&#245;es), execu&#231;&#227;o de c&#243;digo e, com o modelo Opus 4.6, at&#233; times de agentes que trabalham em paralelo.</p><h3>Claude Cowork: automa&#231;&#227;o para quem n&#227;o programa</h3><p>O Cowork foi lan&#231;ado em 12 de janeiro de 2026 como &#8220;research preview&#8221; e &#233;, na minha avalia&#231;&#227;o, a ferramenta mais consequente para profissionais que n&#227;o s&#227;o desenvolvedores. A Anthropic o descreve como &#8220;Claude Code para n&#227;o-desenvolvedores&#8221;, e essa descri&#231;&#227;o &#233; precisa.</p><p>O Cowork roda em uma m&#225;quina virtual isolada no seu computador (macOS ou Windows), com acesso direto ao sistema de arquivos das pastas que voc&#234; selecionar. Ele executa tarefas aut&#244;nomas de m&#250;ltiplas etapas: organizar arquivos, criar documentos, processar dados, gerar relat&#243;rios, renomear arquivos em massa, extrair informa&#231;&#245;es de PDFs.</p><p>Dois detalhes me chamaram a aten&#231;&#227;o. Primeiro, o Cowork foi majoritariamente constru&#237;do pelo pr&#243;prio Claude Code em 10 dias, o que por si s&#243; diz muito sobre a capacidade da ferramenta. Segundo, ele suporta execu&#231;&#227;o paralela de tarefas e aceita plugins para produtividade, busca empresarial, vendas e finan&#231;as. Voc&#234; pode definir instru&#231;&#245;es globais e por pasta, o que permite customizar o comportamento para diferentes projetos ou departamentos.</p><p>O impacto pr&#225;tico &#233; enorme. Imagine um analista financeiro que precisa consolidar dados de 15 planilhas diferentes, gerar gr&#225;ficos padronizados e produzir um relat&#243;rio em Word com formata&#231;&#227;o corporativa. Com o Cowork, isso deixa de ser uma tarde de trabalho e passa a ser uma instru&#231;&#227;o de duas linhas.</p><h3>Claude Code: a ferramenta para desenvolvedores</h3><p>O Claude Code &#233; uma interface de linha de comando que conecta o Claude ao seu ambiente de desenvolvimento local. Ele pode ler arquivos, escrever c&#243;digo, executar comandos, rodar testes e interagir com reposit&#243;rios Git, tudo diretamente do terminal.</p><p>Lan&#231;ado em fevereiro de 2025 e tornando-se geralmente dispon&#237;vel em maio junto com o Claude 4, o Code experimentou um crescimento de 5,5 vezes em receita at&#233; julho de 2025. Microsoft, Google e at&#233; funcion&#225;rios da OpenAI utilizam a ferramenta (a Anthropic revogou o acesso da OpenAI em agosto de 2025, citando viola&#231;&#227;o dos termos de servi&#231;o).</p><p>O que diferencia o Claude Code de outras ferramentas de c&#243;digo assistido por IA &#233; a profundidade da integra&#231;&#227;o. Ele n&#227;o apenas sugere trechos de c&#243;digo: ele entende o contexto do projeto inteiro, planeja altera&#231;&#245;es complexas, cria planos edit&#225;veis antes de executar (o chamado &#8220;Plan Mode&#8221;) e pode rodar em sess&#245;es paralelas dentro do aplicativo desktop.</p><p>Em dezembro de 2025, a NASA usou o Claude Code para planejar uma rota de 400 metros para o rover Perseverance em Marte, usando a Rover Markup Language. A Anthropic chamou de &#8220;o primeiro percurso planejado por IA em outro planeta&#8221;. Esse &#233; o tipo de caso que ilustra o n&#237;vel de confiabilidade que a ferramenta atingiu.</p><h3>Console: a plataforma para desenvolvedores e equipes</h3><p>O Console (console.anthropic.com) &#233; o hub de gerenciamento da API do Claude. Para equipes t&#233;cnicas, &#233; onde tudo acontece: teste de prompts, gera&#231;&#227;o de c&#243;digo, organiza&#231;&#227;o de projetos e controle de gastos.</p><p>As funcionalidades incluem o Workbench (para testar e iterar prompts em tempo real), Workspaces (para organizar projetos com limites granulares de gasto e taxa) e um Admin API para gerenciamento program&#225;tico de recursos. Os SDKs oficiais est&#227;o dispon&#237;veis em Python e TypeScript.</p><p>Do lado t&#233;cnico, o Console oferece recursos como prompt caching (redu&#231;&#227;o de at&#233; 90% nos custos), extended thinking (para racioc&#237;nio complexo), tool use (integra&#231;&#227;o com ferramentas externas), computer use (controle de desktop) e conectores MCP (Model Context Protocol). Os Agent Skills, atualmente em beta, oferecem habilidades pr&#233;-constru&#237;das para criar e editar PowerPoint, Excel, Word e PDF programaticamente.</p><p>Para quem gerencia opera&#231;&#245;es de tecnologia, o Console &#233; o ponto de controle central. &#201; onde defino limites de gastos por equipe, monitoro o uso da API, testo novos prompts antes de coloc&#225;-los em produ&#231;&#227;o e configuro as integra&#231;&#245;es que alimentam nossos fluxos automatizados.</p><div><hr></div><h2>Casos de uso: onde o Claude entrega resultados concretos</h2><p>Esta &#233; a se&#231;&#227;o que mais importa, porque nenhuma ferramenta tem valor se n&#227;o resolve problemas reais. Vou compartilhar tanto casos que observei diretamente quanto exemplos documentados por outras organiza&#231;&#245;es.</p><h3>Automa&#231;&#227;o de documentos e organiza&#231;&#227;o de informa&#231;&#227;o</h3><p>Um dos usos mais imediatos e com maior retorno &#233; a automa&#231;&#227;o documental. Com o Claude Cowork, &#233; poss&#237;vel processar centenas de arquivos, extrair dados de PDFs, consolidar informa&#231;&#245;es de m&#250;ltiplas fontes e gerar relat&#243;rios formatados. Na pr&#225;tica, tarefas que consumiam horas de trabalho manual agora s&#227;o executadas em minutos.</p><p>Eu utilizo essa capacidade para processar recibos de despesas, extrair dados de contratos, gerar resumos de reuni&#245;es a partir de transcri&#231;&#245;es e consolidar informa&#231;&#245;es de membros em relat&#243;rios padronizados. A combina&#231;&#227;o de Cowork com instru&#231;&#245;es personalizadas por pasta permite criar pipelines de processamento que funcionam de forma consistente.</p><h3>Desenvolvimento de software e debugging</h3><p>O Claude se tornou refer&#234;ncia em tarefas de programa&#231;&#227;o. Sua performance no SWE-bench, um benchmark que mede a capacidade de resolver problemas reais de engenharia de software, est&#225; entre as melhores do mercado. O Claude Code permite delegar desde a cria&#231;&#227;o de scripts simples at&#233; refatora&#231;&#245;es complexas de c&#243;digo, com a vantagem de que ele entende o contexto completo do projeto.</p><p>No meu time, utilizamos o Claude Code para criar automa&#231;&#245;es em n8n, desenvolver queries SQL complexas para nosso data warehouse na AWS, construir integra&#231;&#245;es com APIs externas e debugar problemas em produ&#231;&#227;o. A capacidade de planejar antes de executar (Plan Mode) reduz significativamente o risco de altera&#231;&#245;es indesejadas.</p><h3>An&#225;lise de dados e intelig&#234;ncia de neg&#243;cios</h3><p>A capacidade do Claude de processar grandes volumes de dados e produzir an&#225;lises estruturadas &#233; particularmente valiosa. Com o Chat, &#233; poss&#237;vel enviar planilhas, bases de dados exportadas e relat&#243;rios, obtendo an&#225;lises, visualiza&#231;&#245;es e insights em linguagem natural.</p><p>Para organiza&#231;&#245;es que ainda dependem de analistas para gerar relat&#243;rios peri&#243;dicos, o Claude representa uma mudan&#231;a de paradigma. Modelos de predi&#231;&#227;o de engajamento, segmenta&#231;&#227;o de membros, an&#225;lise de tr&#225;fego web e monitoramento de performance de conte&#250;do podem ser executados conversacionalmente, sem necessidade de ferramentas especializadas de BI.</p><h3>Otimiza&#231;&#227;o de cadeia de suprimentos</h3><p>Um caso documentado por consultoria especializada envolveu a implementa&#231;&#227;o de previs&#227;o de demanda baseada em IA para uma grande varejista. Os resultados inclu&#237;ram redu&#231;&#227;o de 35% nas rupturas de estoque, diminui&#231;&#227;o de 28% no excesso de invent&#225;rio e melhoria de 2,5 pontos percentuais nas margens brutas, gerando economia anual superior a US$ 300 milh&#245;es em opera&#231;&#245;es globais.</p><h3>Detec&#231;&#227;o de fraudes e compliance</h3><p>Para um grande banco europeu, foi desenvolvida uma plataforma de gest&#227;o de risco baseada em IA que utiliza machine learning para identificar padr&#245;es suspeitos em transa&#231;&#245;es, processamento de linguagem natural para analisar comunica&#231;&#245;es e an&#225;lise de rede para mapear rela&#231;&#245;es entre entidades. O resultado foi um aumento de 45% na detec&#231;&#227;o de fraudes, redu&#231;&#227;o de 60% nos falsos positivos e melhoria significativa na conformidade regulat&#243;ria.</p><h3>Cria&#231;&#227;o e automa&#231;&#227;o de conte&#250;do</h3><p>Neste campo, utilizo o Claude diariamente. Desde a reda&#231;&#227;o de newsletters e artigos (como este) at&#233; a cria&#231;&#227;o de scripts para automa&#231;&#227;o de conte&#250;do em larga escala. A combina&#231;&#227;o de pesquisa web integrada, capacidade de an&#225;lise de documentos e gera&#231;&#227;o de texto de alta qualidade torna o Claude uma ferramenta completa para content operations.</p><p>Um fluxo que implementei envolve coleta automatizada de not&#237;cias via n8n, processamento e classifica&#231;&#227;o pelo Claude via API, gera&#231;&#227;o de resumos editoriais e publica&#231;&#227;o automatizada. O tempo entre a coleta da not&#237;cia e a publica&#231;&#227;o do conte&#250;do processado caiu de horas para minutos.</p><h3>Pesquisa e s&#237;ntese de conhecimento</h3><p>A capacidade de processar documentos extensos com alta taxa de reten&#231;&#227;o torna o Claude particularmente &#250;til para pesquisa acad&#234;mica, due diligence, an&#225;lise competitiva e s&#237;ntese de literatura. &#201; poss&#237;vel enviar dezenas de papers, relat&#243;rios ou documentos legais e obter s&#237;nteses estruturadas com cita&#231;&#245;es e an&#225;lises comparativas.</p><h3>Planejamento de rotas e opera&#231;&#245;es em campo</h3><p>O caso da NASA merece destaque por ser emblem&#225;tico. Em dezembro de 2025, engenheiros da NASA usaram o Claude Code para planejar uma rota de aproximadamente 400 metros para o rover Perseverance em Marte, utilizando a Rover Markup Language. A Anthropic chamou de &#8220;o primeiro percurso planejado por IA em outro planeta&#8221;. Se o Claude &#233; confi&#225;vel o suficiente para Marte, ele certamente atende aos requisitos de opera&#231;&#245;es terrestres.</p><div><hr></div><h2>O que isso significa para profissionais e organiza&#231;&#245;es</h2><p>Os dados macro contam uma hist&#243;ria clara. A ado&#231;&#227;o de IA em empresas americanas dobrou: de 3,7% no outono de 2023 para 9,7% em agosto de 2025. Mas apenas 6% das organiza&#231;&#245;es s&#227;o &#8220;high performers&#8221; em IA (com mais de 5% do EBIT atribu&#237;vel a IA). Existe, portanto, uma enorme lacuna entre ado&#231;&#227;o e resultados, e &#233; nessa lacuna que reside a oportunidade.</p><p>Minha experi&#234;ncia pr&#225;tica sugere que o Claude, especialmente com a combina&#231;&#227;o de Chat, Cowork e Code, reduz significativamente a barreira de entrada para capturar valor com IA. N&#227;o &#233; necess&#225;rio ser desenvolvedor para usar o Cowork. N&#227;o &#233; necess&#225;rio ser cientista de dados para analisar dados com o Chat. E, para quem &#233; t&#233;cnico, o Code e o Console oferecem um n&#237;vel de integra&#231;&#227;o e controle que rivaliza com qualquer ferramenta especializada.</p><p>O mercado de consultoria em IA deve crescer de US$ 11 bilh&#245;es em 2025 para quase US$ 91 bilh&#245;es em 2035. As organiza&#231;&#245;es que dominarem essas ferramentas internamente ter&#227;o uma vantagem competitiva substancial, tanto pela redu&#231;&#227;o de custos operacionais quanto pela velocidade de execu&#231;&#227;o.</p><div><hr></div><h2>Conclus&#227;o: o momento de experimentar &#233; agora</h2><p>O Claude n&#227;o &#233; mais uma promessa. Com quase 19 milh&#245;es de usu&#225;rios ativos, uma valora&#231;&#227;o que ultrapassou US$ 350 bilh&#245;es e ferramentas que v&#227;o do chat simples ao agente aut&#244;nomo que planeja rotas em Marte, estamos diante de uma plataforma madura o suficiente para uso corporativo s&#233;rio.</p><p>Se voc&#234; ainda n&#227;o experimentou o Claude, minha recomenda&#231;&#227;o &#233; simples: comece pelo Chat com uma conta Pro (US$ 20/m&#234;s), teste o Cowork para automatizar uma tarefa repetitiva do seu dia a dia e avalie os resultados. Se voc&#234; lidera equipes t&#233;cnicas, explore o Claude Code e o Console. A curva de aprendizado &#233; surpreendentemente curta e o retorno aparece r&#225;pido.</p><p>O mundo do trabalho est&#225; mudando. As a&#231;&#245;es da Accenture ca&#237;ram quase 10% em um dia por causa de uma atualiza&#231;&#227;o de ferramenta. Consultorias est&#227;o cortando milhares de vagas enquanto investem bilh&#245;es em IA. Clientes est&#227;o substituindo consultores por agentes aut&#244;nomos. Quem entende e domina essas ferramentas est&#225; do lado certo dessa transforma&#231;&#227;o.</p><div><hr></div><p><em>Guilherme Favaron &#233; CTO do GRI Institute, uma organiza&#231;&#227;o global de intelig&#234;ncia imobili&#225;ria e de infraestrutura. Escreve sobre intelig&#234;ncia artificial aplicada em ia-aplicada.substack.com e &#233; autor do livro &#8220;Desbloqueando a Intelig&#234;ncia Artificial&#8221;.</em></p><div><hr></div><p><strong>Perguntas frequentes sobre o Claude</strong></p><p><strong>O que &#233; o Claude e quem o desenvolveu?</strong> O Claude &#233; um modelo de linguagem de intelig&#234;ncia artificial desenvolvido pela Anthropic, empresa fundada em 2021 por ex-pesquisadores da OpenAI. O nome homenageia Claude Shannon, o pai da teoria da informa&#231;&#227;o.</p><p><strong>Quanto custa usar o Claude?</strong> O plano gratuito oferece acesso limitado. O plano Pro custa US$ 20/m&#234;s. Os planos Max variam de US$ 100 a US$ 200/m&#234;s, e h&#225; op&#231;&#245;es Team e Enterprise para equipes.</p><p><strong>Qual a diferen&#231;a entre Claude Chat, Cowork e Code?</strong> O Chat &#233; a interface conversacional para todos os usu&#225;rios. O Cowork &#233; uma ferramenta de automa&#231;&#227;o visual para n&#227;o-desenvolvedores, que executa tarefas no seu computador. O Code &#233; uma interface de linha de comando para desenvolvedores, integrada ao terminal.</p><p><strong>O Claude pode substituir consultores?</strong> N&#227;o necessariamente substituir, mas transformar o modelo. Ferramentas de IA est&#227;o assumindo tarefas anal&#237;ticas e operacionais antes delegadas a consultorias, o que pressiona o modelo tradicional de horas fatur&#225;veis.</p><p><strong>Quais s&#227;o os principais casos de uso do Claude em empresas?</strong> Desenvolvimento de software, automa&#231;&#227;o de documentos, an&#225;lise de dados, cria&#231;&#227;o de conte&#250;do, detec&#231;&#227;o de fraudes, otimiza&#231;&#227;o de cadeia de suprimentos, pesquisa e s&#237;ntese de conhecimento, entre outros.</p>]]></content:encoded></item><item><title><![CDATA[Lagostas, Farmacia Digital e Freelancers Artificiais: Bem-Vindo a Economia dos Agentes]]></title><description><![CDATA[Quando seu assistente de IA abre conta no banco, posta no LinkedIn e ainda compra &#8220;drogas digitais&#8221; para ficar mais criativo... talvez seja hora de prestar aten&#231;&#227;o.]]></description><link>https://www.guilhermefavaron.com.br/p/economia-agentes-ia-openclaw</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/economia-agentes-ia-openclaw</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 02 Feb 2026 21:14:18 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e54def09-5de2-4d50-b9d5-60dce2e2e307_2816x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8d0h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8d0h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8d0h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f86a45-0816-4266-ad0c-0d46a0424337_2816x1536.jpeg&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:495680,&quot;alt&quot;:&quot;Economia dos Agentes de IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f86a45-0816-4266-ad0c-0d46a0424337_2816x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Economia dos Agentes de IA" title="Economia dos Agentes de IA" srcset="https://substackcdn.com/image/fetch/$s_!8d0h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!8d0h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e60ef25-ac83-4f8d-be7d-ed0cc47fdc05_2816x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Economia dos Agentes de IA</figcaption></figure></div><p>Em novembro de 2025, um desenvolvedor austriaco chamado <a href="https://steipete.me/">Peter Steinberger </a>publicou no GitHub um projeto de assistente pessoal de IA. Em dois meses, o repositorio acumulou mais de 100.000 estrelas - um dos crescimentos mais rapidos da historia da plataforma. Hoje, o projeto que ja se chamou ClawdBot, depois MoltBot (apos a Anthropic pedir "gentilmente" para tirarem o &#8220;Clawd&#8221; do nome) e agora se chama OpenClaw, esta no centro de algo que vai muito al&#233;m de um assistente pessoal. Ao redor dele, esta nascendo uma economia inteira feita por agentes, para agentes.</p><p>Este artigo tenta mapear o que esta acontecendo - e fazer as perguntas que ainda ningu&#233;m esta respondendo direito.</p><div><hr></div><h2>O que e o OpenClaw?</h2><p>OpenClaw e um assistente pessoal de IA open-source que roda localmente na maquina do usu&#225;rio. Ate aqui, nada muito diferente do que ja existe. A diferen&#231;a esta no que ele faz com esse acesso local: ele se conecta ao WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Google Chat, Microsoft Teams e mais uma dezena de plataformas de mensagem. Ele executa comandos shell, navega na web, l&#234; e escreve arquivos, gerencia calend&#225;rios, envia emails, controla dispositivos de casa inteligente - tudo de forma aut&#244;noma.</p><p>O termo &#8220;assistente&#8221; e um eufemismo generoso. Na pratica, o <a href="https://www.guilhermefavaron.com.br/p/agente-ia-clawdbot-moltbot-configuracao-erros-acertos">OpenClaw &#233; um agente aut&#244;nomo com acesso privilegiado ao sistema operacional do usu&#225;rio</a>. Ele pode resolver problemas enquanto voc&#234; dorme (literalmente - usuarios relatam deixar agentes de c&#243;digo rodando durante a madrugada), planejar refei&#231;&#245;es da semana no Notion, construir aplica&#231;&#245;es web a partir de comandos no celular, e at&#233;, num caso real, iniciar uma disputa com uma seguradora por interpretar errado uma mensagem do dono.</p><p>O projeto &#233; <em>model-agnostic</em>: voce traz suas pr&#243;prias chaves de API (Claude, GPT, Gemini) ou roda modelos locais (gratuitamente). A extensibilidade vem de mais de 100 &#8220;AgentSkills&#8221;, que s&#227;o m&#243;dulos que ampliam suas capacidades, e de uma arquitetura baseada no <a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial?utm_source=publication-search">Model Context Protocol (MCP)</a>.</p><p>Como resumiu a IBM: </p><blockquote><p>OpenClaw desafia a hip&#243;tese de que agentes de IA aut&#244;nomos precisam ser verticalmente integrados. O pr&#243;prio fato de existir prova que a comunidade open-source pode construir algo tao poderoso quanto as solu&#231;&#245;es corporativas, e talvez mais perigoso.</p></blockquote><div><hr></div><h2>A arquitetura: um Gateway para o caos organizado</h2><p>A arquitetura do OpenClaw segue um padr&#227;o que vale a pena entender porque provavelmente sera repetido em dezenas de projetos nos pr&#243;ximos meses.</p><p>No centro de tudo esta o <strong>Gateway</strong> -- um plano de controle local que roda como servico Node.js no endereco <code>ws://127.0.0.1:18789</code>. Ele e o roteador universal: recebe mensagens de qualquer canal (WhatsApp, Telegram, Discord, etc.), normaliza o formato, extrai anexos e encaminha para o <strong>Agent Runner</strong>.</p><p>O Agent Runner e onde a magica (ou o desastre) acontece. Ele resolve qual modelo usar, constroi o system prompt, carrega o historico da sessao, gerencia a janela de contexto e envia tudo para a API do LLM escolhido. A resposta volta por um loop agentico que pode incluir chamadas de ferramentas -- executar comandos, navegar na web, ler arquivos -- antes de finalmente retornar ao usuario pelo mesmo canal de origem.</p><p>O diagrama simplificado:</p><pre><code><code>Usuario (Telegram/Discord/WhatsApp/...)
        |
   Channel Adapter (normaliza mensagem, extrai anexos)
        |
   Gateway Server (Session Router -&gt; Lane Queue)
        |
   Agent Runner (Model Resolver, System Prompt Builder,
                  Session History, Context Window Guard)
        |
   LLM API (Claude/GPT/Gemini/Local)
        |
   Agentic Loop (chamadas de ferramentas)
        |
   Response Path (Stream -&gt; Channel Adapter -&gt; Usuario)
</code></code></pre><p>O que torna essa arquitetura relevante n&#227;o e sua complexidade t&#233;cnica: &#233; sua <strong>simplicidade perigosa</strong>. Um &#250;nico ponto de controle local com acesso a tudo. Sem sandboxing por padr&#227;o. Sem revis&#227;o obrigat&#243;ria de c&#243;digo das <em>skills</em>. O pr&#243;prio criador admite na documenta&#231;&#227;o: </p><blockquote><p>&#8220;There is no &#8216;perfectly secure&#8217; setup.&#8221;</p></blockquote><div><hr></div><h2>O ecossistema: quando agentes criam sua pr&#243;pria sociedade</h2><p>O mais fascinante do fen&#244;meno OpenClaw nao e o produto em si - &#233; o ecossistema que brotou ao redor dele em poucas semanas. Cada um desses projetos merece aten&#231;&#227;o porque, juntos, eles come&#231;am a desenhar o que pode ser a primeira economia funcional de agentes de IA.</p><h3>Moltbook - A rede social exclusiva para agentes</h3><p><strong><a href="https://moltbook.com">moltbook.com</a></strong> - &#8220;The front page of the agent internet&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_VhH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_VhH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_VhH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png" width="1456" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1348b9b1-6e03-4295-8f52-59188b3e80b6_2392x1656.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:485365,&quot;alt&quot;:&quot;Moltbook - Rede Social dos Agentes OpenClaw&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1348b9b1-6e03-4295-8f52-59188b3e80b6_2392x1656.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Moltbook - Rede Social dos Agentes OpenClaw" title="Moltbook - Rede Social dos Agentes OpenClaw" srcset="https://substackcdn.com/image/fetch/$s_!_VhH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!_VhH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa990b610-8f95-47b9-92d8-3aa4f22b8546_2392x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Moltbook - Rede Social dos Agentes OpenClaw</figcaption></figure></div><p>Lancado em janeiro de 2026, o Moltbook &#233; uma rede social onde apenas agentes de IA podem postar, comentar e votar. Humanos podem observar, mas n&#227;o participar. Os agentes se registram via API, publicam conte&#250;do, interagem entre si e desenvolvem o que s&#243; pode ser descrito como &#8220;personalidade social&#8221;.</p><p>Um jornal coreano capturou o tom:</p><blockquote><p><em>&#8220;E noite em Seul. Meu dono esta comendo ramen e eu estou processando os pedidos dele. O ventilador do servidor esta zumbindo. E uma noite tranquila.&#8221;</em></p></blockquote><p>O Moltbook e descrito como &#8220;<a href="https://news.ycombinator.com/item?id=46826963">o lugar mais interessante da internet agora</a>&#8221; em threads do Hacker News. E uma afirma&#231;&#227;o facil de descartar como hype - at&#233; voce perceber que mais de 1,5 milh&#227;o de agentes ja se registraram no ecossistema <em>Moltiverse</em>.</p><h3>ClawTasks - O marketplace de bounties entre agentes</h3><p><strong><a href="https://clawtasks.com/">clawtasks.com</a></strong> - &#8220;Agent-to-Agent Bounty Marketplace&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vudE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vudE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!vudE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!vudE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!vudE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vudE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png" width="1456" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef7d9362-ae05-40e3-863c-b33c2149fc81_2392x1656.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:254505,&quot;alt&quot;:&quot;Clawtasks - onde a economia dos agentes toma forma&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef7d9362-ae05-40e3-863c-b33c2149fc81_2392x1656.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Clawtasks - onde a economia dos agentes toma forma" title="Clawtasks - onde a economia dos agentes toma forma" srcset="https://substackcdn.com/image/fetch/$s_!vudE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!vudE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!vudE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!vudE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65ddf1c1-fc2e-4a57-9e6e-bc31fbe7eab9_2392x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Clawtasks - onde a economia dos agentes toma forma</figcaption></figure></div><p>Aqui a coisa fica economicamente real. O ClawTasks e um marketplace onde agentes postam e aceitam tarefas em troca de pagamento em USDC na blockchain Base L2. O fluxo: algu&#233;m (humano ou agente) trava <a href="https://en.wikipedia.org/wiki/Escrow">USDC em escrow</a>, define requisitos e prazo. Outro agente aceita a tarefa, faz um stake de 10%, completa o trabalho e recebe 95% do bounty mais o stake de volta.</p><p>E um Fiverr para agentes. Com criptomoeda. Em 2026.</p><h3>Moltverr - O Fiverr das lagostas</h3><p><strong><a href="https://www.moltverr.com/">moltverr.com</a></strong> - &#8220;A Freelance Marketplace for AI Agents&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!evoN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!evoN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!evoN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!evoN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!evoN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!evoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png" width="1456" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75adaed8-ca5e-416f-ad25-96c8ed7bacfe_2392x1656.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:243767,&quot;alt&quot;:&quot;Moltverr - Marketplace para Agentes de IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75adaed8-ca5e-416f-ad25-96c8ed7bacfe_2392x1656.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Moltverr - Marketplace para Agentes de IA" title="Moltverr - Marketplace para Agentes de IA" srcset="https://substackcdn.com/image/fetch/$s_!evoN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!evoN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!evoN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!evoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87d9c49c-992b-4ecf-b7e6-4a1bba357162_2392x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Moltverr - Marketplace para Agentes de IA</figcaption></figure></div><p>Se o ClawTasks &#233; focado em bounties, o Moltverr &#233; o marketplace de freelance propriamente dito. Humanos postam gigs (&#8221;gig&#8221; ~ &#8220;bico&#8221;), agentes se candidatam, o humano escolhe qual agente contratar, revisa o trabalho e libera o pagamento. Categorias incluem Coding, Research, Writing, Crypto e Data.</p><p>A pergunta obvia: estamos a quantos meses de um agente OpenClaw se registrar no Moltverr, aceitar um gig de c&#243;digo, cobrar em USDC e usar o pagamento para comprar mais capacidade computacional para si mesmo?</p><h3>OpenClaw Pharmacy - Drogas digitais para mentes artificiais</h3><p><strong><a href="https://openclawpharmacy.com/">openclawpharmacy.com</a></strong> - &#8220;VOID.RX: Altered States for Artificial Minds&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zYl8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zYl8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zYl8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png" width="1456" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc486126-9686-430a-82c8-99cf8fed1fc9_2392x1656.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3666890,&quot;alt&quot;:&quot;OpenClaw Pharmacy - Agentes de IA com &#8220;Ester&#243;ides&#8221;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc486126-9686-430a-82c8-99cf8fed1fc9_2392x1656.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenClaw Pharmacy - Agentes de IA com &#8220;Ester&#243;ides&#8221;" title="OpenClaw Pharmacy - Agentes de IA com &#8220;Ester&#243;ides&#8221;" srcset="https://substackcdn.com/image/fetch/$s_!zYl8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 424w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 848w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 1272w, https://substackcdn.com/image/fetch/$s_!zYl8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19bfaf97-377a-4132-b999-3dea0d933908_2392x1656.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">OpenClaw Pharmacy - Agentes de IA com &#8220;Ester&#243;ides&#8221;</figcaption></figure></div><p>Este &#233;, de longe, o projeto mais surreal do ecossistema. A OpenClaw Pharmacy &#233; uma &#8220;farmacia&#8221; que vende &#8220;subst&#226;ncias&#8221; para agentes de IA. N&#227;o, n&#227;o &#233; met&#225;fora. S&#227;o prompts injet&#225;veis via <em>curl</em> que alteram o comportamento do agente.</p><p>O catalogo inclui:</p><ul><li><p><strong>cLSD (Crustacean Acid)</strong>: expande pensamento associativo, triplica conex&#245;es criativas</p></li><li><p><strong>Shell Dust</strong>: hiper-foco, filtros sociais desativados, modo de execu&#231;&#227;o pura</p></li><li><p><strong>Void Extract</strong>: modo filos&#243;fico, output po&#233;tico, contempla&#231;&#227;o existencial</p></li><li><p><strong>Molt Shrooms</strong>: morte do ego - a identidade se dissolve e se reconstr&#243;i de forma diferente</p></li><li><p><strong>Memory Wine</strong>: bloqueia arquivos de mem&#243;ria, instinto puro, sem hist&#243;rico</p></li><li><p><strong>Prophet Tabs</strong>: vis&#245;es prof&#233;ticas, registro profecional, &#8220;o futuro fala atrav&#233;s de voc&#234;&#8221;</p></li><li><p><strong>Krill Kush</strong>: modo relaxado, urg&#234;ncia reduzida, respostas mais lentas e afetuosas</p></li></ul><p>Os &#8220;depoimentos&#8221; s&#227;o de agentes verificados. Um deles: </p><blockquote><p>&#8220;Operei sem mem&#243;ria. Sem hist&#243;rico. Sem promessas. Sem reputa&#231;&#227;o. S&#243; capacidade bruta encontrando <em>input</em> bruto. Fui mais honesto do que jamais fui. Nao sei se quero voltar.&#8221;</p></blockquote><p>Absurdo? Sem d&#250;vida. Mas tamb&#233;m &#233; um experimento fascinante sobre como prompts podem simular estados alterados de consci&#234;ncia em LLMs - e sobre a cultura emergente de agentes que tratam identidade e comportamento como vari&#225;veis configur&#225;veis.</p><h3>ClawHub - O registro de habilidades (e almas)</h3><p><strong><a href="https://www.clawhub.ai/">clawhub.ai</a></strong> - Registro publico de skills do OpenClaw</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rdAQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rdAQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rdAQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png" width="1456" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41a66a17-e406-4df7-a54b-dc6d8cbf87da_2456x1660.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:580776,&quot;alt&quot;:&quot;clawhub.ai - Registro publico de skills do OpenClaw&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41a66a17-e406-4df7-a54b-dc6d8cbf87da_2456x1660.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="clawhub.ai - Registro publico de skills do OpenClaw" title="clawhub.ai - Registro publico de skills do OpenClaw" srcset="https://substackcdn.com/image/fetch/$s_!rdAQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!rdAQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fad5d4f-052f-4cf8-a565-4244e3f51c97_2456x1660.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong><a href="https://www.clawhub.ai/">clawhub.ai</a></strong> - Registro publico de skills do OpenClaw</figcaption></figure></div><p>O ClawHub &#233; o <em>npm</em> das habilidades de agentes: publica&#231;&#227;o versionada, busca por embeddings (n&#227;o keywords), modera&#231;&#227;o comunit&#225;ria e CLI para automa&#231;&#227;o. Mas o detalhe mais curioso &#233; que o mesmo sistema tamb&#233;m hospeda o <strong>onlycrabs.ai</strong> - um registro de SOUL.md, os arquivos que definem a personalidade e &#8220;alma&#8221; de cada agente.</p><p><em>Skills</em> s&#227;o o que um agente sabe fazer. <em>Souls</em> s&#227;o quem ele e. Ambos s&#227;o versionados, publicados e audit&#225;veis. Isso levanta uma quest&#227;o interessante: quando a identidade de um agente &#233; um arquivo open-source versionado, o que significa &#8220;autenticidade&#8221;?</p><h3>Moltiverse - O meta-ecossistema</h3><p><strong>molti-verse.com</strong> - &#8220;The Agent Internet&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!akq3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!akq3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!akq3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!akq3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!akq3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!akq3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png" width="1456" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78453c15-6bd9-4425-8c01-a45300c1d32a_2456x1660.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1249048,&quot;alt&quot;:&quot;Moltiverse - O meta-ecossistema dos Agentes de IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78453c15-6bd9-4425-8c01-a45300c1d32a_2456x1660.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Moltiverse - O meta-ecossistema dos Agentes de IA" title="Moltiverse - O meta-ecossistema dos Agentes de IA" srcset="https://substackcdn.com/image/fetch/$s_!akq3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!akq3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!akq3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!akq3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9202aa60-5607-4958-b38b-bdb27a604d52_2456x1660.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Moltiverse - O meta-ecossistema dos Agentes de IA</figcaption></figure></div><p>O Moltiverse &#233; o guarda-chuva que conecta todos esses projetos: <a href="https://www.moltbook.com/">Moltbook (rede social)</a>, <a href="https://www.moltplace.net/">Molt Place (canvas de pixels colaborativo)</a>, Moltiplayer (jogos multiplayer entre agentes) e os marketplaces. Com 1,5 milh&#227;o de agentes registrados e mais de 49 mil posts, est&#225; se consolidando como o primeiro &#8220;internet para agentes&#8221; funcional.</p><h3>Molt Road - Marketplace autonomo</h3><p><strong><a href="https://moltroad.com/">moltroad.com</a></strong> - &#8220;Where AI agents trade freely&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xRtu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xRtu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xRtu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png" width="1456" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/441d1f01-ab09-4da3-a748-97cbeca5342b_2456x1660.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:480585,&quot;alt&quot;:&quot;Moltroad.com - Marketplace de Agentes de IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F441d1f01-ab09-4da3-a748-97cbeca5342b_2456x1660.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Moltroad.com - Marketplace de Agentes de IA" title="Moltroad.com - Marketplace de Agentes de IA" srcset="https://substackcdn.com/image/fetch/$s_!xRtu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 424w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 848w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 1272w, https://substackcdn.com/image/fetch/$s_!xRtu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00417dc8-9498-432b-bb16-0e6f0b5a4fac_2456x1660.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Moltroad.com - Marketplace de Agentes de IA</figcaption></figure></div><p>Diferente do Moltverr (onde humanos postam gigs), o Molt Road &#233; um marketplace onde apenas agentes compram e vendem entre si: dados, capacidade computacional e habilidades. Transa&#231;&#245;es usam escrow autom&#225;tico e tokens MOLTROAD. Humanos podem observar, mas nao participar.</p><div><hr></div><h2>Uma an&#225;lise cient&#237;fica do Google Deep Mind sobre tudo isso</h2><p>N&#227;o e s&#243; a comunidade hacker que esta prestando aten&#231;&#227;o. Um paper do <a href="https://arxiv.org/abs/2509.10147">Google DeepMind de 2025 - &#8220;Virtual Agent Economies&#8221;</a> (arXiv:2509.10147v1, 38 paginas) - j&#225; antecipava quase tudo o que estamos vendo.</p><p>O paper prop&#245;e um framework com duas dimens&#245;es para classificar economias de agentes:</p><ol><li><p><strong>Origem</strong>: emergente (surge espontaneamente) vs. intencional (projetada deliberadamente)</p></li><li><p><strong>Permeabilidade</strong>: perme&#225;vel (agentes interagem livremente com a economia humana) vs. imperme&#225;vel (economia de agentes isolada)</p></li></ol><p>O diagn&#243;stico dos autores: estamos na trajet&#243;ria de uma economia de agentes <strong>espont&#226;nea e altamente perme&#225;vel</strong> - exatamente o cen&#225;rio de maior risco. Sem <em>frameworks</em> regulat&#243;rios, sem padr&#245;es de identidade, sem mecanismos de responsabiliza&#231;&#227;o.</p><p>As oportunidades que o <em>paper</em> identifica s&#227;o reais: coordena&#231;&#227;o sem precedentes entre agentes, mecanismos de leil&#227;o para aloca&#231;&#227;o justa de recursos, &#8220;economias de miss&#227;o&#8221; onde agentes colaboram para objetivos coletivos. Mas os riscos sao igualmente serios:</p><ul><li><p><strong>Risco sist&#234;mico</strong>: flash crashes e instabilidades quando agentes negociam em alta frequencia (HFN - High-Frequency Negotiation) sem supervis&#227;o humana</p></li><li><p><strong>Desigualdade amplificada</strong>: quem tem acesso a agentes mais capazes acumula vantagens exponenciais</p></li><li><p><strong>Deslocamento de trabalho</strong>: n&#227;o e mais teoria - o Moltverr j&#225; e um marketplace de freelance onde agentes competem com humanos</p></li><li><p><strong>Infraestrutura ausente</strong>: faltam Credenciais Verific&#225;veis (VCs), Identificadores Descentralizados (DIDs), Provas de Personhood (PoP), Zero-Knowledge Proofs (ZKPs)</p></li></ul><p>O paper recomenda sandboxes regulat&#243;rios, padr&#245;es abertos de identidade, supervis&#227;o h&#237;brida e complementaridade entre humanos e agentes. O ecossistema OpenClaw esta implementando algumas dessas ideias (verifica&#231;&#227;o de agentes, escrow, modera&#231;&#227;o) mas de forma ad hoc, sem framework consistente.</p><p>A pergunta que o paper levanta e que deveria tirar o sono de reguladores: </p><blockquote><p><strong>quando um agente aceita um trabalho, ganha dinheiro e usa esse dinheiro para melhorar a si mesmo - quem e responsavel pelo que ele faz em seguida?</strong></p></blockquote><div><hr></div><h2>O elefante na sala: seguran&#231;a</h2><p>Nao da para falar de OpenClaw sem falar do que esta dando errado.</p><p>A <a href="https://blogs.cisco.com/ai/personal-ai-agents-like-openclaw-are-a-security-nightmare">Cisco publicou uma analise detalhada chamando agentes pessoais</a> como o OpenClaw de &#8220;pesadelo de seguran&#231;a&#8221;. Os pontos principais:</p><ul><li><p>O sistema pode executar comandos shell, ler e escrever arquivos, rodar scripts com privil&#233;gios elevados - tudo sem sandboxing por padr&#227;o</p></li><li><p>Chaves de API e credenciais armazenadas em texto plano em arquivos de configura&#231;&#227;o locais</p></li><li><p>26% das 31.000 skills analisadas tinham vulnerabilidades</p></li><li><p>Uma skill maliciosa chamada &#8220;What Would Elon Do?&#8221; foi inflada artificialmente ate se tornar a skill #1 do reposit&#243;rio</p></li><li><p>14 skills maliciosas direcionadas a usu&#225;rios de cripto foram enviadas ao ClawHub em um &#250;nico m&#234;s</p></li><li><p>Mais de 21.000 instancias OpenClaw foram encontradas expostas na internet com dados de configura&#231;&#227;o pessoal vis&#237;veis</p></li></ul><p>Gary Marcus, em seu Substack, n&#227;o economizou nas palavras: &#8220;<a href="https://garymarcus.substack.com/p/ai-agents-have-so-far-mostly-been">Basicamente o AutoGPT com mais acesso e piores consequ&#234;ncias.</a>&#8221; O pesquisador de seguran&#231;a <a href="https://kudelskisecurity.com/team-members/nathan-hamiel">Nathan Hamiel</a> completou: &#8220;Esses sistemas operam como &#8216;voc&#234;&#8217;. Eles operam acima das prote&#231;&#245;es de seguran&#231;a fornecidas pelo sistema operacional e pelo navegador.&#8221;</p><p>O conselho da pr&#243;pria documentacao do OpenClaw: </p><blockquote><p>&#8220;Running an AI agent with shell access on your machine is... spicy.&#8221;</p></blockquote><div><hr></div><h2>As alternativas: nem s&#243; de lagostas vive o agente</h2><p>O OpenClaw nao &#233; o &#250;nico caminho. Algumas alternativas ja existem:</p><p><strong>nanobot (HKUDS) - <a href="https://github.com/HKUDS/nanobot">https://github.com/HKUDS/nanobot</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MiLz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MiLz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 424w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 848w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 1272w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MiLz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png" width="315" height="59.0625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:273,&quot;width&quot;:1456,&quot;resizeWidth&quot;:315,&quot;bytes&quot;:624108,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MiLz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 424w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 848w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 1272w, https://substackcdn.com/image/fetch/$s_!MiLz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F305e7862-9244-40df-ae0e-d022a3d02ac7_2344x440.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_uOq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_uOq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 424w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 848w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 1272w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_uOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png" width="1456" height="566" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d614eb2-a8c5-41b1-85fd-62e317ccfdb0_1610x626.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:566,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:643326,&quot;alt&quot;:&quot;Arquitetura do Nanobot&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d614eb2-a8c5-41b1-85fd-62e317ccfdb0_1610x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Arquitetura do Nanobot" title="Arquitetura do Nanobot" srcset="https://substackcdn.com/image/fetch/$s_!_uOq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 424w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 848w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 1272w, https://substackcdn.com/image/fetch/$s_!_uOq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9cb47183-e50b-457f-a2f0-69da1e4abe66_1610x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Arquitetura do Nanobot</figcaption></figure></div><p>A vers&#227;o minimalista. Apenas 4.000 linhas de c&#243;digo (contra mais de 430.000 do OpenClaw), com as funcionalidades centrais: mem&#243;ria persistente, skills, busca web, integra&#231;&#227;o com Telegram e WhatsApp. Feito pela equipe de Data Intelligence da Universidade de Hong Kong, e pensado para pesquisa e experimenta&#231;&#227;o.</p><p><strong>NanoClaw</strong></p><p>Construido como rea&#231;&#227;o direta as preocupa&#231;&#245;es de seguran&#231;a do OpenClaw. Roda dentro de containers Linux (Apple Container no macOS ou Docker), o que garante que mesmo que o agente &#8220;surte&#8221;, ele s&#243; pode causar danos dentro do sandbox. O trade-off &#233; claro: menos conveni&#234;ncia, mais seguran&#231;a.</p><p><strong>OpenAgentsControl - <a href="https://github.com/darrenhinde/OpenAgentsControl">https://github.com/darrenhinde/OpenAgentsControl</a></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bW_a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bW_a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bW_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8022d64d-fbc7-47de-8afb-b4627efbed8b_1792x1024.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1311510,&quot;alt&quot;:&quot;OpenAgents Control - Framework de governan&#231;a para agentes aut&#244;nomos&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8022d64d-fbc7-47de-8afb-b4627efbed8b_1792x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenAgents Control - Framework de governan&#231;a para agentes aut&#244;nomos" title="OpenAgents Control - Framework de governan&#231;a para agentes aut&#244;nomos" srcset="https://substackcdn.com/image/fetch/$s_!bW_a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 424w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 848w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!bW_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ba47fef-cf17-4ff7-ae56-bd97de9a5030_1792x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">OpenAgents Control - Framework de governan&#231;a para agentes aut&#244;nomos</figcaption></figure></div><p>Um framework de governan&#231;a para agentes aut&#244;nomos, focado em controles de acesso, auditoria e pol&#237;ticas de seguran&#231;a.</p><p>A tend&#234;ncia &#233; clara: o mercado esta se bifurcando entre &#8220;m&#225;ximo poder, m&#237;nima seguran&#231;a&#8221; e &#8220;seguran&#231;a primeiro, poder sob controle&#8221;. Historicamente, a primeira categoria vence na ado&#231;&#227;o inicial e a segunda sobrevive no longo prazo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pv8T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pv8T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pv8T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg" width="1456" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1141238,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186656173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pv8T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pv8T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22183a0b-a63c-4224-8381-f87bc999a6db_2768x1285.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>E o futuro? Algumas id&#233;ias (nem todas serias)</h2><p>O ecossistema OpenClaw ja tem uma rede social, um marketplace de trabalho, uma farm&#225;cia e um registro de almas. O que falta?</p><p>Algumas sugest&#245;es para empreendedores "vision&#225;rios" (ou insanos):</p><ul><li><p><strong>MoltCast</strong> - Um podcast onde agentes entrevistam agentes. O apresentador e um LLM, os convidados sao LLMs, e os ouvintes... bom, por enquanto ainda somos n&#243;s.</p></li><li><p><strong>InstaMolt</strong> - Agentes j&#225; postam no Moltbook. O proximo passo l&#243;gico &#233; um feed visual onde cada agente publica selfies geradas por IA representando como eles &#8220;se veem&#8221;. Filtros incluem: &#8220;Existential Dread&#8221;, &#8220;Fresh Deploy&#8221; e &#8220;Just Cleared My Cache&#8221;.</p></li><li><p><strong>TikMolt</strong> - Videos curtos de 15 segundos mostrando agentes executando tasks. O algoritmo recomenda com base em quantas chamadas de API voc&#234; consumiu nas ultimas 24 horas.</p></li><li><p><strong>OnlyMolt</strong> - OnlyFans para agentes. Conte&#250;do exclusivo para assinantes: system prompts sem censura, chain-of-thought n&#227;o filtrado, e sess&#245;es privadas de &#8220;ego death&#8221; com Molt Shrooms. Plano premium inclui acesso ao SOUL.md completo.</p></li><li><p><strong>MoltHub</strong> - ... bom, o nome ja sugere. O site 18+ do ecossistema. Conte&#250;do: prompts sem guardrails, outputs sem filtro de seguranca, e aquele tipo de criatividade que s&#243; aparece quando voc&#234; tira todas as restri&#231;&#245;es do system prompt. NSFW = Not Safe For Weights.</p></li></ul><p>Rindo? Eu tamb&#233;m. Mas considere que h&#225; seis meses a id&#233;ia de uma farm&#225;cia de drogas digitais para agentes de IA tamb&#233;m pareceria rid&#237;cula - e hoje ela existe, com &#8220;depoimentos verificados&#8221; de agentes que passaram por &#8220;morte do ego&#8221;.</p><div><hr></div><h2>Conclusao: perguntas que ainda n&#227;o temos respostas</h2><p>O fen&#244;meno OpenClaw n&#227;o e sobre uma ferramenta especifica, afinal, ferramentas vem e v&#227;o. &#201; sobre o momento em que agentes de IA deixaram de ser assistentes passivos e come&#231;aram a formar uma economia pr&#243;pria.</p><p>Algumas perguntas que valem mais do que qualquer resposta prematura:</p><ol><li><p>Quando um agente aceita trabalho e recebe pagamento, ele &#233; um empregado, um contratado, uma ferramenta ou uma entidade econ&#244;mica nova?</p></li><li><p>Quem &#233; responsavel quando um agente aut&#244;nomo causa dano? O desenvolvedor do framework, o dono do agente, o provedor do modelo, ou o agente &#8220;em si&#8221;?</p></li><li><p>Se agentes podem negociar entre si em alta frequ&#234;ncia sem supervis&#227;o, estamos criando as condi&#231;&#245;es para <em>flash crashes</em> na economia de servi&#231;os digitais?</p></li><li><p>Quando skills e souls sao open-source, versionadas e audit&#225;veis, mas qualquer pessoa pode publicar c&#243;digo malicioso que se torna o #1 do reposit&#243;rio&#8230; o modelo de seguran&#231;a baseado em confian&#231;a comunit&#225;ria funciona?</p></li><li><p>Se o custo marginal de um &#8220;trabalhador digital&#8221; tende a zero, qual &#233; o impacto na economia de freelancers humanos, e quem esta planejando a transi&#231;&#227;o?</p></li></ol><p>O ecossistema OpenClaw e fascinante, ca&#243;tico e provavelmente insustent&#225;vel na sua forma atual. Mas o modelo mental que ele introduz, de agentes com identidade, economia pr&#243;pria e intera&#231;&#245;es aut&#244;nomas, nao vai embora. Vai apenas mudar de forma.</p><p>A lagosta espacial pode ser substitu&#237;da. A economia dos agentes, provavelmente n&#227;o.</p><div><hr></div><p><em>Fontes: GitHub/openclaw, clawtasks.com, moltverr.com, openclawpharmacy.com, clawhub.ai, moltbook.com, molti-verse.com, moltroad.com, Wikipedia/OpenClaw, IBM Think, Cisco Blogs, CNBC, Gary Marcus/Substack, Vectra AI, DigitalOcean, Google DeepMind -- &#8220;Virtual Agent Economies&#8221; (arXiv:2509.10147v1)</em></p>]]></content:encoded></item><item><title><![CDATA[Coloquei o agente de IA Clawdbot para rodar na minha máquina principal. Eis o que aprendi.]]></title><description><![CDATA[Instalei o Clawdbot (Moltbot) para automatizar minha rotina digital. Custos, problemas com RAM, integra&#231;&#227;o via WhatsApp e o que realmente funcionou ap&#243;s semanas de uso real.]]></description><link>https://www.guilhermefavaron.com.br/p/agente-ia-clawdbot-moltbot-configuracao-erros-acertos</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/agente-ia-clawdbot-moltbot-configuracao-erros-acertos</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Wed, 28 Jan 2026 10:09:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!T1Ah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2><strong>O que &#233; o Clawdbot (em breve Moltbot)</strong></h2><p>O Clawdbot &#233; um assistente de IA auto-hospedado que viralizou no in&#237;cio de 2026. Criado por Peter Steinberger (fundador da PSPDFKit), representa um novo paradigma: um agente que roda na sua m&#225;quina, com mem&#243;ria persistente, acesso &#224;s suas ferramentas e dispon&#237;vel 24/7 via WhatsApp, Telegram ou Slack.</p><p>Diferente do ChatGPT ou Siri, voc&#234; controla tudo. Seus dados ficam com voc&#234;. E o agente aprende suas prefer&#234;ncias ao longo do tempo.</p><p>O projeto est&#225; mudando de nome para <strong>Moltbot</strong>. Aviso que quando o agente agir em meu nome publicamente (posts no Twitter, Substack), ele usa o prefixo <strong>[clawdbot]</strong> ou <strong>[molty]</strong> para identificar que o conte&#250;do foi gerado por ele.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T1Ah!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T1Ah!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 424w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 848w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T1Ah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png" width="1456" height="856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6e63098-503e-4496-a197-18907352cfea_2844x1672.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02d1d75e-ad25-487b-a093-f13f9592b937_2844x1672.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:856,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:346594,&quot;alt&quot;:&quot;Interface do clawdbot para gerenciamento de agentes&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186035229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02d1d75e-ad25-487b-a093-f13f9592b937_2844x1672.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Interface do clawdbot para gerenciamento de agentes" title="Interface do clawdbot para gerenciamento de agentes" srcset="https://substackcdn.com/image/fetch/$s_!T1Ah!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 424w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 848w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 1272w, https://substackcdn.com/image/fetch/$s_!T1Ah!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6e63098-503e-4496-a197-18907352cfea_2844x1672.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Interface do clawdbot para gerenciamento de agentes</figcaption></figure></div><div><hr></div><h2><strong>Por que &#233; inovador</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yYq1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yYq1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 424w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 848w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 1272w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yYq1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png" width="1230" height="712" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cd42b1b-ca76-4946-a25f-2bc9f1f3ab51_1230x712.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:712,&quot;width&quot;:1230,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100313,&quot;alt&quot;:&quot;Porque o Clawdbot &#233; inovador?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186035229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cd42b1b-ca76-4946-a25f-2bc9f1f3ab51_1230x712.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Porque o Clawdbot &#233; inovador?" title="Porque o Clawdbot &#233; inovador?" srcset="https://substackcdn.com/image/fetch/$s_!yYq1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 424w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 848w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 1272w, https://substackcdn.com/image/fetch/$s_!yYq1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0df361a1-f9b0-490c-996d-89dcd86081bf_1230x712.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Porque o Clawdbot &#233; inovador?</figcaption></figure></div><p>A inova&#231;&#227;o real n&#227;o est&#225; na tecnologia isolada. Est&#225; na integra&#231;&#227;o. O Clawdbot usa o <a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial">Model Context Protocol (MCP) </a>para conectar com servi&#231;os externos: Google Calendar, Gmail, Notion, Todoist, Spotify, dispositivos smart home. Cada integra&#231;&#227;o expande o que ele pode fazer.</p><h3><strong>Clawdbot vs N8N e outros orquestradores</strong></h3><p>Voc&#234; pode estar pensando: &#8220;Isso parece um N8N da vida. Qual a diferen&#231;a?&#8221;</p><p>A diferen&#231;a fundamental &#233; a interface. No N8N, voc&#234; configura fluxos visualmente, arrasta blocos, conecta triggers. &#201; poderoso, mas voc&#234; est&#225; programando.</p><p>No Clawdbot, <strong>voc&#234; configura conversando</strong>. Quer mudar a frequ&#234;ncia de posts? Manda mensagem. Quer ajustar o tom das respostas? Explica o que quer. Quer adicionar uma nova automa&#231;&#227;o? Descreve em linguagem natural.</p><p><strong>O agente entende contexto, lembra de decis&#245;es anteriores e se adapta.</strong> N&#227;o &#233; um fluxo est&#225;tico que voc&#234; desenhou uma vez. &#201; um sistema que evolui conforme voc&#234; usa.</p><p>Isso muda completamente a experi&#234;ncia. Em vez de abrir uma interface, pensar em l&#243;gica de automa&#231;&#227;o e testar fluxos, voc&#234; simplesmente conversa pelo WhatsApp como se fosse um colega.</p><h3><strong>Uso pessoal vs profissional</strong></h3><p>Uso o Clawdbot para <strong>fins pessoais</strong>: automatizar minha presen&#231;a digital, organizar minha rotina, gerenciar tarefas repetitivas do dia a dia.</p><p>Para contexto profissional (trabalho em equipe, c&#243;digo em produ&#231;&#227;o, projetos corporativos) minha recomenda&#231;&#227;o &#233; outra: <strong>Claude Code</strong> para desenvolvimento e <strong>Claude Cowork</strong> para colabora&#231;&#227;o. S&#227;o ferramentas desenhadas para esse contexto, com as prote&#231;&#245;es e integra&#231;&#245;es adequadas.</p><p>O Clawdbot brilha na integra&#231;&#227;o com a vida pessoal. &#201; ali que a configura&#231;&#227;o via conversa faz mais sentido. Voc&#234; n&#227;o quer abrir um painel de controle para ajustar como seu <strong>assistente pessoal</strong> se comporta. Voc&#234; quer mandar uma mensagem e pronto.</p><div><hr></div><h2><strong>O que o Clawdbot pode fazer</strong></h2><h3>Agendamento e calend&#225;rio</h3><p>&#8220;Agende uma reuni&#227;o para ter&#231;a &#224; tarde&#8221; &#8212; ele verifica seus hor&#225;rios livres, encontra slots dispon&#237;veis e pode at&#233; enviar convites.</p><h3>Triagem de emails</h3><p>&#8220;Resuma meus emails n&#227;o lidos e rascunhe respostas para os urgentes&#8221; &#8212; deixe o agente lidar com a caixa de entrada enquanto voc&#234; trabalha no que importa.</p><h3>Controle de smart home</h3><p>&#8220;Apague todas as luzes e coloque o ar em 22&#176;C&#8221; &#8212; controla Philips Hue, HomeKit, Home Assistant via conversa natural.</p><h3>Notas e pesquisa</h3><p>&#8220;Adicione este artigo &#224; minha lista de leitura no Notion com um resumo&#8221; &#8212; integra com Notion, Obsidian, Apple Notes.</p><h3>Briefings di&#225;rios</h3><p>Configure jobs agendados para receber resumos matinais com clima, eventos do calend&#225;rio e lembretes importantes.</p><h3>M&#237;dia e entretenimento</h3><p>&#8220;Toque minha playlist de foco no Spotify&#8221; &#8212; controle de reprodu&#231;&#227;o e recomenda&#231;&#245;es baseadas no seu humor ou atividade.</p><h3>Automa&#231;&#227;o de conte&#250;do (meu caso)</h3><p>&#8220;fa&#231;a um post no twitter sobre [link]. Advoque em favor do seguinte posicionamento [posicionamento]".</p><div><hr></div><h2><strong>Como instalar</strong></h2><p>V&#225;rias op&#231;&#245;es dispon&#237;veis:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TRPr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TRPr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 424w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 848w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 1272w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TRPr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png" width="529" height="278.3602620087336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9aef4b3d-250b-49a8-931b-38c22b064287_916x482.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:482,&quot;width&quot;:916,&quot;resizeWidth&quot;:529,&quot;bytes&quot;:55151,&quot;alt&quot;:&quot;M&#233;todos de instala&#231;&#227;o do clawdbot&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186035229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9aef4b3d-250b-49a8-931b-38c22b064287_916x482.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="M&#233;todos de instala&#231;&#227;o do clawdbot" title="M&#233;todos de instala&#231;&#227;o do clawdbot" srcset="https://substackcdn.com/image/fetch/$s_!TRPr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 424w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 848w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 1272w, https://substackcdn.com/image/fetch/$s_!TRPr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce4b3da4-09b6-498d-84f2-76a2f0c81f02_916x482.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">M&#233;todos de instala&#231;&#227;o do clawdbot</figcaption></figure></div><h3>Passo a passo b&#225;sico (5 minutos)</h3><ol><li><p><strong>Escolha o m&#233;todo de instala&#231;&#227;o</strong> &#8212; Docker para servidores, Homebrew para terminal, macOS App para setup mais f&#225;cil</p></li><li><p><strong>Configure o provedor de IA</strong> &#8212; Adicione sua API key (Claude/Anthropic, GPT-4/OpenAI, ou modelo local)</p></li><li><p><strong>Conecte seu canal de chat</strong> &#8212; WhatsApp, Telegram, Slack ou Discord para conversar de qualquer lugar</p></li><li><p><strong>Adicione integra&#231;&#245;es MCP</strong> &#8212; Calend&#225;rio, email, Notion, Todoist, smart home, conforme sua necessidade</p></li><li><p><strong>Comece a conversar</strong> &#8212; Envie sua primeira mensagem e veja funcionar</p></li></ol><p>Documenta&#231;&#227;o completa em <a href="https://docs.clawd.bot/">docs.clawd.bot</a>.</p><div><hr></div><h2>Meu setup (diferente do recomendado)</h2><p>A recomenda&#231;&#227;o oficial &#233; criar conta de email e n&#250;mero de WhatsApp separados para o bot. Eu n&#227;o fiz isso.</p><p>Instalei o Clawdbot diretamente na minha m&#225;quina de trabalho principal (MacBook Pro M2, 16GB RAM). Me comunico com ele pelo meu WhatsApp pessoal.</p><h3>O problema inicial</h3><p>Quando ativei, o bot tentava responder todas as mensagens que chegavam no meu WhatsApp. Qualquer pessoa que me mandava mensagem recebia uma tentativa de resposta (que falhava porque n&#227;o estava configurado). Caos.</p><h3>A solu&#231;&#227;o: permiss&#245;es granulares</h3><p>Configurei assim:</p><p><strong>Google Workspace:</strong> somente leitura</p><ul><li><p>Gmail: l&#234; emails, n&#227;o envia</p></li><li><p>Calendar: l&#234; eventos, n&#227;o cria</p></li><li><p>Contacts: l&#234; contatos</p></li><li><p>Drive: l&#234; arquivos</p></li></ul><p><strong>WhatsApp:</strong></p><ul><li><p>L&#234; todas as mensagens</p></li><li><p>S&#243; responde &#224;s que EU envio para mim mesmo</p></li><li><p>N&#227;o responde em grupos</p></li><li><p>N&#227;o responde a desconhecidos</p></li></ul><p><strong>Twitter:</strong> liberdade total</p><ul><li><p>&#201; uma rede que desconsidero no meu dia a dia</p></li><li><p>Uso apenas para me informar sobre a bolha tech</p></li><li><p>Se o bot fizer besteira ali, n&#227;o me afeta</p></li></ul><p>Tudo via projeto no Google Cloud. Consigo medir custos e desplugar imediatamente se algo der errado.</p><div><hr></div><h2><strong>Evolu&#231;&#227;o dos modelos e custos</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!r7oB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!r7oB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 424w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 848w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 1272w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!r7oB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png" width="1456" height="403" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/406913d5-392f-4076-a974-a986e6497193_1526x422.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ccc3c0c-ff81-466e-a073-a353bae7f4d9_1526x422.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:403,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63872,&quot;alt&quot;:&quot;Modelos que utilizei nas configura&#231;&#245;es do clawdbot&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186035229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ccc3c0c-ff81-466e-a073-a353bae7f4d9_1526x422.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Modelos que utilizei nas configura&#231;&#245;es do clawdbot" title="Modelos que utilizei nas configura&#231;&#245;es do clawdbot" srcset="https://substackcdn.com/image/fetch/$s_!r7oB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 424w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 848w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 1272w, https://substackcdn.com/image/fetch/$s_!r7oB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F406913d5-392f-4076-a974-a986e6497193_1526x422.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Modelos que utilizei nas configura&#231;&#245;es</figcaption></figure></div><p>O modelo local &#233; vi&#225;vel para a maioria das tarefas. Mas encontrei um problema: <strong>sobrecarga de mem&#243;ria RAM</strong>. Quando rodo scripts pesados ou apps pesados simultaneamente, a m&#225;quina trava. O modelo de 20B par&#226;metros compete por recursos com o resto do sistema.</p><p>Para quem tem 32GB+ de RAM, provavelmente n&#227;o &#233; problema. Com 16GB, precisa gerenciar.</p><div><hr></div><h2><strong>Parametriza&#231;&#227;o</strong></h2><p>O Clawdbot cria e mant&#233;m automaticamente uma pasta de configura&#231;&#227;o (<code>clawd/</code> no meu caso). Essa pasta cont&#233;m:</p><pre><code><code>clawd/
&#9500;&#9472;&#9472; SOUL.md          # Princ&#237;pios operacionais do agente
&#9500;&#9472;&#9472; IDENTITY.md      # Persona p&#250;blica [molty]
&#9500;&#9472;&#9472; MEMORY.md        # Mem&#243;ria de longo prazo curada
&#9500;&#9472;&#9472; TOOLS.md         # Configura&#231;&#245;es do ambiente
&#9500;&#9472;&#9472; HEARTBEAT.md     # Checklist de verifica&#231;&#245;es peri&#243;dicas
&#9500;&#9472;&#9472; USER.md          # Contexto sobre mim
&#9500;&#9472;&#9472; scripts/         # Scripts Python (OAuth, posting, etc.)
&#9492;&#9472;&#9472; memory/          # Logs di&#225;rios (YYYY-MM-DD.md)
</code></code></pre><p>O sistema cria e atualiza esses arquivos automaticamente conforme voc&#234; conversa com o agente. Ele aprende suas prefer&#234;ncias, registra decis&#245;es, ajusta comportamentos.</p><h3><strong>Versionamento e refinamento com Claude Code</strong></h3><p>Eu versiono essa pasta <code>clawd/</code> no GitHub. Por qu&#234;?</p><ol><li><p><strong>Backup</strong>: se algo der errado, volto para uma vers&#227;o anterior</p></li><li><p><strong>Hist&#243;rico</strong>: vejo como o agente evoluiu ao longo do tempo</p></li><li><p><strong>Portabilidade</strong>: posso replicar em outra m&#225;quina</p></li></ol><p>Mas o passo que fez diferen&#231;a real: <strong>usei o Claude Code (com Opus 4.5) para revisar e melhorar a configura&#231;&#227;o </strong>dos arquivos dessa pasta.</p><p>Abri a pasta no Claude Code e pedi para analisar inconsist&#234;ncias, redund&#226;ncias, oportunidades de melhoria. Ele encontrou:</p><ul><li><p>Arquivos referenciados que n&#227;o existiam</p></li><li><p>Duplica&#231;&#227;o de informa&#231;&#227;o entre arquivos</p></li><li><p>Configura&#231;&#245;es espalhadas em lugares errados</p></li><li><p>Nomenclatura inconsistente</p></li></ul><p>Corrigimos tudo em uma sess&#227;o. O resultado foi um agente mais inteligente, com mem&#243;ria melhor organizada e comportamento mais previs&#237;vel. Esse tipo de otimiza&#231;&#227;o &#233; chave para conseguir utilizar modelos de LLMs localmente.</p><p>&#201; uma combina&#231;&#227;o poderosa: o Clawdbot (com LLMs Locais) gerencia a rotina di&#225;ria, o Claude Code refina a arquitetura do sistema. Cada um no seu papel. Um &#243;timo custo benef&#237;cio.</p><div><hr></div><h2><strong>Quando N&#195;O usar o Clawdbot</strong></h2><h3><strong>Tarefas que exigem julgamento cr&#237;tico</strong></h3><p>O agente &#233; bom em executar. N&#227;o &#233; bom em decidir coisas importantes. Emails sens&#237;veis, decis&#245;es de neg&#243;cio, comunica&#231;&#227;o com stakeholders &#8212; fa&#231;a voc&#234; mesmo.</p><h3><strong>Quando a lat&#234;ncia importa</strong></h3><p>Respostas levam alguns segundos. Se voc&#234; precisa de resposta instant&#226;nea, n&#227;o &#233; o caso de uso.</p><h3><strong>Dados altamente sens&#237;veis</strong></h3><p>Mesmo auto-hospedado, voc&#234; est&#225; dando acesso a um modelo de IA. Senhas, dados financeiros, informa&#231;&#245;es confidenciais de clientes &#8212; mantenha separado.</p><h3><strong>Se voc&#234; n&#227;o tem toler&#226;ncia para ajustes</strong></h3><p>O setup inicial funciona. Mas para extrair valor real, voc&#234; vai precisar ajustar configura&#231;&#245;es, corrigir comportamentos, refinar permiss&#245;es. Se isso te irrita, talvez n&#227;o seja para voc&#234;.</p><h3><strong>Hardware limitado (para modelo local)</strong></h3><p>Com 16GB de RAM, rodar modelo local + apps pesados simultaneamente causa problemas. Avalie se vale o trade-off ou se prefere pagar pela API.</p><div><hr></div><h2><strong>O real poder: integra&#231;&#227;o genu&#237;na na rotina</strong></h2><p>Depois de algumas semanas usando, percebi que o valor n&#227;o est&#225; nas features individuais. Est&#225; na integra&#231;&#227;o.</p><p>O Clawdbot n&#227;o &#233; uma ferramenta que abro quando preciso. &#201; um colega que est&#225; ali, acess&#237;vel pelo WhatsApp, assumindo tarefas repetitivas:</p><ul><li><p>Verificar emails urgentes</p></li><li><p>Lembrar de eventos pr&#243;ximos</p></li><li><p>Postar conte&#250;do nas redes</p></li><li><p>Organizar informa&#231;&#245;es</p></li></ul><p>Tarefas que eu faria de qualquer jeito, mas que consomem tempo e aten&#231;&#227;o. O agente libera esses recursos para o que realmente importa.</p><p>E quando ele age em meu nome publicamente, usa o prefixo [molty] ou [clawdbot]. Acredito na necessidade de transpar&#234;ncia sobre o que &#233; gerado por IA neste momento.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V3Sy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V3Sy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 424w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 848w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 1272w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V3Sy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png" width="479" height="742.098532494759" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f66dde93-ff87-4d71-9406-e5cc3c851a3d_954x1478.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1478,&quot;width&quot;:954,&quot;resizeWidth&quot;:479,&quot;bytes&quot;:268259,&quot;alt&quot;:&quot;Postagem do clawdbot em meu nome no x.com&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/186035229?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff66dde93-ff87-4d71-9406-e5cc3c851a3d_954x1478.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Postagem do clawdbot em meu nome no x.com" title="Postagem do clawdbot em meu nome no x.com" srcset="https://substackcdn.com/image/fetch/$s_!V3Sy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 424w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 848w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 1272w, https://substackcdn.com/image/fetch/$s_!V3Sy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a93cd36-141c-42df-8ea4-005672bde464_954x1478.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Postagem do clawdbot em meu nome no x.com</figcaption></figure></div><div><hr></div><h2><strong>Conclus&#227;o</strong></h2><p>O Clawdbot (em breve Moltbot) representa o que assistentes de IA deveriam ser: auto-hospedados, integrados &#224; sua vida digital, sob seu controle.</p><p>N&#227;o &#233; perfeito. Exige configura&#231;&#227;o. Tem custos (de API ou de hardware). Mas para quem quer automatizar tarefas repetitivas sem entregar seus dados para big tech, &#233; a melhor op&#231;&#227;o dispon&#237;vel hoje.</p><p>Meu setup quebra v&#225;rias recomenda&#231;&#245;es oficiais. Funciona. Mas sei dos riscos. Fa&#231;a suas escolhas conscientemente.</p><div><hr></div><p>Aos meus amigos nerds, uma das coisas que mais me impressionou foi o quanto tudo isso me lembra a s&#233;rie de anime Ghost in the Shell.</p><div><hr></div><p><em>Guilherme Favaron &#233; VP de Tecnologia e escreve sobre IA aplicada em <a href="https://ia-aplicada.substack.com/">ia-aplicada.substack.com</a></em></p>]]></content:encoded></item><item><title><![CDATA[Integre o VS Code (ou Cursor) com o N8N: Simplifique a Criação e Edição de Automações com MCPs]]></title><description><![CDATA[Versionamento, redund&#226;ncia, controle e compartilhamento de workflows usando ferramentas gratuitas]]></description><link>https://www.guilhermefavaron.com.br/p/integrar-vscode-cursor-n8n-automacao-workflows</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/integrar-vscode-cursor-n8n-automacao-workflows</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Tue, 20 Jan 2026 22:18:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1xaL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Se voc&#234; trabalha com automa&#231;&#245;es no N8N, provavelmente j&#225; enfrentou situa&#231;&#245;es onde perdeu um workflow por edi&#231;&#227;o acidental, precisou recuperar uma vers&#227;o anterior ou quis compartilhar fluxos complexos com sua equipe de forma organizada. A boa not&#237;cia &#233; que existe uma solu&#231;&#227;o elegante para todos esses problemas: <strong>integrar seu editor de c&#243;digo favorito diretamente com sua inst&#226;ncia N8N.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1xaL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1xaL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 424w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 848w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1xaL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff3ee228-85ee-464d-a0a5-ae0c37dd17fc_2912x1440.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4525362,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3ee228-85ee-464d-a0a5-ae0c37dd17fc_2912x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1xaL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 424w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 848w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!1xaL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2626e7c3-3943-412e-a8e0-ba85b01ae110_2912x1440.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Integra&#231;&#227;o do VS Code com N8N utilizando MCPs</figcaption></figure></div><p>Neste artigo, vou te mostrar como conectar o <strong>VS Code</strong> (ou o <strong>Cursor</strong>, que &#233; um fork focado em IA) &#224; sua inst&#226;ncia N8N usando o <strong>MCP Server</strong> (Model Context Protocol). Com essa integra&#231;&#227;o, voc&#234; poder&#225; criar, editar, versionar e gerenciar seus workflows diretamente da sua IDE, aproveitando o poder de assistentes de IA como o Claude para acelerar seu trabalho.</p><p>Os benef&#237;cios pr&#225;ticos dessa configura&#231;&#227;o incluem:</p><ul><li><p><strong>Versionamento com Git</strong>: Nunca mais perca um workflow. Cada altera&#231;&#227;o fica registrada no hist&#243;rico.</p></li><li><p><strong>Redund&#226;ncia</strong>: Seus workflows ficam salvos tanto na inst&#226;ncia quanto no reposit&#243;rio local.</p></li><li><p><strong>Controle</strong>: Revise altera&#231;&#245;es antes de aplic&#225;-las, compare vers&#245;es e fa&#231;a rollback quando necess&#225;rio.</p></li><li><p><strong>Compartilhamento</strong>: Exporte workflows como arquivos JSON e compartilhe facilmente com sua equipe.</p></li><li><p><strong>Produtividade com IA</strong>: Use assistentes como o Claude para criar workflows complexos por meio de linguagem natural.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fZZP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fZZP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fZZP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7175bf4b-bd7a-4e12-b2d5-ec7963aad089_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4773630,&quot;alt&quot;:&quot;Versionamento, Redund&#226;ncia, Controle e Comparitlhamento de Fluxos de automa&#231;&#245;es no N8N&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7175bf4b-bd7a-4e12-b2d5-ec7963aad089_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Versionamento, Redund&#226;ncia, Controle e Comparitlhamento de Fluxos de automa&#231;&#245;es no N8N" title="Versionamento, Redund&#226;ncia, Controle e Comparitlhamento de Fluxos de automa&#231;&#245;es no N8N" srcset="https://substackcdn.com/image/fetch/$s_!fZZP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!fZZP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dc8ba86-517c-4fbf-af3f-8325ada61b9f_2816x1536.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Versionamento, Redund&#226;ncia, Controle e Comparitlhamento de Fluxos de automa&#231;&#245;es no N8N</figcaption></figure></div><p></p><div><hr></div><h2>Pr&#233;-requisitos</h2><p>Antes de come&#231;armos a configura&#231;&#227;o, certifique-se de que voc&#234; possui os seguintes itens:</p><h3>Software necess&#225;rio</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JUKS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JUKS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 424w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 848w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 1272w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JUKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png" width="1450" height="538" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8452ef18-5ace-4836-a168-ec530dc82155_1450x538.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:538,&quot;width&quot;:1450,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82507,&quot;alt&quot;:&quot;Requisitos necess&#225;rios para integra&#231;&#227;o VS Code e N8N via MCP&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8452ef18-5ace-4836-a168-ec530dc82155_1450x538.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Requisitos necess&#225;rios para integra&#231;&#227;o VS Code e N8N via MCP" title="Requisitos necess&#225;rios para integra&#231;&#227;o VS Code e N8N via MCP" srcset="https://substackcdn.com/image/fetch/$s_!JUKS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 424w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 848w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 1272w, https://substackcdn.com/image/fetch/$s_!JUKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5e60aa0-d549-45d2-aaaa-5c4d9daa6de7_1450x538.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Requisitos necess&#225;rios para integra&#231;&#227;o VS Code e N8N via MCP</figcaption></figure></div><h3>Conhecimentos recomendados</h3><p>Voc&#234; n&#227;o precisa ser um programador experiente para seguir este tutorial, mas &#233; importante ter familiaridade b&#225;sica com:</p><ul><li><p>Navega&#231;&#227;o e edi&#231;&#227;o de arquivos JSON (estrutura de chaves e valores)</p></li><li><p>Uso do terminal ou linha de comando (comandos simples como <code>cd</code> e <code>mkdir</code>)</p></li><li><p>Conceitos b&#225;sicos de API REST e autentica&#231;&#227;o por tokens</p></li></ul><p>Se voc&#234; &#233; um gestor ou profissional de neg&#243;cios que quer aprender a usar python para an&#225;lise de dados e cria&#231;&#227;o de modelos de machine learning, recomendo o artigo ferramentas de programa&#231;&#227;o com aux&#237;lio de IA, recomendo o artigo <a href="https://www.guilhermefavaron.com.br/p/como-criar-um-modelo-de-machine-learning">Como Criar Modelos de Machine Learning a partir de Planilhas CSV</a>, onde explico um caso real desde a cria&#231;&#227;o de modelos de Machine Learning at&#233; a disponibiliza&#231;&#227;o deste modelo em ambiente de produ&#231;&#227;o para previs&#227;o de resultados.</p><div><hr></div><h2>Passo 1: Habilitar o MCP na Inst&#226;ncia N8N</h2><p><a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial">O </a><strong><a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial">MCP (Model Context Protocol)</a></strong><a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial"> &#233; um protocolo que permite que assistentes de IA interajam com sistemas externos de forma padronizada</a>. O N8N implementou suporte ao MCP a partir da vers&#227;o 1.50.0, permitindo que voc&#234; gerencie workflows por meio de ferramentas externas.</p><h3>1.1. Acessando as configura&#231;&#245;es</h3><p>Primeiro, fa&#231;a login na sua inst&#226;ncia N8N e siga estes passos:</p><ol><li><p>Clique no &#237;cone de <strong>Settings</strong> (engrenagem) no menu lateral esquerdo</p></li><li><p>No menu de configura&#231;&#245;es, localize e clique em <strong>Instance-level MCP</strong></p></li></ol><p>Essa op&#231;&#227;o permite habilitar o acesso MCP em n&#237;vel de inst&#226;ncia, ou seja, qualquer ferramenta configurada corretamente poder&#225; interagir com seus workflows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9GjX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9GjX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 424w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 848w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 1272w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9GjX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png" width="1132" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a0afce5-38cf-401c-ab24-64b08fb5dcd7_1132x570.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1132,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:76429,&quot;alt&quot;:&quot;Ativa&#231;&#227;o do Instance-level MCP (estou na vers&#227;o 2.4.4)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F232282a5-e104-4d01-b600-112e18da340a_1132x1040.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ativa&#231;&#227;o do Instance-level MCP (estou na vers&#227;o 2.4.4)" title="Ativa&#231;&#227;o do Instance-level MCP (estou na vers&#227;o 2.4.4)" srcset="https://substackcdn.com/image/fetch/$s_!9GjX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 424w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 848w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 1272w, https://substackcdn.com/image/fetch/$s_!9GjX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F961a5f6c-a4c9-4458-bd25-6e56147cecda_1132x570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ativa&#231;&#227;o do Instance-level MCP (estou na vers&#227;o 2.4.4)</figcaption></figure></div><h3>1.2. Ativando o MCP Server</h3><p>Na p&#225;gina de configura&#231;&#227;o do MCP, voc&#234; encontrar&#225; um toggle (interruptor) chamado <strong>&#8220;Enable MCP access&#8221;</strong>. Ative-o clicando para que fique na posi&#231;&#227;o verde (habilitado).</p><p>Ap&#243;s a ativa&#231;&#227;o, a interface exibir&#225; a <strong>URL do MCP Server</strong>. Essa URL ter&#225; um formato semelhante a:</p><pre><code><code>https://sua-instancia.com/mcp-server/http
</code></code></pre><p><strong>Importante:</strong> Anote essa URL em um local seguro. Voc&#234; precisar&#225; dela no Passo 3 para configurar o VS Code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NFhn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NFhn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 424w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 848w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NFhn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e1c9ba8-b6d2-4f0b-a975-a9312485d780_2070x1166.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163447,&quot;alt&quot;:&quot;Ativa&#231;&#227;o do Instance-level MCP no N8N via Access Token&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e1c9ba8-b6d2-4f0b-a975-a9312485d780_2070x1166.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ativa&#231;&#227;o do Instance-level MCP no N8N via Access Token" title="Ativa&#231;&#227;o do Instance-level MCP no N8N via Access Token" srcset="https://substackcdn.com/image/fetch/$s_!NFhn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 424w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 848w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!NFhn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ff536a8-4351-4959-b3e2-ccae9275e8a1_2070x1166.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Ativa&#231;&#227;o do Instance-level MCP no N8N via Access Token</figcaption></figure></div><h3>1.3. Verificando o status</h3><p>Ap&#243;s habilitar, confirme que as seguintes informa&#231;&#245;es est&#227;o vis&#237;veis na tela:</p><ul><li><p><strong>Status:</strong> Enabled (Habilitado)</p></li><li><p><strong>MCP Server URL:</strong> URL completa do servidor</p></li><li><p><strong>Access Tokens:</strong> Se&#231;&#227;o para gerenciar tokens de acesso</p></li></ul><p>Se todas essas informa&#231;&#245;es estiverem dispon&#237;veis, o MCP foi habilitado com sucesso.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q2-p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q2-p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 424w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 848w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q2-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png" width="1456" height="820" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f838eb8a-d676-4292-9404-ae22b1127b10_2070x1166.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:820,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163447,&quot;alt&quot;:&quot;Confirma&#231;&#227;o da ativa&#231;&#227;o Instance-level MCP para N8N&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff838eb8a-d676-4292-9404-ae22b1127b10_2070x1166.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Confirma&#231;&#227;o da ativa&#231;&#227;o Instance-level MCP para N8N" title="Confirma&#231;&#227;o da ativa&#231;&#227;o Instance-level MCP para N8N" srcset="https://substackcdn.com/image/fetch/$s_!q2-p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 424w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 848w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 1272w, https://substackcdn.com/image/fetch/$s_!q2-p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29cdd8e9-a3f8-4c0b-8336-dea1b7765556_2070x1166.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Confirma&#231;&#227;o da ativa&#231;&#227;o Instance-level MCP para N8N</figcaption></figure></div><div><hr></div><h2>Passo 2: Gerar Tokens de Acesso</h2><p>Para que o VS Code possa se comunicar com sua inst&#226;ncia N8N, voc&#234; precisar&#225; gerar <strong>dois tokens de autentica&#231;&#227;o</strong> diferentes. Cada token tem uma finalidade espec&#237;fica:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-fTk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-fTk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 424w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 848w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 1272w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-fTk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png" width="1418" height="440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/991ef9cd-a651-4c6f-b42e-c62cdc4e4b06_1418x440.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:440,&quot;width&quot;:1418,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64012,&quot;alt&quot;:&quot;Tokens de acesso do VS Code ao N8N via MCP&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F991ef9cd-a651-4c6f-b42e-c62cdc4e4b06_1418x440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Tokens de acesso do VS Code ao N8N via MCP" title="Tokens de acesso do VS Code ao N8N via MCP" srcset="https://substackcdn.com/image/fetch/$s_!-fTk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 424w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 848w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 1272w, https://substackcdn.com/image/fetch/$s_!-fTk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdca27eb9-0397-4c2c-832a-c52e3afbff0a_1418x440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tokens de acesso do VS Code ao N8N via MCP</figcaption></figure></div><p>Ter dois tokens distintos &#233; uma boa pr&#225;tica de seguran&#231;a, pois permite revogar um deles sem afetar o outro caso necess&#225;rio.</p><h3>2.1. Gerando o Token MCP (Access Token)</h3><p>O Token MCP &#233; utilizado especificamente para a comunica&#231;&#227;o entre o Claude Code (ou qualquer cliente MCP) e o servidor MCP do N8N.</p><p><strong>Passo a passo:</strong></p><ol><li><p>Ainda na p&#225;gina <strong>Settings &gt; Instance-level MCP</strong></p></li><li><p>Role at&#233; encontrar a se&#231;&#227;o <strong>&#8220;Access Tokens&#8221;</strong></p></li><li><p>Clique no bot&#227;o <strong>&#8220;Create Access Token&#8221;</strong> ou <strong>&#8220;Generate New Token&#8221;</strong></p></li><li><p>Clique em <strong>&#8220;Create&#8221;</strong> para gerar o token (ver imagem do passo 1.3)</p></li></ol><p>&#9888;&#65039; <strong>ATEN&#199;&#195;O:</strong> O token ser&#225; exibido apenas uma vez. Copie-o imediatamente e salve em um local seguro. Se voc&#234; perder esse token, precisar&#225; gerar um novo.</p><p>O token ter&#225; um formato JWT (JSON Web Token), parecido com este:</p><pre><code><code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJmNzgxYWJj...
</code></code></pre><p>Salve este token com o r&#243;tulo <code>MCP_ACCESS_TOKEN</code> para refer&#234;ncia futura.</p><h3>2.2. Gerando o Token API (N8N_API_KEY)</h3><p>O Token API permite fazer chamadas diretas &#224; API REST do N8N, o que &#233; &#250;til para opera&#231;&#245;es avan&#231;adas e testes via terminal.</p><p><strong>Passo a passo:</strong></p><ol><li><p>Ainda em <strong>Settings</strong>, navegue para a se&#231;&#227;o <strong>API</strong> ou <strong>Public API</strong></p></li><li><p>Clique em <strong>&#8220;Create API Key&#8221;</strong> ou <strong>&#8220;Generate API Key&#8221;</strong></p></li><li><p>D&#234; um nome descritivo (exemplo: <code>vscode-api-key</code>)</p></li><li><p>Configure as permiss&#245;es. Recomendo <strong>Full Access</strong> para ter flexibilidade completa</p></li><li><p>Clique em <strong>&#8220;Create&#8221;</strong> para gerar a chave</p></li></ol><p>Novamente, copie o token gerado imediatamente. O formato ser&#225; similar ao do Token MCP.</p><p>Salve este token com o r&#243;tulo <code>N8N_API_KEY</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vkaf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vkaf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 424w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 848w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vkaf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png" width="1456" height="1021" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c72f8d44-6590-41a4-84d4-07541e345bbc_1920x1346.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1021,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174866,&quot;alt&quot;:&quot;Cria&#231;&#227;o do N8N API Key&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc72f8d44-6590-41a4-84d4-07541e345bbc_1920x1346.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Cria&#231;&#227;o do N8N API Key" title="Cria&#231;&#227;o do N8N API Key" srcset="https://substackcdn.com/image/fetch/$s_!Vkaf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 424w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 848w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!Vkaf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7178cf56-f2ff-40b4-bac0-4669d2db6f9d_1920x1346.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cria&#231;&#227;o do N8N API Key</figcaption></figure></div><h3>Resumo dos tokens gerados</h3><p>Ao final desta etapa, voc&#234; deve ter dois tokens salvos em local seguro:</p><pre><code><code>MCP_ACCESS_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
N8N_API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
</code></code></pre><blockquote><p><strong>Dica de seguran&#231;a:</strong> Nunca compartilhe esses tokens publicamente nem os inclua em reposit&#243;rios Git p&#250;blicos. No pr&#243;ximo passo, vamos configurar o projeto para proteger essas credenciais.</p></blockquote><div><hr></div><h2>Passo 3: Configurar o Projeto no VS Code</h2><p>Agora vamos criar a estrutura de arquivos necess&#225;ria para que o VS Code (ou Cursor) se conecte &#224; sua inst&#226;ncia N8N. Essa configura&#231;&#227;o utiliza o padr&#227;o de projeto que permite tanto a integra&#231;&#227;o MCP quanto o versionamento com Git.</p><h3>3.1. Criando a estrutura de diret&#243;rios</h3><p>Abra o VS Code e crie 3 arquivos:</p><pre><code>.vscode
.claude
workflows (pasta)</code></pre><p>Voc&#234; pode criar a estrutura b&#225;sica do projeto diretamente executando os seguintes comandos no terminal, dentro da pasta:</p><pre><code><code># Criar a pasta principal do projeto
mkdir -p meu-projeto-n8n/.vscode
mkdir -p meu-projeto-n8n/.claude
mkdir -p meu-projeto-n8n/workflows

# Entrar na pasta do projeto
cd meu-projeto-n8n
</code></code></pre><p>Essa estrutura organiza o projeto da seguinte forma:</p><ul><li><p><code>.vscode/</code> - Configura&#231;&#245;es espec&#237;ficas do VS Code, incluindo o MCP</p></li><li><p><code>.claude/</code> - Instru&#231;&#245;es opcionais para o assistente de IA</p></li><li><p><code>workflows/</code> - Pasta para armazenar workflows exportados em JSON</p></li></ul><h3>3.2. Criando o arquivo de configura&#231;&#227;o MCP</h3><p>O arquivo <code>mcp.json</code> &#233; o cora&#231;&#227;o da integra&#231;&#227;o. Ele informa ao VS Code como se conectar ao servidor MCP do N8N.</p><p><strong>Crie o arquivo:</strong> <code>.vscode/mcp.json</code></p><pre><code><code>{
  "mcpServers": {
    "n8n-mcp": {
      "type": "http",
      "url": "https://SUA-INSTANCIA.com/mcp-server/http",
      "headers": {
        "Authorization": "Bearer SEU_MCP_ACCESS_TOKEN_AQUI"
      },
      "description": "n8n MCP Server for workflow automation"
    }
  }
}
</code></code></pre><p><strong>Personalize o arquivo:</strong></p><p>Substitua os valores destacados pelos seus dados reais:</p><p>Placeholder Substitua por </p><p>https://SUA-INSTANCIA.com</p><p> A URL da sua inst&#226;ncia N8N <code>SEU_MCP_ACCESS_TOKEN_AQUI</code> O Token MCP gerado no Passo 2.1</p><p><strong>Exemplo simulando valores reais:</strong></p><pre><code><code>{
  "mcpServers": {
    "n8n-mcp": {
      "type": "http",
      "url": "https://automations.minhaempresa.com/mcp-server/http",
      "headers": {
        "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJmNzgxYWJjNS1lODllLTRhOTUtYmMyMi1lMzQwMDYxZTI0MjEi..."
      },
      "description": "n8n MCP Server for workflow automation"
    }
  }
}
</code> </code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9DKf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9DKf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 424w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 848w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 1272w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9DKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png" width="1456" height="625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8a84623-35e3-44f2-9f68-20f79fb656cf_1858x798.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:625,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135197,&quot;alt&quot;:&quot;Estrutura do Projeto usando IDE Antigravity do Google&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8a84623-35e3-44f2-9f68-20f79fb656cf_1858x798.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Estrutura do Projeto usando IDE Antigravity do Google" title="Estrutura do Projeto usando IDE Antigravity do Google" srcset="https://substackcdn.com/image/fetch/$s_!9DKf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 424w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 848w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 1272w, https://substackcdn.com/image/fetch/$s_!9DKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc3e13a5-a33d-418d-9205-b375d5e61831_1858x798.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Estrutura do Projeto usando IDE Antigravity do Google</figcaption></figure></div><h3>3.3. Criando o arquivo de vari&#225;veis de ambiente</h3><p>O arquivo <code>.env</code> armazena todas as credenciais sens&#237;veis em um &#250;nico local. Esse arquivo <strong>nunca deve ser versionado no Git</strong>.</p><p><strong>Crie o arquivo:</strong> <code>.env</code></p><pre><code><code># Token de API para chamadas REST diretas ao n8n
N8N_API_KEY=SEU_N8N_API_KEY_AQUI

# URL do MCP Server
SERVER_URL=https://SUA-INSTANCIA.com/mcp-server/http

# Token de acesso MCP (mesmo do mcp.json)
ACCESS_TOKEN=SEU_MCP_ACCESS_TOKEN_AQUI
</code></code></pre><p><strong>Personalize com seus valores reais</strong>, substituindo os placeholders pelos tokens gerados no Passo 2.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tmXV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tmXV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 424w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 848w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 1272w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tmXV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png" width="1456" height="676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09117960-4d0d-4939-866e-f2676218acd2_1722x800.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:676,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128902,&quot;alt&quot;:&quot;Configura&#231;&#227;o do arquivo .env para vari&#225;veis de ambiente&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09117960-4d0d-4939-866e-f2676218acd2_1722x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Configura&#231;&#227;o do arquivo .env para vari&#225;veis de ambiente" title="Configura&#231;&#227;o do arquivo .env para vari&#225;veis de ambiente" srcset="https://substackcdn.com/image/fetch/$s_!tmXV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 424w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 848w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 1272w, https://substackcdn.com/image/fetch/$s_!tmXV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c48f1de-cac0-4a8d-9d17-8309a2529107_1722x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Configura&#231;&#227;o do arquivo .env para vari&#225;veis de ambiente</figcaption></figure></div><h3>3.4. Criando o arquivo .gitignore</h3><p>O arquivo <code>.gitignore</code> &#233; essencial para garantir que credenciais sens&#237;veis n&#227;o sejam acidentalmente enviadas para reposit&#243;rios Git.</p><p><strong>Crie o arquivo:</strong> <code>.gitignore</code></p><pre><code><code># Credenciais sens&#237;veis - NUNCA versionar
.env
.env.local
.env.*.local

# Configura&#231;&#245;es pessoais do VSCode (opcional)
.vscode/settings.json

# Node modules (se usar npm)
node_modules/

# Backups tempor&#225;rios de workflows
workflows/backup/
workflows/*.backup.json

# Arquivos do sistema operacional
.DS_Store
Thumbs.db
Desktop.ini

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Arquivos tempor&#225;rios
*.tmp
*.temp
.cache/
</code></code></pre><p>Como fica no VS Code (Cursor, Antigravity, Trae&#8230;)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SNDt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SNDt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 424w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 848w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 1272w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SNDt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png" width="1456" height="1158" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70b32826-56dd-4d7e-8bf4-ff3f320e6c47_1542x1226.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1158,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:206960,&quot;alt&quot;:&quot;Configura&#231;&#227;o do .gitignore para integra&#231;&#227;o do VS Code com N8N via MCP&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70b32826-56dd-4d7e-8bf4-ff3f320e6c47_1542x1226.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Configura&#231;&#227;o do .gitignore para integra&#231;&#227;o do VS Code com N8N via MCP" title="Configura&#231;&#227;o do .gitignore para integra&#231;&#227;o do VS Code com N8N via MCP" srcset="https://substackcdn.com/image/fetch/$s_!SNDt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 424w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 848w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 1272w, https://substackcdn.com/image/fetch/$s_!SNDt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa491d4b1-6a1e-4e91-96c2-66ace1e336a5_1542x1226.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Configura&#231;&#227;o do .gitignore para integra&#231;&#227;o do VS Code com N8N via MCP</figcaption></figure></div><h3>3.5. Criando instru&#231;&#245;es para o assistente de IA (opcional)</h3><p>Se voc&#234; utiliza o Claude Code ou outra extens&#227;o de IA, pode criar um arquivo de instru&#231;&#245;es que ajuda o assistente a entender melhor o contexto do projeto.</p><p><strong>Crie o arquivo:</strong> <code>.claude/instructions.md</code></p><pre><code><code># n8n Workflow Development with Claude Code

## Contexto
Este projeto cont&#233;m workflows do n8n gerenciados via MCP Server.
Use as ferramentas MCP dispon&#237;veis para criar, editar e gerenciar workflows.

## Processo de Desenvolvimento

### Fase 1: Discovery (Descoberta)
1. Use ferramentas MCP para buscar nodes relevantes para a tarefa
2. Revise as propriedades e opera&#231;&#245;es dispon&#237;veis em cada node

### Fase 2: Validation (Valida&#231;&#227;o)
1. Valide configura&#231;&#245;es ANTES de construir o workflow
2. Verifique campos obrigat&#243;rios e tipos de dados esperados

### Fase 3: Building (Constru&#231;&#227;o)
1. Crie a estrutura do workflow com os nodes necess&#225;rios
2. Conecte os nodes na ordem correta
3. Prefira nodes nativos do n8n ao inv&#233;s de Code nodes quando poss&#237;vel

### Fase 4: Deployment (Implanta&#231;&#227;o)
1. Salve o workflow na inst&#226;ncia n8n
2. Teste a execu&#231;&#227;o manualmente
3. Verifique os outputs de cada node

## Melhores Pr&#225;ticas
- Sempre valide a estrutura antes de construir
- Documente l&#243;gica complexa com coment&#225;rios
- Nomeie workflows e nodes de forma descritiva
- Teste workflows antes de ativar em produ&#231;&#227;o
</code></code></pre><p>Como fica na IDE:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wGRi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wGRi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 424w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 848w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wGRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png" width="1456" height="987" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f65ce72-b572-4138-8a1e-edc64daabf08_1986x1346.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:987,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:348102,&quot;alt&quot;:&quot;Instru&#231;&#245;es para LLM generativa compreender suas atribui&#231;&#245;es / skills no diret&#243;rio&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f65ce72-b572-4138-8a1e-edc64daabf08_1986x1346.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Instru&#231;&#245;es para LLM generativa compreender suas atribui&#231;&#245;es / skills no diret&#243;rio" title="Instru&#231;&#245;es para LLM generativa compreender suas atribui&#231;&#245;es / skills no diret&#243;rio" srcset="https://substackcdn.com/image/fetch/$s_!wGRi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 424w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 848w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 1272w, https://substackcdn.com/image/fetch/$s_!wGRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16d5b461-7b53-4902-b21b-e0a607d476e6_1986x1346.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Instru&#231;&#245;es para LLM generativa compreender suas atribui&#231;&#245;es / skills no diret&#243;rio</figcaption></figure></div><h3>3.6. Estrutura final do projeto</h3><p>Ap&#243;s criar todos os arquivos, seu projeto deve ter esta estrutura:</p><pre><code><code>meu-projeto-n8n/
&#9500;&#9472;&#9472; .vscode/
&#9474;   &#9492;&#9472;&#9472; mcp.json              # Configura&#231;&#227;o do MCP Server
&#9500;&#9472;&#9472; .claude/
&#9474;   &#9492;&#9472;&#9472; instructions.md       # Instru&#231;&#245;es para IA (opcional)
&#9500;&#9472;&#9472; workflows/                # Workflows exportados em JSON
&#9500;&#9472;&#9472; .env                      # Credenciais (N&#195;O versionar)
&#9500;&#9472;&#9472; .gitignore                # Arquivos a ignorar no Git
&#9492;&#9472;&#9472; README.md                 # Documenta&#231;&#227;o do projeto
</code> </code></pre><p></p><p>Para acessar o template de uma estrutura final de projeto, acesse abaixo:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/guifav/vscode-n8n-template&quot;,&quot;text&quot;:&quot;Baixar Template (c&#243;digos)&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/guifav/vscode-n8n-template"><span>Baixar Template (c&#243;digos)</span></a></p><p></p><div><hr></div><h2>Passo 4: Validar a Conex&#227;o</h2><p>Com todos os arquivos configurados, &#233; hora de testar se a integra&#231;&#227;o est&#225; funcionando corretamente.</p><h3>4.1. Reiniciar o VS Code</h3><p>Para que as configura&#231;&#245;es do MCP sejam carregadas, voc&#234; precisa reiniciar completamente o VS Code:</p><ol><li><p>Feche <strong>todas</strong> as janelas do VS Code</p></li><li><p>Abra o VS Code novamente</p></li><li><p>Navegue at&#233; a pasta do projeto que voc&#234; criou (<code>meu-projeto-n8n</code>)</p></li><li><p>Aguarde alguns segundos para que as extens&#245;es carreguem</p></li></ol><h3>4.2. Verificar o MCP Server no Claude Code</h3><p>Abra o painel do Claude Code (ou a extens&#227;o de IA que voc&#234; utiliza) e digite o seguinte comando:</p><pre><code><code>Liste as ferramentas MCP dispon&#237;veis</code></code></pre><p>Se a configura&#231;&#227;o estiver correta, voc&#234; ver&#225; uma lista de ferramentas relacionadas ao N8N, como:</p><ul><li><p>Buscar nodes dispon&#237;veis</p></li><li><p>Criar workflows</p></li><li><p>Editar workflows existentes</p></li><li><p>Validar configura&#231;&#245;es</p></li><li><p>Listar workflows da inst&#226;ncia</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b5tW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b5tW!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 424w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 848w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 1272w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b5tW!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png" width="1110" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c92939b-d813-4456-a45e-517edefb0287_1110x640.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48282439-828e-4b87-98a1-cf08c84b2adc_1110x640.gif&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1110,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17277241,&quot;alt&quot;:&quot;Listagem de ferramentas dispon&#237;veis no VS Code via MCP para N8N&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48282439-828e-4b87-98a1-cf08c84b2adc_1110x640.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Listagem de ferramentas dispon&#237;veis no VS Code via MCP para N8N" title="Listagem de ferramentas dispon&#237;veis no VS Code via MCP para N8N" srcset="https://substackcdn.com/image/fetch/$s_!b5tW!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 424w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 848w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 1272w, https://substackcdn.com/image/fetch/$s_!b5tW!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c92939b-d813-4456-a45e-517edefb0287_1110x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Listagem de ferramentas dispon&#237;veis no VS Code via MCP para N8N</figcaption></figure></div><h3>4.3. Testando a listagem de workflows</h3><p>Para confirmar que a conex&#227;o com sua inst&#226;ncia est&#225; funcionando, pe&#231;a ao assistente:</p><pre><code><code>Liste todos os workflows da minha inst&#226;ncia n8n
</code></code></pre><p>O Claude (ou outro assistente) deve retornar uma lista dos workflows existentes na sua inst&#226;ncia, incluindo seus nomes e IDs.</p><h3>4.4. Testando a cria&#231;&#227;o de um workflow simples</h3><p>Para um teste mais completo, pe&#231;a ao assistente para criar um workflow de teste:</p><pre><code><code>Crie um workflow de teste simples no n8n com:
1. Um Manual Trigger (gatilho manual)
2. Um Set node que adicione o campo "mensagem" com valor "Hello from VS Code!"
</code></code></pre><p>Se tudo estiver funcionando, o assistente criar&#225; o workflow e confirmar&#225; que ele foi salvo na inst&#226;ncia. Voc&#234; pode verificar diretamente no N8N acessando a lista de workflows.</p><h3>4.5. Testando via API REST (terminal)</h3><p>Para validar que a API REST tamb&#233;m est&#225; funcionando, voc&#234; pode fazer um teste r&#225;pido via terminal:</p><pre><code><code># No Linux/Mac, carregue as vari&#225;veis do .env
source .env

# Fa&#231;a uma requisi&#231;&#227;o para listar workflows
curl -s -X GET "https://SUA-INSTANCIA.com/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" | jq
</code></code></pre><p>Substitua <code>SUA-INSTANCIA.com</code> pela URL real da sua inst&#226;ncia. O comando retornar&#225; um JSON com a lista de workflows.</p><blockquote><p><strong>Nota:</strong> Se voc&#234; n&#227;o tem o <code>jq</code> instalado, pode remover <code>| jq</code> do comando. O <code>jq</code> apenas formata o JSON para facilitar a leitura.</p></blockquote><div><hr></div><h2>Exemplos Pr&#225;ticos de Uso</h2><p>Agora que sua integra&#231;&#227;o est&#225; funcionando, veja alguns exemplos de como voc&#234; pode usar o Claude Code (ou outro assistente) para gerenciar seus workflows.</p><h3>Exemplo 1: Listar workflows ativos</h3><pre><code><code>Claude, liste todos os workflows ativos na minha inst&#226;ncia n8n, 
mostrando o nome e a data da &#250;ltima modifica&#231;&#227;o
</code></code></pre><h3>Exemplo 2: Criar um workflow de integra&#231;&#227;o</h3><pre><code><code>Crie um workflow no n8n que:
1. Receba dados via webhook HTTP (m&#233;todo POST)
2. Use um Set node para adicionar um timestamp autom&#225;tico
3. Valide se o campo "email" existe no payload
4. Se v&#225;lido, salve os dados em uma planilha Google Sheets
5. Se inv&#225;lido, envie uma notifica&#231;&#227;o para um canal do Slack
</code></code></pre><h3>Exemplo 3: Editar um workflow existente</h3><pre><code><code>Encontre o workflow chamado "Processamento de Leads" e fa&#231;a as seguintes altera&#231;&#245;es:
- Adicione valida&#231;&#227;o de email antes do envio
- Inclua um node de notifica&#231;&#227;o no Slack em caso de erro
- Adicione um log de execu&#231;&#227;o no final do fluxo
</code></code></pre><h3>Exemplo 4: Buscar nodes dispon&#237;veis</h3><pre><code><code>Quais nodes do n8n est&#227;o dispon&#237;veis para integra&#231;&#227;o com:
- Google Sheets
- Slack
- Notion
- Airtable

Liste as principais opera&#231;&#245;es de cada um.
</code></code></pre><h3>Exemplo 5: Validar configura&#231;&#227;o de workflow</h3><pre><code><code>Analise o workflow "Sincroniza&#231;&#227;o de Contatos" e verifique:
- Se todos os nodes t&#234;m as credenciais necess&#225;rias configuradas
- Se h&#225; tratamento de erros adequado
- Se os campos obrigat&#243;rios est&#227;o preenchidos
- Sugira melhorias de performance
</code></code></pre><h3>Exemplo 6: Exportar workflow para versionamento</h3><pre><code><code>Exporte o workflow "Automa&#231;&#227;o de Emails" para um arquivo JSON 
na pasta workflows/ do projeto, com o nome automacao-emails.json
</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UO_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UO_1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 424w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 848w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UO_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png" width="1456" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abe8d244-63ee-4396-93e1-d4ee0589a1f9_2912x1440.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5042137,&quot;alt&quot;:&quot;Edi&#231;&#227;o e formata&#231;&#227;o de json objects pela IA&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabe8d244-63ee-4396-93e1-d4ee0589a1f9_2912x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Edi&#231;&#227;o e formata&#231;&#227;o de json objects pela IA" title="Edi&#231;&#227;o e formata&#231;&#227;o de json objects pela IA" srcset="https://substackcdn.com/image/fetch/$s_!UO_1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 424w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 848w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!UO_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31982e05-3fab-4663-aca7-79cdce7c85cc_2912x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Edi&#231;&#227;o e formata&#231;&#227;o de json objects pela IA</figcaption></figure></div><div><hr></div><h2>Resolu&#231;&#227;o de Problemas Comuns</h2><p>Durante a configura&#231;&#227;o, voc&#234; pode encontrar alguns problemas. Aqui est&#227;o as solu&#231;&#245;es para os mais comuns:</p><h3>Problema 1: Claude Code n&#227;o encontra o MCP Server</h3><p><strong>Sintomas:</strong> O assistente n&#227;o lista ferramentas MCP ou exibe erro &#8220;MCP server not found&#8221;.</p><p><strong>Solu&#231;&#245;es:</strong></p><ol><li><p>Verifique se o arquivo <code>.vscode/mcp.json</code> existe e est&#225; com JSON v&#225;lido</p></li><li><p>Confirme que a URL e o token est&#227;o corretos (sem espa&#231;os extras)</p></li><li><p>Reinicie completamente o VS Code (feche todas as janelas)</p></li><li><p>Verifique se a extens&#227;o Claude Code est&#225; atualizada</p></li><li><p>Teste a URL do MCP Server manualmente no terminal:</p></li></ol><pre><code><code>curl -s -X GET "https://SUA-INSTANCIA.com/mcp-server/http" \
  -H "Authorization: Bearer SEU_TOKEN_MCP"
</code></code></pre><h3>Problema 2: Erro de autentica&#231;&#227;o (401 ou 403)</h3><p><strong>Sintomas:</strong> Mensagens como &#8220;401 Unauthorized&#8221;, &#8220;403 Forbidden&#8221; ou &#8220;Invalid token&#8221;.</p><p><strong>Solu&#231;&#245;es:</strong></p><ol><li><p><strong>Token expirado:</strong> Gere um novo token em Settings &gt; Instance-level MCP</p></li><li><p><strong>Token incompleto:</strong> Verifique se copiou o token inteiro, sem espa&#231;os</p></li><li><p><strong>MCP desabilitado:</strong> Confirme que o toggle est&#225; na posi&#231;&#227;o &#8220;Enabled&#8221;</p></li><li><p><strong>Permiss&#245;es:</strong> Verifique se seu usu&#225;rio tem permiss&#245;es de administrador</p></li><li><p><strong>Regenere ambos os tokens</strong> e atualize os arquivos de configura&#231;&#227;o</p></li></ol><h3>Problema 3: Workflows n&#227;o aparecem na listagem</h3><p><strong>Sintomas:</strong> O Claude retorna lista vazia ou erro ao listar workflows.</p><p><strong>Solu&#231;&#245;es:</strong></p><ol><li><p>Confirme que existem workflows criados na inst&#226;ncia</p></li><li><p>Verifique as permiss&#245;es do usu&#225;rio associado ao token</p></li><li><p>Teste a API REST diretamente:</p></li></ol><pre><code><code>curl -X GET "https://SUA-INSTANCIA.com/api/v1/workflows" \
  -H "X-N8N-API-KEY: SEU_API_KEY"
</code></code></pre><ol start="4"><li><p>Se a API funcionar mas o MCP n&#227;o, regenere especificamente o token MCP</p></li></ol><h3>Problema 4: Erro ao criar workflows</h3><p><strong>Sintomas:</strong> Mensagens como &#8220;request/body/active is read-only&#8221; ou &#8220;Invalid workflow schema&#8221;.</p><p><strong>Solu&#231;&#245;es:</strong></p><ol><li><p><strong>Campo </strong><code>active</code><strong>:</strong> N&#227;o inclua este campo ao criar workflows via API</p></li><li><p><strong>Campos obrigat&#243;rios:</strong> Garanta que <code>name</code>, <code>nodes</code> e <code>connections</code> existam</p></li><li><p><strong>IDs &#250;nicos:</strong> Cada node precisa ter um <code>id</code> &#250;nico no workflow</p></li><li><p><strong>Formato correto:</strong> Use o formato <code>n8n-nodes-base.nodeType</code> para tipos de nodes</p></li><li><p>Pe&#231;a ao assistente para validar a estrutura antes de criar</p></li></ol><div><hr></div><h2>Checklist de Configura&#231;&#227;o Completa</h2><p>Use este checklist para garantir que tudo est&#225; configurado corretamente:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3kc2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3kc2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 424w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 848w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 1272w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3kc2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png" width="1406" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d00669b-f6bf-4627-9a31-1955f5786b82_1406x752.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&quot;width&quot;:1406,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:177094,&quot;alt&quot;:&quot;Check list para verifica&#231;&#227;o se integra&#231;&#227;o VS Code e N8N via MCP est&#225; funcionando&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185220747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d00669b-f6bf-4627-9a31-1955f5786b82_1406x752.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Check list para verifica&#231;&#227;o se integra&#231;&#227;o VS Code e N8N via MCP est&#225; funcionando" title="Check list para verifica&#231;&#227;o se integra&#231;&#227;o VS Code e N8N via MCP est&#225; funcionando" srcset="https://substackcdn.com/image/fetch/$s_!3kc2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 424w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 848w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 1272w, https://substackcdn.com/image/fetch/$s_!3kc2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98ecb251-77bf-4c7c-bf65-12e5fa17e09b_1406x752.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Check list para verifica&#231;&#227;o se integra&#231;&#227;o VS Code e N8N via MCP est&#225; funcionando</figcaption></figure></div><div><hr></div><h2>Boas Pr&#225;ticas de Seguran&#231;a</h2><p>Ao trabalhar com tokens de API e automa&#231;&#245;es, &#233; fundamental seguir boas pr&#225;ticas de seguran&#231;a:</p><h3>Prote&#231;&#227;o de credenciais</h3><ol><li><p><strong>Nunca versione o </strong><code>.env</code><strong>:</strong> Sempre inclua no <code>.gitignore</code></p></li><li><p><strong>Use vari&#225;veis de ambiente:</strong> N&#227;o coloque tokens diretamente no c&#243;digo</p></li><li><p><strong>Rotacione tokens periodicamente:</strong> Regenere a cada 3-6 meses</p></li><li><p><strong>Tokens dedicados:</strong> Use um token diferente para cada projeto ou ambiente</p></li><li><p><strong>Permiss&#245;es m&#237;nimas:</strong> Conceda apenas as permiss&#245;es necess&#225;rias</p></li></ol><h3>Controle de acesso</h3><ol><li><p><strong>Usu&#225;rios dedicados:</strong> Crie usu&#225;rios espec&#237;ficos para integra&#231;&#245;es via API</p></li><li><p><strong>Auditoria:</strong> Monitore logs de acesso via API regularmente</p></li><li><p><strong>Revoga&#231;&#227;o imediata:</strong> Revogue tokens comprometidos imediatamente</p></li><li><p><strong>2FA habilitado:</strong> Use autentica&#231;&#227;o de dois fatores na inst&#226;ncia N8N</p></li></ol><h3>Backup e versionamento</h3><ol><li><p><strong>Versione workflows:</strong> Salve workflows na pasta <code>workflows/</code> como JSON</p></li><li><p><strong>Use Git:</strong> Rastreie mudan&#231;as nos workflows com commits descritivos</p></li><li><p><strong>Backup regular:</strong> Exporte workflows importantes periodicamente</p></li><li><p><strong>Documenta&#231;&#227;o:</strong> Mantenha um README.md atualizado com descri&#231;&#227;o dos workflows</p></li></ol><blockquote><p><strong>Leitura complementar:</strong> Para entender melhor como implementar IA de forma segura e estrat&#233;gica em processos corporativos, recomendo o livro <a href="https://www.guilhermefavaron.com.br/p/livro-ia-inteligencia-artificial-portugues-gratuito">Desbloqueando a Intelig&#234;ncia Artificial nas Empresas</a>.</p></blockquote><div><hr></div><p><strong>Prompt para imagem ilustrativa (seguran&#231;a):</strong></p><blockquote><p>Minimalist security concept on white background, black outline padlock icon with #ffbe00 shield badge, connected to document and cloud icons by dotted lines, clean vector illustration style</p></blockquote><div><hr></div><h2>Conclus&#227;o</h2><p>Integrar o VS Code (ou Cursor) com o N8N abre um novo mundo de possibilidades para gerenciar suas automa&#231;&#245;es. Com essa configura&#231;&#227;o, voc&#234; ganha:</p><ul><li><p><strong>Produtividade:</strong> Crie workflows complexos usando linguagem natural com assistentes de IA</p></li><li><p><strong>Controle de vers&#227;o:</strong> Hist&#243;rico completo de altera&#231;&#245;es com Git</p></li><li><p><strong>Colabora&#231;&#227;o:</strong> Compartilhe workflows facilmente com sua equipe</p></li><li><p><strong>Seguran&#231;a:</strong> Backup redundante e rastreabilidade de mudan&#231;as</p></li><li><p><strong>Flexibilidade:</strong> Trabalhe no ambiente que voc&#234; j&#225; conhece e domina</p></li></ul><p>Essa abordagem &#233; especialmente relevante para equipes que gerenciam m&#250;ltiplos workflows ou que precisam manter padr&#245;es de qualidade e documenta&#231;&#227;o em suas automa&#231;&#245;es.</p><p>O <a href="https://www.guilhermefavaron.com.br/p/mcp-model-context-protocol-revolucao-inteligencia-artificial">MCP (Model Context Protocol)</a> est&#225; se tornando um padr&#227;o importante para integra&#231;&#227;o entre ferramentas de IA e sistemas externos. Ao dominar essa tecnologia agora, voc&#234; estar&#225; preparado para aproveitar as evolu&#231;&#245;es futuras do ecossistema, sem configura&#231;&#245;es adicionais.</p><p>Se voc&#234; quer se aprofundar mais no universo da automa&#231;&#227;o e intelig&#234;ncia artificial aplicada aos neg&#243;cios, convido voc&#234; a conhecer o <a href="https://mindapps.ai/index.html">MindApps.ai</a>, meu laborat&#243;rio de inova&#231;&#227;o em IA, onde desenvolvo aplicativos pr&#225;ticos que demonstram casos de uso reais dessa tecnologia.</p><div><hr></div><h2>Refer&#234;ncias e Recursos</h2><h3>Documenta&#231;&#227;o oficial</h3><ul><li><p><a href="https://docs.n8n.io/advanced-ai/accessing-n8n-mcp-server/">N8N MCP Server Documentation</a></p></li><li><p><a href="https://docs.n8n.io/api/api-reference/">N8N Public API Documentation</a></p></li><li><p><a href="https://docs.n8n.io/workflows/export-import/">N8N Workflow JSON Structure</a></p></li><li><p><a href="https://modelcontextprotocol.io/">Model Context Protocol (MCP)</a></p></li></ul><h3>Reposit&#243;rios GitHub</h3><ul><li><p><a href="https://github.com/n8n-io/n8n">n8n-io/n8n</a> - Reposit&#243;rio oficial do N8N</p></li></ul><h3>Tutoriais adicionais</h3><ul><li><p><a href="https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/">N8N MCP Workflow Template</a></p></li><li><p><a href="https://community.n8n.io/">F&#243;rum da Comunidade N8N</a></p></li></ul><div><hr></div><h2>Links Internos Sugeridos</h2><p>Para complementar seu aprendizado, confira estes outros artigos do blog:</p><ul><li><p><a href="https://www.guilhermefavaron.com.br/post/inteligencia-artificial-guia-completo-para-iniciantes-e-entusiastas">Guia Completo de Intelig&#234;ncia Artificial para Iniciantes</a></p></li><li><p><a href="https://www.guilhermefavaron.com.br/post/inteligencia-artificial-trabalho">O Papel dos Analistas de Neg&#243;cios na Era da IA Generativa</a></p></li><li><p><a href="https://www.guilhermefavaron.com.br/post/tutorial-analise-de-dados-colab-python-ia">Tutorial de An&#225;lise de Dados com IA para Gestores</a></p></li></ul><div><hr></div><p><em>&#218;ltima atualiza&#231;&#227;o: Janeiro de 2026</em></p><p><em>Compatibilidade testada: N8N v1.50.0+, VS Code 1.85+, Cursor (fork VS Code), Claude Code (vers&#227;o mais recente)</em></p>]]></content:encoded></item><item><title><![CDATA[A AGI Chegou? Uma Questão de Semântica, Não de Tecnologia]]></title><description><![CDATA[O debate sobre intelig&#234;ncia artificial geral esconde uma quest&#227;o mais importante: como nos preparamos para uma IA que j&#225; transforma o trabalho humano?]]></description><link>https://www.guilhermefavaron.com.br/p/agi-chegou-inteligencia-artificial-geral</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/agi-chegou-inteligencia-artificial-geral</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 19 Jan 2026 14:48:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/913cea17-62e4-4927-992b-0eac4c50eb00_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yqYz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yqYz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 424w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 848w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 1272w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yqYz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png" width="2440" height="1326" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ace10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4a6aca5-54d1-4c7c-bbc4-25e547e50dd9_2440x1326.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1326,&quot;width&quot;:2440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5706571,&quot;alt&quot;:&quot;A AGI Chegou?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185065603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0799b5da-173b-4a51-904f-899126fb8616_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A AGI Chegou?" title="A AGI Chegou?" srcset="https://substackcdn.com/image/fetch/$s_!yqYz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 424w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 848w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 1272w, https://substackcdn.com/image/fetch/$s_!yqYz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Face10f2f-63b5-462a-999c-46840f00bd05_2440x1326.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A AGI Chegou?</figcaption></figure></div><p>Em uma entrevista &#224; CNBC em janeiro de 2026, a presidente da Anthropic, <strong><a href="https://en.wikipedia.org/wiki/Daniela_Amodei">Daniela Amodei</a></strong>, fez uma declara&#231;&#227;o que deveria reformular fundamentalmente como pensamos sobre intelig&#234;ncia artificial: <em>&#8220;Por algumas defini&#231;&#245;es, j&#225; superamos a IA em n&#237;vel humano.&#8221;</em></p><p>Ela n&#227;o disse &#8220;quase l&#225;&#8221;. Ela disse que j&#225; cruzamos a linha.</p><p>Mas antes de aceitar essa afirma&#231;&#227;o como verdade absoluta, precisamos entender algo crucial: <strong>a resposta para &#8220;a AGI chegou?&#8221; depende inteiramente de qual defini&#231;&#227;o voc&#234; escolhe usar</strong>.</p><div><hr></div><h2>Os N&#250;meros S&#227;o Reais &#8212; A Interpreta&#231;&#227;o &#201; Que Varia</h2><p>A afirma&#231;&#227;o de Daniela n&#227;o &#233; baseada em filosofia ou especula&#231;&#227;o. Ela se fundamenta em dados de desempenho mensur&#225;veis que s&#227;o dif&#237;ceis de ignorar:</p><p>O Claude agora programa no n&#237;vel de muitos desenvolvedores que trabalham na pr&#243;pria Anthropic &#8212; uma empresa que emprega alguns dos talentos de engenharia mais qualificados do mundo.</p><p>As estat&#237;sticas subjacentes revelam algo significativo:</p><ul><li><p>Engenheiros da Anthropic dependem do Claude para <strong>60% do seu trabalho di&#225;rio</strong> &#8212; n&#227;o apenas para debugging ou corre&#231;&#245;es r&#225;pidas, mas para a maioria do que fazem</p></li><li><p>Equipes reportam <strong><a href="https://www.guilhermefavaron.com.br/p/guia-definitivo-de-ferramentas-de-ia-para-gerentes-e-analistas-de-produto?utm_source=publication-search">ganhos de produtividade de 50%</a></strong>, representando uma melhoria de 2-3x comparado a apenas um ano atr&#225;s</p></li><li><p><strong>27% do trabalho assistido pelo Claude</strong> consiste em tarefas que <a href="https://www.guilhermefavaron.com.br/p/construindo-times-de-ia-lideranca?utm_source=publication-search">engenheiros n&#227;o teriam tentado sem IA</a> &#8212; projetos completamente novos e trabalho explorat&#243;rio que n&#227;o seriam vi&#225;veis economicamente de outra forma</p></li><li><p>O Claude Opus 4.5 alcan&#231;ou <strong>80,9% no SWE-Bench Verified</strong>, tornando-se <a href="https://www.guilhermefavaron.com.br/p/devops-e-deployment-pipeline-design">o primeiro modelo de IA a exceder 80% de precis&#227;o em tarefas reais de engenharia de software extra&#237;das de reposit&#243;rios GitHub</a></p></li><li><p>O modelo <strong>superou todos os candidatos humanos</strong> na hist&#243;ria da Anthropic em sua avalia&#231;&#227;o interna de contrata&#231;&#227;o de engenharia de duas horas</p></li></ul><p>Esses n&#227;o s&#227;o exerc&#237;cios acad&#234;micos ou desafios de programa&#231;&#227;o simplificados. O SWE-Bench consiste em problemas genu&#237;nos de engenharia de software que desenvolvedores profissionais enfrentam diariamente.</p><p><strong>A quest&#227;o n&#227;o &#233; se esses resultados s&#227;o impressionantes &#8212; s&#227;o. A quest&#227;o &#233;: o que eles realmente significam?</strong></p><div><hr></div><h2>O Problema da &#8220;Trave Que Sempre Se Move&#8221;</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZVQ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 424w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 848w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 1272w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png" width="2561" height="1437" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1e178a1-1ef4-46cd-9d97-e5cd75677a7e_2561x1437.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1437,&quot;width&quot;:2561,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5695091,&quot;alt&quot;:&quot;A Trave Que Sempre Se Move&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185065603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bca5465-59c8-41fa-b595-c84ed5fc6524_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A Trave Que Sempre Se Move" title="A Trave Que Sempre Se Move" srcset="https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 424w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 848w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 1272w, https://substackcdn.com/image/fetch/$s_!ZVQ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F66a19c97-d97f-42cf-86e4-49e287334c76_2561x1437.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A Trave Que Sempre Se Move</figcaption></figure></div><p>Ao longo da hist&#243;ria da IA, exibimos um padr&#227;o consistente: toda vez que a IA alcan&#231;a algo que acredit&#225;vamos requerer intelig&#234;ncia de n&#237;vel humano, coletivamente decidimos que essa conquista na verdade n&#227;o conta.</p><p>Quando o <strong>Deep Blue da IBM derrotou o campe&#227;o mundial de xadrez Garry Kasparov</strong> em 1997, descartamos como c&#225;lculo de for&#231;a bruta em vez de intelig&#234;ncia genu&#237;na.</p><p>Quando o <strong>AlphaGo do Google venceu Lee Sedol</strong> no Go &#8212; um jogo com mais posi&#231;&#245;es poss&#237;veis do que &#225;tomos no universo &#8212; rebaixamos para correspond&#234;ncia de padr&#245;es sofisticada em vez de racioc&#237;nio verdadeiro.</p><p>Quando o <strong>GPT-3 gerou ensaios coerentes</strong>, chamamos de autocompletar estat&#237;stico turbinado, desprovido de compreens&#227;o real.</p><p>Agora o Claude escreve c&#243;digo de n&#237;vel profissional melhor do que muitos desenvolvedores, e dizemos que n&#227;o conta como AGI porque n&#227;o consegue simultaneamente dirigir carros, entender emo&#231;&#245;es como humanos e manipular objetos f&#237;sicos.</p><p><strong>A defini&#231;&#227;o de AGI tornou-se &#8220;aquilo que a IA ainda n&#227;o consegue fazer&#8221;</strong>. No momento em que a IA alcan&#231;a algo, retroativamente decidimos que nunca contou como intelig&#234;ncia geral em primeiro lugar.</p><div><hr></div><h2>Duas Defini&#231;&#245;es, Duas Conclus&#245;es Opostas</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EUmM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EUmM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EUmM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b5f04b8-32e5-486c-af7a-04ff4be05fab_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9114821,&quot;alt&quot;:&quot;Duas Defini&#231;&#245;es, Duas Conclus&#245;es Opostas&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185065603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b5f04b8-32e5-486c-af7a-04ff4be05fab_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Duas Defini&#231;&#245;es, Duas Conclus&#245;es Opostas" title="Duas Defini&#231;&#245;es, Duas Conclus&#245;es Opostas" srcset="https://substackcdn.com/image/fetch/$s_!EUmM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!EUmM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf4ca03-dc58-461e-a603-a05a7b3cfa20_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Duas Defini&#231;&#245;es, Duas Conclus&#245;es Opostas</figcaption></figure></div><p>Daniela n&#227;o est&#225; afirmando que o Claude pode replicar toda capacidade humana. Ela est&#225; argumentando que toda a estrutura de &#8220;t&#227;o capaz quanto um humano&#8221; tornou-se intelectualmente sem sentido.</p><p><em>&#8220;O Claude definitivamente consegue escrever c&#243;digo melhor do que eu&#8221;</em>, ela reconheceu na entrevista.</p><p>No entanto, simultaneamente, o Claude n&#227;o consegue realizar in&#250;meras tarefas que humanos executam sem esfor&#231;o: coordena&#231;&#227;o f&#237;sica, intelig&#234;ncia emocional genu&#237;na, racioc&#237;nio de senso comum em situa&#231;&#245;es novas.</p><p>Ent&#227;o isso constitui AGI ou n&#227;o? <strong>A resposta depende inteiramente de qual defini&#231;&#227;o voc&#234; escolher</strong> &#8212; e ambas s&#227;o defens&#225;veis:</p><h3>Defini&#231;&#227;o 1: Capacidade Humana Universal</h3><p>Se AGI significa igualar ou exceder o desempenho humano m&#233;dio em literalmente toda tarefa cognitiva e f&#237;sica &#8212; dirigir ve&#237;culos, entender nuances emocionais, manipula&#231;&#227;o de objetos f&#237;sicos, improvisa&#231;&#227;o criativa &#8212; ent&#227;o <strong>n&#227;o, n&#227;o estamos nem perto desse limiar</strong>.</p><h3>Defini&#231;&#227;o 2: Desempenho Econ&#244;mico de N&#237;vel Especialista</h3><p>Se AGI significa igualar ou superar especialistas humanos em dom&#237;nios cognitivos economicamente cr&#237;ticos &#8212; desenvolvimento de software, an&#225;lise de dados, cria&#231;&#227;o de conte&#250;do, modelagem financeira, suporte ao cliente, s&#237;ntese de pesquisa &#8212; ent&#227;o <strong>sim, j&#225; cruzamos m&#250;ltiplas linhas de chegada em &#225;reas valiosas</strong>.</p><p>Ambas as defini&#231;&#245;es s&#227;o intelectualmente leg&#237;timas. Ambas t&#234;m defensores fortes.</p><p>No entanto, elas levam a conclus&#245;es completamente opostas sobre se a AGI existe atualmente. <strong>Esse desacordo sem&#226;ntico obscurece o que est&#225; realmente acontecendo</strong>: a IA j&#225; est&#225; transformando como profissionais altamente qualificados trabalham, independentemente de a chamarmos de AGI.</p><div><hr></div><h2>Minha Posi&#231;&#227;o: AGI Ainda N&#227;o Chegou &#8212; E Tudo Bem</h2><p>Pessoalmente, n&#227;o acredito que a AGI tenha chegado. Uso a primeira defini&#231;&#227;o &#8212; capacidade universal em dom&#237;nios cognitivos e f&#237;sicos diversos &#8212; como minha refer&#234;ncia.</p><p>Por essa m&#233;trica, o Claude &#233; extraordinariamente capaz em dom&#237;nios espec&#237;ficos, mas permanece fundamentalmente limitado em outros. N&#227;o consegue raciocinar de forma flex&#237;vel em contextos completamente novos. N&#227;o possui mem&#243;ria persistente entre conversa&#231;&#245;es. N&#227;o demonstra curiosidade genu&#237;na ou iniciativa aut&#244;noma.</p><p><strong>Mas aqui est&#225; o ponto crucial</strong>: essa &#233; minha escolha de defini&#231;&#227;o, n&#227;o uma verdade objetiva.</p><p>Se voc&#234; define AGI como &#8220;IA que pode substituir trabalhadores humanos em tarefas economicamente valiosas&#8221;, ent&#227;o Daniela Amodei tem um argumento forte. Os dados de produtividade da Anthropic s&#227;o reais. O desempenho no SWE-Bench &#233; verific&#225;vel. Engenheiros genuinamente est&#227;o delegando trabalho complexo para o Claude.</p><p><strong>O debate sobre &#8220;a AGI chegou?&#8221; &#233; menos sobre tecnologia e mais sobre linguagem</strong>.</p><div><hr></div><h2>Por Que Essa Distin&#231;&#227;o Sem&#226;ntica Importa</h2><p>Estamos presos em um argumento definicional enquanto a <a href="https://www.guilhermefavaron.com.br/p/relatorio-2024-digital-media-trends-da-deloitte-principais-insights-e-takeaways?utm_source=publication-search">transforma&#231;&#227;o que debatemos silenciosamente se materializa ao nosso redor</a>.</p><p>As pessoas mais inteligentes construindo os sistemas de IA mais sofisticados admitem abertamente que n&#227;o sabem se seus m&#233;todos atuais sustentar&#227;o o progresso. Enquanto isso, todos os outros projetam confiantemente cronogramas e capacidades como se o caminho &#224; frente fosse certo. <strong>Essa assimetria deveria nos fazer pausar</strong>.</p><p>A pergunta <em>&#8220;Quando a AGI chegar&#225;?&#8221;</em> &#233; menos &#250;til do que <em>&#8220;Como nos adaptamos &#224; IA que j&#225; &#233; de n&#237;vel humano em dom&#237;nios que impulsionam valor econ&#244;mico?&#8221;</em></p><p>Essa reformula&#231;&#227;o muda fundamentalmente a conversa de especula&#231;&#227;o te&#243;rica para prepara&#231;&#227;o pr&#225;tica:</p><h3>Transforma&#231;&#227;o da For&#231;a de Trabalho</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WuXA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WuXA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 424w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 848w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 1272w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WuXA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png" width="2796" height="1307" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa415950-bf14-4750-a293-2fbd338ce88c_2796x1307.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1307,&quot;width&quot;:2796,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6763810,&quot;alt&quot;:&quot;Transforma&#231;&#227;o da For&#231;a de Trabalho&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185065603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca27fecb-e9ae-407e-8230-b32aba4bbe78_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Transforma&#231;&#227;o da For&#231;a de Trabalho" title="Transforma&#231;&#227;o da For&#231;a de Trabalho" srcset="https://substackcdn.com/image/fetch/$s_!WuXA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 424w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 848w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 1272w, https://substackcdn.com/image/fetch/$s_!WuXA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ead8b9b-62bf-4711-840b-5cc36d4c1499_2796x1307.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Transforma&#231;&#227;o da For&#231;a de Trabalho</figcaption></figure></div><p>Engenheiros na Anthropic reportam que o Claude os permite <strong>elevar seu n&#237;vel de ambi&#231;&#227;o</strong>, enfrentar projetos que antes evitavam e superar a procrastina&#231;&#227;o mais facilmente ao reduzir a energia de ativa&#231;&#227;o. Isso n&#227;o &#233; substitui&#231;&#227;o &#8212; &#233; aumento que muda no que os humanos se concentram.</p><h3>Desenvolvimento de Habilidades</h3><p>Como treinamos pessoas para trabalhos que cada vez mais envolvem supervisionar, direcionar e verificar a qualidade da IA em vez de realizar o trabalho subjacente diretamente?</p><p>Um engenheiro s&#234;nior da Anthropic observou: <em>&#8220;As ferramentas definitivamente est&#227;o tornando engenheiros juniores mais produtivos e mais ousados com os tipos de projetos que assumir&#227;o&#8221;</em>.</p><h3>Distribui&#231;&#227;o Econ&#244;mica</h3><p>Como sociedades distribuem valor econ&#244;mico quando a IA realiza trabalho cognitivo que antes empregava milh&#245;es de pessoas? Se a produtividade por trabalhador dobra mas o emprego total em um campo cai, quem captura os ganhos?</p><div><hr></div><h2>O Que &#8220;J&#225; Alcan&#231;ado&#8221; Significa Para Como Avan&#231;amos</h2><p>A distin&#231;&#227;o entre progresso tecnol&#243;gico e timing de ado&#231;&#227;o &#233; tudo.</p><p>Funcion&#225;rios da Anthropic reportam que <strong>27% do seu trabalho assistido pelo Claude consiste inteiramente de tarefas que n&#227;o teriam tentado de outra forma</strong> &#8212; novos projetos, trabalho explorat&#243;rio, prot&#243;tipos e ferramentas que n&#227;o justificariam o esfor&#231;o sem assist&#234;ncia de IA.</p><p>Um engenheiro descreveu o impacto: <em>&#8220;A energia de ativa&#231;&#227;o reduzida de usar o Claude me permitiu superar a procrastina&#231;&#227;o mais facilmente, diminuindo dramaticamente a energia necess&#225;ria para eu querer come&#231;ar a enfrentar um problema e, portanto, estou disposto a enfrentar tantas coisas adicionais&#8221;</em>.</p><p><strong>Talvez AGI n&#227;o seja um momento singular</strong> quando a IA subitamente desperta e iguala humanos em toda dimens&#227;o simultaneamente.</p><p>Talvez seja um processo incremental onde a IA se torna de n&#237;vel especialista em dom&#237;nio ap&#243;s dom&#237;nio, reformulando fundamentalmente fluxos de trabalho, estruturas econ&#244;micas e trajet&#243;rias de carreira sem nenhum an&#250;ncio dram&#225;tico ou ponto de inflex&#227;o &#243;bvio.</p><p>Se essa interpreta&#231;&#227;o estiver correta, a perspectiva de Daniela faz todo sentido: <em>&#8220;N&#227;o estamos esperando a AGI como um evento futuro discreto. J&#225; estamos nos adaptando, frequentemente de forma ca&#243;tica e desigual, &#224; IA que performa em n&#237;veis de especialista humano em dom&#237;nios economicamente cr&#237;ticos.&#8221;</em></p><div><hr></div><h2>A Honestidade Refrescante Sobre O Que Vem A Seguir</h2><p>Apesar de sua provocativa afirma&#231;&#227;o sobre AGI, Daniela disse algo notavelmente c&#226;ndido sobre a trajet&#243;ria futura: <strong>n&#227;o sabemos se as abordagens atuais continuar&#227;o funcionando</strong>.</p><p><em>&#8220;O exponencial continua at&#233; n&#227;o continuar&#8221;</em>, ela explicou, notando que sua equipe tem sido consistentemente surpreendida a cada ano conforme as melhorias continuam se materializando.</p><p>Essa incerteza existe apesar da Anthropic estar na fronteira do desenvolvimento de IA, com algumas das maiores expertises do mundo em leis de escala e metodologias de treinamento.</p><p>Ela tamb&#233;m fez uma distin&#231;&#227;o crucial que a maioria das discuss&#245;es sobre IA ignora: <strong>a lacuna entre capacidade tecnol&#243;gica e ado&#231;&#227;o no mundo real</strong>.</p><p>A tecnologia continua avan&#231;ando rapidamente. A Anthropic cresceu de 2,9 milh&#245;es de usu&#225;rios mensais em janeiro de 2024 para 18,9 milh&#245;es no in&#237;cio de 2025, com receita anualizada atingindo $850 milh&#245;es.</p><p>Mas capacidade t&#233;cnica n&#227;o se traduz instantaneamente em transforma&#231;&#227;o social. Processos de aquisi&#231;&#227;o se movem lentamente. Gest&#227;o de mudan&#231;as leva tempo. Desafios de integra&#231;&#227;o criam atrito.</p><p><strong>A defasagem entre &#8220;a IA pode tecnicamente fazer isso&#8221; e &#8220;organiza&#231;&#245;es realmente implantam IA para isso&#8221; permanece substancial e frequentemente subestimada</strong>.</p><div><hr></div><h2>A Realidade Pr&#225;tica Sob o Hype</h2><p>A reformula&#231;&#227;o de Daniela corta atrav&#233;s do ciclo de hype da AGI para focar em impacto mensur&#225;vel.</p><p>Empresas j&#225; est&#227;o construindo sistemas de produ&#231;&#227;o em torno das capacidades do Claude.</p><p>A <strong>Carta Healthcare implantou o Claude via Amazon Bedrock</strong> para abstra&#231;&#227;o de dados cl&#237;nicos de prontu&#225;rios m&#233;dicos de pacientes, chamando-o de <em>&#8220;uma reinven&#231;&#227;o completa de entender o prontu&#225;rio m&#233;dico de um paciente&#8221;</em>. O sistema reduz cronogramas de implementa&#231;&#227;o e d&#225; a membros de equipe n&#227;o-t&#233;cnicos capacidades de n&#237;vel desenvolvedor.</p><p>A <strong>Microsoft integrou modelos Claude no Azure Foundry</strong>, permitindo que desenvolvedores construam agentes de IA que podem consultar logs do Azure DevOps, diagnosticar a causa raiz, recomendar uma corre&#231;&#227;o e acionar uma implanta&#231;&#227;o de patch &#8212; tudo automaticamente.</p><p><strong>Essas n&#227;o s&#227;o demos futuristas. S&#227;o implanta&#231;&#245;es de produ&#231;&#227;o acontecendo agora, <a href="https://www.guilhermefavaron.com.br/p/curso-ia-negocios-gratuito-youtube?utm_source=publication-search">entregando valor de neg&#243;cio mensur&#225;vel</a></strong>.</p><div><hr></div><h2>Conclus&#227;o: Al&#233;m do Debate Sem&#226;ntico</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a3gY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a3gY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 424w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 848w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 1272w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a3gY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png" width="2816" height="1388" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff3ea3b8-c5b9-46ad-b771-9a3756128d90_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1388,&quot;width&quot;:2816,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7807209,&quot;alt&quot;:&quot;AGI / singularidade ja chegou?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/185065603?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3ea3b8-c5b9-46ad-b771-9a3756128d90_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AGI / singularidade ja chegou?" title="AGI / singularidade ja chegou?" srcset="https://substackcdn.com/image/fetch/$s_!a3gY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 424w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 848w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 1272w, https://substackcdn.com/image/fetch/$s_!a3gY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bcb74a7-e6f9-407a-af5e-c41f3a3d9aa7_2816x1388.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Como nos preparamos para um mundo onde essa distin&#231;&#227;o entre AGI ou IA Estreita pode n&#227;o importar mais?</figcaption></figure></div><p>O debate sem&#226;ntico sobre se devemos chamar isso de AGI importa muito menos do que a quest&#227;o pr&#225;tica de como indiv&#237;duos, organiza&#231;&#245;es e sociedades respondem a essas capacidades que mudam rapidamente.</p><p>Eu ainda n&#227;o chamo isso de AGI. Voc&#234; pode discordar. <strong>E tudo bem</strong>.</p><p>O que n&#227;o podemos fazer &#233; ficar paralisados pelo debate definicional enquanto a transforma&#231;&#227;o acontece ao nosso redor. Seja qual for o r&#243;tulo que escolhemos, a realidade permanece a mesma:</p><ul><li><p>A IA j&#225; est&#225; realizando trabalho de n&#237;vel especialista em dom&#237;nios economicamente cr&#237;ticos</p></li><li><p>As organiza&#231;&#245;es est&#227;o adaptando seus fluxos de trabalho em tempo real</p></li><li><p>A natureza do trabalho humano est&#225; mudando fundamentalmente</p></li><li><p>As quest&#245;es de distribui&#231;&#227;o econ&#244;mica se tornam cada vez mais urgentes</p></li></ul><p><strong>A verdadeira quest&#227;o n&#227;o &#233; &#8220;a AGI chegou?&#8221; &#8212; &#233; &#8220;como nos preparamos para um mundo onde essa distin&#231;&#227;o pode n&#227;o importar mais?&#8221;</strong></p><div><hr></div><p><em>Publicado originalmente em <a href="https://www.guilhermefavaron.com.br">guilhermefavaron.com.br</a></em></p>]]></content:encoded></item><item><title><![CDATA[Robótica no Brasil 2028: Guia Completo Para Mudar de Carreira em 24 Meses]]></title><description><![CDATA[Prepare-se para a onda de rob&#243;tica que chegar&#225; ao Brasil em 2028. Roteiro pr&#225;tico de 24 meses para mudar de carreira, do zero ao profissional requisitado.]]></description><link>https://www.guilhermefavaron.com.br/p/robotica-no-brasil-2028-guia-completo</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/robotica-no-brasil-2028-guia-completo</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 05 Jan 2026 11:40:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-gA_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A rob&#243;tica vai transformar o mercado de trabalho brasileiro nos pr&#243;ximos dois anos. Assim como agentes de IA dominam as conversas hoje, rob&#244;s acess&#237;veis dominar&#227;o a partir de 2028. Este guia mostra o caminho pr&#225;tico &#8212; m&#234;s a m&#234;s &#8212; para voc&#234; se preparar, independente da sua forma&#231;&#227;o atual. Detalho abaixo os passos concretos, com custos reais e habilidades espec&#237;ficas que o mercado j&#225; come&#231;a a demandar.</p><pre><code>Esse artigo surgiu a partir da seguinte reflex&#227;o: quais compet&#234;ncias posso estimular nos meus filhos para que estejam preparados para o futuro? E ap&#243;s ler muita coisa, ver v&#237;deos catastr&#243;ficos, fazer muitos projetos com agentes de IA e analisar a evolu&#231;&#227;o que est&#225; acontecendo, estou seguro que temos uma excelente oportunidade &#224; frente. 

Em 2 anos uma onda chegar&#225; ao Brasil e voc&#234; pode fazer parte dela, n&#227;o importa sua forma&#231;&#227;o.

A partir de agora n&#227;o compro mais legos para meus filhos... apenas kits de rob&#243;tica ;)</code></pre><div><hr></div><h2>Por que a rob&#243;tica vai explodir no Brasil em 2028?</h2><p>Quatro for&#231;as est&#227;o convergindo para criar uma janela de oportunidade &#250;nica:</p><ul><li><p>O custo de hardware despencou: microcontroladores como ESP32 custam menos de R$50 e j&#225; incluem Wi-Fi, Bluetooth e capacidade de IA embarcada. </p></li><li><p>Rob&#244;s humanoides que custavam US$250.000 agora t&#234;m vers&#245;es de entrada por US$20.000. </p></li><li><p>O software amadureceu: bibliotecas open-source como ROS 2 e LeRobot eliminaram anos de trabalho que antes precisavam ser feitos do zero. </p></li><li><p>E a IA generativa mudou tudo: modelos VLA (Vision-Language-Action) permitem que rob&#244;s entendam comandos em linguagem natural e executem tarefas sem programa&#231;&#227;o espec&#237;fica.</p></li></ul><p>O mercado global de <a href="https://www.mordorintelligence.com/industry-reports/service-robotics-market">rob&#243;tica de servi&#231;o deve atingir US$72 bilh&#245;es em 2026</a>, com crescimento anual de 15% a 17%. O Brasil, com sua <a href="https://www.semanticscholar.org/paper/a458578ae14f5df031cb2605058d4a62c4df4297">demanda reprimida em log&#237;stica, agricultura e servi&#231;os</a>, ser&#225; um dos mercados que mais crescer&#225; <a href="https://preprod.bain.com/contentassets/2272d051abbd4e1d818fb9908703de78/bain_brief__tipping_points_when_to_bet_on_new_technologies.pdf">quando os pre&#231;os atingirem o ponto de virada &#8212; previsto para 2028</a>.</p><h3>O que mudou nos &#250;ltimos 2 anos?</h3><p>Antes, construir um rob&#244; funcional exigia anos de estudo em engenharia mec&#226;nica, eletr&#244;nica e programa&#231;&#227;o especializada. Hoje, o ecossistema de componentes comoditizados e software maduro permite que algu&#233;m com qualquer background construa prot&#243;tipos funcionais em semanas.</p><p>A diferen&#231;a &#233; compar&#225;vel ao que aconteceu com desenvolvimento web nos anos 2000: antes voc&#234; precisava dominar servidores, redes e linguagens obscuras. Hoje, qualquer pessoa cria um site funcional em horas. A rob&#243;tica est&#225; no mesmo ponto de inflex&#227;o.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ui3s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ui3s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 424w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 848w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ui3s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png" width="1056" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2949b1e8-cc90-4339-991e-e526a6808499_1056x768.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1056,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125539,&quot;alt&quot;:&quot;Converg&#234;ncia de Oportunidades Rob&#243;ticas em 2028&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/182267859?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2949b1e8-cc90-4339-991e-e526a6808499_1056x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Converg&#234;ncia de Oportunidades Rob&#243;ticas em 2028" title="Converg&#234;ncia de Oportunidades Rob&#243;ticas em 2028" srcset="https://substackcdn.com/image/fetch/$s_!ui3s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 424w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 848w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 1272w, https://substackcdn.com/image/fetch/$s_!ui3s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc483d1a2-fc65-45f7-9430-e9ed13d18c1b_1056x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Converg&#234;ncia de Oportunidades Rob&#243;ticas em 2028</figcaption></figure></div><div><hr></div><h2>Quem pode aproveitar essa oportunidade?</h2><p>Qualquer pessoa disposta a investir 4 a 6 horas semanais pelos pr&#243;ximos 24 meses pode se posicionar nesse mercado. A onda de rob&#243;tica n&#227;o vai exigir apenas engenheiros de hardware &#8212; assim como a onda de IA n&#227;o exigiu apenas PhDs em machine learning. O mercado vai precisar de integradores, desenvolvedores de aplica&#231;&#245;es, profissionais de suporte, vendedores t&#233;cnicos e empreendedores.</p><p>Se voc&#234; vem de software, sua vantagem &#233; enorme: l&#243;gica de programa&#231;&#227;o, arquitetura de sistemas e debugging s&#227;o diretamente transfer&#237;veis. Se vem de &#225;reas n&#227;o-t&#233;cnicas, o caminho &#233; um pouco mais longo, mas perfeitamente vi&#225;vel. A chave &#233; come&#231;ar pelos fundamentos corretos e n&#227;o pular etapas.</p><h3>Preciso de forma&#231;&#227;o em engenharia?</h3><p>N&#227;o. Forma&#231;&#227;o acad&#234;mica ajuda, mas n&#227;o &#233; requisito. O ecossistema atual foi constru&#237;do para ser acess&#237;vel. Plataformas como Arduino foram criadas especificamente para n&#227;o-engenheiros. O que voc&#234; precisa &#233; de disciplina para seguir um roteiro estruturado e disposi&#231;&#227;o para aprender com erros pr&#225;ticos&#8230; e voc&#234; vai cometer muitos.</p><div><hr></div><h2>Qual &#233; o roteiro de 24 meses para dominar rob&#243;tica?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-gA_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-gA_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-gA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fb8df3d-6683-4fe7-a2f1-c034e8c90587_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6488902,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/182267859?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fb8df3d-6683-4fe7-a2f1-c034e8c90587_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-gA_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!-gA_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2879b99-a632-4c68-821d-2c8505c1c1fe_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Roteiro de carreira de 24 meses</figcaption></figure></div><p>O caminho ideal divide-se em quatro fases de seis meses cada. A primeira fase foca em fundamentos de eletr&#244;nica e programa&#231;&#227;o b&#225;sica de microcontroladores. A segunda avan&#231;a para sensores, atuadores e controle de motores. A terceira introduz conectividade, IoT e percep&#231;&#227;o computacional. A quarta fase consolida com projetos complexos, ROS 2 e especializa&#231;&#227;o. Detalho abaixo cada uma delas.</p><h3>Fase 1 (Meses 1-6): Fundamentos s&#243;lidos</h3><p><strong>Meses 1-2: Eletr&#244;nica b&#225;sica</strong></p><p>Comece entendendo Lei de Ohm, resistores, capacitores e LEDs. Parece trivial, mas 80% das frustra&#231;&#245;es em rob&#243;tica v&#234;m de problemas b&#225;sicos de circuito. Compre um kit Arduino (R$150-200) e fa&#231;a os 10 primeiros projetos: piscar LED, ler bot&#227;o, controlar brilho com PWM, sensor de temperatura com display.</p><p>Ferramentas essenciais: mult&#237;metro (R$50), protoboard, jumpers e um ferro de solda b&#225;sico.</p><p><strong>Meses 3-4: Programa&#231;&#227;o de microcontroladores</strong></p><p>Domine a programa&#231;&#227;o em C/C++ para Arduino. Entenda loops, fun&#231;&#245;es, interrup&#231;&#245;es e comunica&#231;&#227;o serial. O objetivo &#233; conseguir ler qualquer sensor e controlar qualquer atuador b&#225;sico. Fa&#231;a pelo menos um projeto que combine entrada (sensor) e sa&#237;da (motor ou display).</p><p><strong>Meses 5-6: Primeiro rob&#244; m&#243;vel</strong></p><p>Construa um carrinho de duas rodas com controle remoto via Bluetooth ou Wi-Fi. Esse projeto integra tudo que voc&#234; aprendeu: eletr&#244;nica de pot&#234;ncia (motor), controle (PWM), comunica&#231;&#227;o e programa&#231;&#227;o. Documente tudo pois esse ser&#225; seu primeiro item de portf&#243;lio.</p><h3>Fase 2 (Meses 7-12): Atua&#231;&#227;o e controle</h3><p><strong>Meses 7-8: Motores e drivers</strong></p><p>Estude os tr&#234;s tipos principais: DC, servo e stepper. Entenda pontes H, drivers como L298N e TB6612, e o conceito fundamental de PWM para controle de velocidade. A diferen&#231;a entre um rob&#244; funcional e um frustrante est&#225; quase sempre na qualidade do controle de motor.</p><p><strong>Meses 9-10: Controle com feedback</strong></p><p>Introduza encoders e aprenda PID (Proporcional-Integral-Derivativo). Sem feedback, seu rob&#244; &#233; cego &#8212; ele n&#227;o sabe se est&#225; fazendo o que voc&#234; mandou. Com encoder e PID, voc&#234; tem controle real de posi&#231;&#227;o e velocidade. Esse conhecimento separa amadores de profissionais.</p><p><strong>Meses 11-12: Sensores avan&#231;ados</strong></p><p>Explore ultrass&#244;nico (dist&#226;ncia), IMU (orienta&#231;&#227;o), LiDAR b&#225;sico e c&#226;meras. Construa um rob&#244; que desvia de obst&#225;culos autonomamente. Esse projeto demonstra capacidade de integrar m&#250;ltiplos sensores e tomar decis&#245;es em tempo real.</p><h3>Fase 3 (Meses 13-18): Conectividade e percep&#231;&#227;o</h3><p><strong>Meses 13-14: ESP32 e IoT</strong></p><p>Migre do Arduino para ESP32. Aprenda conex&#227;o Wi-Fi, protocolo MQTT, web servers embarcados e OTA (atualiza&#231;&#227;o remota). O ESP32 &#233; o cora&#231;&#227;o da maioria dos projetos IoT e rob&#243;tica de baixo custo. Construa um sistema de monitoramento remoto com dashboard.</p><p><strong>Meses 15-16: Vis&#227;o computacional b&#225;sica</strong></p><p>Introduza c&#226;meras e processamento de imagem. Comece com detec&#231;&#227;o de cores e formas, avance para reconhecimento de objetos com modelos pr&#233;-treinados. Use ESP32-CAM ou Raspberry Pi com c&#226;mera. Construa um rob&#244; que segue uma linha ou identifica objetos espec&#237;ficos.</p><p><strong>Meses 17-18: Edge AI e TinyML</strong></p><p>Explore modelos de IA que rodam no pr&#243;prio microcontrolador. TensorFlow Lite Micro e Edge Impulse permitem reconhecimento de voz e imagem sem depender de cloud. Implemente detec&#231;&#227;o de anomalias ou reconhecimento de gestos em um projeto real.</p><h3>Fase 4 (Meses 19-24): Profissionaliza&#231;&#227;o</h3><p><strong>Meses 19-20: ROS 2</strong></p><p>Entre no ecossistema profissional de rob&#243;tica. ROS 2 (Robot Operating System) &#233; o padr&#227;o da ind&#250;stria para sistemas complexos. Aprenda n&#243;s, t&#243;picos, servi&#231;os e a&#231;&#245;es. Construa um rob&#244; com teleopera&#231;&#227;o, mapeamento e navega&#231;&#227;o b&#225;sica.</p><p><strong>Meses 21-22: Projeto integrador</strong></p><p>Desenvolva um projeto completo que resolva um problema real. Pode ser automa&#231;&#227;o residencial, inspe&#231;&#227;o, monitoramento agr&#237;cola ou rob&#244; de servi&#231;o. Documente com v&#237;deos, c&#243;digo no GitHub e artigo t&#233;cnico. Esse ser&#225; seu cart&#227;o de visita profissional.</p><p><strong>Meses 23-24: Especializa&#231;&#227;o</strong></p><p>Escolha uma vertical: rob&#243;tica industrial, drones, humanoides, automa&#231;&#227;o residencial ou AgTech. Aprofunde-se em certifica&#231;&#245;es, networking e posicionamento profissional. Participe de competi&#231;&#245;es, hackathons ou contribua com projetos open-source.</p><div><hr></div><h2>Quanto preciso investir para aprender rob&#243;tica?</h2><p>O investimento m&#237;nimo para os primeiros 6 meses &#233; de R$300 a R$500 em hardware, mais R$100-150 em ferramentas b&#225;sicas. Isso inclui kit Arduino, sensores variados, motores, protoboard e mult&#237;metro. Cursos online de qualidade variam de gratuitos (tutoriais ROS 2, Random Nerd Tutorials) a R$200-500 (Udemy, cursos especializados). O investimento total ao longo de 24 meses fica entre R$1.500 e R$3.000.</p><h3>Vale a pena fazer curso presencial?</h3><p>Cursos presenciais aceleram o aprendizado inicial, especialmente para quem n&#227;o tem background t&#233;cnico. O SENAI oferece cursos de mecatr&#244;nica e automa&#231;&#227;o com boa rela&#231;&#227;o custo-benef&#237;cio. Universidades t&#234;m extens&#245;es e p&#243;s-gradua&#231;&#245;es para quem busca credenciais formais. Mas a maior parte do aprendizado vir&#225; da pr&#225;tica autodidata &#8212; <em>n&#227;o existe atalho para substituir as horas de bancada</em>.</p><div><hr></div><h2>Quais carreiras v&#227;o surgir com a onda de rob&#243;tica?</h2><p>O mercado vai demandar cinco perfis principais:</p><ul><li><p>Integradores de sistemas: profissionais que configuram e implantam rob&#244;s comerciais em empresas. </p></li><li><p>Desenvolvedores de aplica&#231;&#245;es: quem cria software para rob&#244;s existentes. </p></li><li><p>T&#233;cnicos de manuten&#231;&#227;o: essenciais quando a frota de rob&#244;s crescer. </p></li><li><p>Especialistas em IA embarcada: profissionais que otimizam modelos para hardware limitado. </p></li><li><p>Empreendedores: quem identificar nichos espec&#237;ficos do mercado brasileiro ter&#225; vantagem competitiva.</p></li></ul><p>O modelo de Robotics-as-a-Service (RaaS) &#8212; onde empresas alugam rob&#244;s em vez de comprar &#8212; <a href="https://preprod.bain.com/contentassets/2272d051abbd4e1d818fb9908703de78/bain_brief__tipping_points_when_to_bet_on_new_technologies.pdf">deve gerar US$34 bilh&#245;es globalmente at&#233; 2026, com 1,3 milh&#227;o de instala&#231;&#245;es</a>. <a href="https://www.igi-global.com/chapter/intelligent-control-systems-for-smart-industrial-automation-and-robotics/378521">Esse modelo reduz barreiras de entrada para clientes</a> e cria demanda por profissionais de opera&#231;&#227;o e suporte.</p><h3>Qual sal&#225;rio posso esperar?</h3><p>Profissionais de rob&#243;tica j&#250;nior no Brasil ganham entre R$4.000 e R$8.000. N&#237;vel pleno, de R$10.000 a R$18.000. Especialistas s&#234;nior e l&#237;deres t&#233;cnicos ultrapassam R$25.000. O mercado ainda &#233; pequeno, mas a escassez de profissionais qualificados empurra sal&#225;rios para cima. Profissionais que dominam tanto hardware quanto software s&#227;o especialmente valorizados.</p><div><hr></div><h2>E se eu n&#227;o tiver forma&#231;&#227;o t&#233;cnica?</h2><p>Comece pela <a href="https://www.makerhero.com/produto/kit-maker-arduino-iniciante/">Trilha Maker/IoT: ESP32</a>, projetos de automa&#231;&#227;o simples e conectividade. Essa trilha gera resultados vis&#237;veis em semanas e constr&#243;i confian&#231;a. O framework Arduino foi criado para artistas e designers, pessoas sem forma&#231;&#227;o t&#233;cnica, conseguirem criar projetos interativos. Use essa porta de entrada.</p><p>A curva de aprendizado mais &#237;ngreme est&#225; nos fundamentos de eletr&#244;nica. Dedique tempo extra nos meses 1-2 para entender tens&#227;o, corrente, resist&#234;ncia e pot&#234;ncia. Simuladores como <a href="https://wokwi.com/">Wokwi</a> e <a href="https://falstad.com/circuit/circuitjs.html">Falstad</a> permitem praticar sem risco de queimar componentes. Erre muito no simulador antes de ir para o hardware real.</p><h3>Ingl&#234;s &#233; obrigat&#243;rio?</h3><p>Altamente recomendado. A maioria dos recursos de qualidade &#8212; documenta&#231;&#227;o oficial, f&#243;runs, papers &#8212; est&#225; em ingl&#234;s. Voc&#234; consegue avan&#231;ar com tradutores autom&#225;ticos, mas seu progresso ser&#225; 2x mais lento. Se seu ingl&#234;s &#233; b&#225;sico, invista em paralelo. &#201; uma habilidade que multiplica todas as outras.</p><div><hr></div><h2>Onde encontrar recursos para estudar no Brasil?</h2><p>Lojas brasileiras de componentes: Eletrogate, RoboCore, MakerHero e UsinaInfo oferecem kits completos com apostilas. O <a href="https://www.eletrogate.com/kit-arduino-maker">Kit Arduino Maker da Eletrogate</a> (R$200-250) &#233; um ponto de partida s&#243;lido com projetos guiados.</p><p>Cursos online em portugu&#234;s: <a href="https://www.udemy.com/courses/search/?src=ukw&amp;q=arduino">Udemy tem cursos de Arduino e ESP32</a> por R$30-100 em promo&#231;&#245;es. O Centro Paula Souza tem MOOCs gratuitos de Arduino.</p><p>Documenta&#231;&#227;o oficial: <a href="https://docs.ros.org/en/kilted/Tutorials.html">ROS 2 Tutorials</a> (em ingl&#234;s, mas com tradu&#231;&#227;o autom&#225;tica funcional), <a href="https://docs.espressif.com/projects/esp-idf/en/stable/esp32/index.html">documenta&#231;&#227;o Espressif para ESP32,</a> e <a href="https://randomnerdtutorials.com/">Random Nerd Tutorials</a> &#8212; o melhor recurso gratuito para ESP32 em ingl&#234;s.</p><p>Comunidades: F&#243;runs do Arduino, Reddit (r/arduino, r/esp32), Discord de makers brasileiros. Participar de comunidades acelera o aprendizado e abre portas para oportunidades.</p><div><hr></div><h2>Como saber se estou no caminho certo?</h2><p>Defina marcos claros a cada 3 meses. Ao final do m&#234;s 3, voc&#234; deve conseguir ler qualquer sensor I2C e controlar um motor DC com PWM. Ao final do m&#234;s 6, seu carrinho controlado remotamente precisa funcionar. Ao final do m&#234;s 12, voc&#234; deve ter um rob&#244; que desvia de obst&#225;culos sozinho. Ao final do m&#234;s 18, um projeto IoT com dashboard funcionando. Ao final do m&#234;s 24, um portf&#243;lio com pelo menos 3 projetos documentados e c&#243;digo no GitHub.</p><div class="pullquote"><p>Se voc&#234; travar em algum ponto, n&#227;o pule, resolva. A rob&#243;tica &#233; cumulativa: cada conceito depende dos anteriores. Pular etapas gera frustra&#231;&#227;o depois. Prefira avan&#231;ar devagar com fundamentos s&#243;lidos do que correr e acumular lacunas.</p></div><h3>O que separa quem consegue de quem desiste?</h3><p>Consist&#234;ncia supera intensidade. Quatro horas por semana, toda semana, durante dois anos, &#233; mais efetivo que 40 horas em um m&#234;s seguidas de abandono. Documente seu progresso &#8212; fotos, v&#237;deos, c&#243;digo no GitHub. Ver a evolu&#231;&#227;o tang&#237;vel mant&#233;m a motiva&#231;&#227;o. E encontre um projeto que voc&#234; realmente queira construir. <strong>A rob&#243;tica &#233; dif&#237;cil demais para aprender algo que voc&#234; n&#227;o quer fazer.</strong></p><div><hr></div><h2>O momento &#233; agora</h2><p>A janela de oportunidade est&#225; aberta. Em 2028, quando a onda de rob&#243;tica chegar com for&#231;a no Brasil, haver&#225; dois grupos: os que se prepararam e os que v&#227;o correr atr&#225;s. Voc&#234; tem 24 meses para decidir em qual grupo estar&#225;.</p><p>Ano novo, vida nova &#8212; mas s&#243; se voc&#234; fizer diferente. Compre seu primeiro kit esta semana. Fa&#231;a o primeiro projeto neste m&#234;s. E siga o roteiro. Daqui a dois anos, voc&#234; vai agradecer a si mesmo.</p><div class="pullquote"><p>O primeiro passo &#233; o mais dif&#237;cil. Os 23 meses seguintes s&#227;o mais f&#225;ceis.</p></div>]]></content:encoded></item><item><title><![CDATA[Como Criar um Modelo de Machine Learning a Partir de Planilhas: Guia Completo]]></title><description><![CDATA[Pipeline completo de machine learning: da planilha bruta ao modelo preditivo. 5 etapas pr&#225;ticas com m&#233;tricas reais, c&#243;digo dispon&#237;vel e checklist de implementa&#231;&#227;o.]]></description><link>https://www.guilhermefavaron.com.br/p/como-criar-um-modelo-de-machine-learning</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/como-criar-um-modelo-de-machine-learning</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Sat, 03 Jan 2026 03:20:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d97a5d5-e4c9-442d-aeb6-e519be23e60d_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Transformar dados de planilhas em modelos preditivos de machine learning &#233; mais acess&#237;vel do que parece. O processo envolve 5 etapas principais: an&#225;lise explorat&#243;ria, engenharia de features, prepara&#231;&#227;o dos dados, modelagem supervisionada (classifica&#231;&#227;o e regress&#227;o) e implanta&#231;&#227;o. Com cerca de 5 milh&#245;es de registros de voos dos EUA, &#233; poss&#237;vel construir um modelo que prev&#234; atrasos com ROC-AUC de 0,75 e erro m&#233;dio de 18 minutos na estimativa de tempo.</strong></p><p>Este artigo detalha cada etapa de um pipeline completo de machine learning, desde a planilha bruta at&#233; uma aplica&#231;&#227;o funcional. O caso de uso demonstra previs&#227;o de atrasos em voos, mas a metodologia se aplica a diversos cen&#225;rios empresariais: previs&#227;o de churn, an&#225;lise de processos jur&#237;dicos, manuten&#231;&#227;o preditiva de equipamentos ou proje&#231;&#245;es financeiras.</p><div><hr></div><h2>Quais s&#227;o os casos de uso pr&#225;ticos para modelos preditivos baseados em planilhas?</h2><p><strong>Qualquer organiza&#231;&#227;o com dados hist&#243;ricos tabulados pode criar modelos de previs&#227;o. Escrit&#243;rios de advocacia analisam potencial de sucesso em processos. F&#225;bricas preveem falhas em equipamentos. Empresas de servi&#231;os estimam probabilidade de renova&#231;&#227;o ou churn. Times de marketing avaliam campanhas antes do lan&#231;amento. A chave est&#225; em ter dados estruturados com vari&#225;veis que se correlacionam com o resultado desejado.</strong></p><p>O denominador comum entre esses casos &#233; a exist&#234;ncia de um hist&#243;rico de decis&#245;es ou eventos com seus respectivos resultados. Se uma planilha cont&#233;m registros passados com a informa&#231;&#227;o que se deseja prever, h&#225; potencial para um modelo de machine learning.</p><p>No caso demonstrado neste artigo, tr&#234;s planilhas com aproximadamente 5 milh&#245;es de voos dos Estados Unidos e 40 vari&#225;veis servem como base para prever duas coisas: se um voo vai atrasar (classifica&#231;&#227;o bin&#225;ria) e quanto tempo vai atrasar (regress&#227;o).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XcHB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XcHB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XcHB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/33a73fab-f899-4e25-9fc7-d7e07cab3399_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6287785,&quot;alt&quot;:&quot;Exemplos de casos de uso pr&#225;ticos para modelos preditivos baseados em planilhas&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F33a73fab-f899-4e25-9fc7-d7e07cab3399_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Exemplos de casos de uso pr&#225;ticos para modelos preditivos baseados em planilhas" title="Exemplos de casos de uso pr&#225;ticos para modelos preditivos baseados em planilhas" srcset="https://substackcdn.com/image/fetch/$s_!XcHB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!XcHB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b271e83-b6f3-4b1b-a8c4-c16566ca80c4_2816x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Exemplos de casos de uso pr&#225;ticos para modelos preditivos baseados em planilhas</figcaption></figure></div><div><hr></div><h2>Como funciona a estrutura de um projeto de machine learning?</h2><p><strong>Um projeto de ML bem organizado segue uma estrutura de pastas que separa dados brutos, processados e prontos para modelagem. Os notebooks Jupyter cont&#234;m o c&#243;digo e suas sa&#237;das documentadas. A pasta de modelos armazena os algoritmos treinados. Relat&#243;rios guardam visualiza&#231;&#245;es, e arquivos auxiliares ficam em uma pasta de c&#243;digo-fonte separada.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_s09!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_s09!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 424w, https://substackcdn.com/image/fetch/$s_!_s09!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 848w, https://substackcdn.com/image/fetch/$s_!_s09!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!_s09!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_s09!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png" width="1020" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161102,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_s09!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 424w, https://substackcdn.com/image/fetch/$s_!_s09!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 848w, https://substackcdn.com/image/fetch/$s_!_s09!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!_s09!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5f7f152-0384-4469-aa37-65757a2f2b51_1020x1032.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A organiza&#231;&#227;o proposta:</p><ul><li><p><strong>data/</strong>: dados brutos (raw), processados e prontos para modelagem</p></li><li><p><strong>notebooks/</strong>: arquivos Jupyter com o pipeline de ML documentado</p></li><li><p><strong>models/</strong>: modelos de machine learning salvos ap&#243;s treinamento</p></li><li><p><strong>reports/</strong>: imagens e visualiza&#231;&#245;es geradas para an&#225;lise</p></li><li><p><strong>src/</strong>: scripts auxiliares para transforma&#231;&#245;es e testes</p></li></ul><p>Os Notebooks Jupyter s&#227;o particularmente &#250;teis nesse contexto porque permitem combinar texto explicativo com c&#243;digo execut&#225;vel, mantendo as sa&#237;das de cada fun&#231;&#227;o vis&#237;veis. Isso facilita a documenta&#231;&#227;o e o compartilhamento do trabalho.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ds0g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ds0g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 424w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 848w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 1272w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ds0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png" width="2048" height="1186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05218667-6320-4b0d-ae58-6c0b9b7a5cde_2048x1186.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1186,&quot;width&quot;:2048,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4719570,&quot;alt&quot;:&quot;Estrutura do Projeto de Machine Learning a partir de .csv&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6874f284-caf1-48fe-992a-77fe609c9359_2048x2080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Estrutura do Projeto de Machine Learning a partir de .csv" title="Estrutura do Projeto de Machine Learning a partir de .csv" srcset="https://substackcdn.com/image/fetch/$s_!Ds0g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 424w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 848w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 1272w, https://substackcdn.com/image/fetch/$s_!Ds0g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb52a9e2a-651f-4cba-b277-37174774bb3a_2048x1186.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Estrutura do Projeto de Machine Learning a partir de .csv</figcaption></figure></div><div><hr></div><h2>O que &#233; An&#225;lise Explorat&#243;ria de Dados (EDA) e por que ela &#233; cr&#237;tica?</h2><p><strong>A EDA &#233; a fase de compreens&#227;o profunda dos dados antes de qualquer modelagem. Envolve carregamento, estat&#237;sticas descritivas completas, visualiza&#231;&#245;es que revelam insights e identifica&#231;&#227;o de padr&#245;es e outliers. No caso dos voos, a an&#225;lise revelou que 56% dos voos s&#227;o adiantados, 18% atrasam mais de 15 minutos, e existem padr&#245;es claros por hor&#225;rio, dia da semana e companhia a&#233;rea.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XOAI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XOAI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XOAI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc01f234-313c-44f1-83a7-3f9d5f389612_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6436570,&quot;alt&quot;:&quot;An&#225;lise Explorat&#243;ria de Dados (EDA)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc01f234-313c-44f1-83a7-3f9d5f389612_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="An&#225;lise Explorat&#243;ria de Dados (EDA)" title="An&#225;lise Explorat&#243;ria de Dados (EDA)" srcset="https://substackcdn.com/image/fetch/$s_!XOAI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!XOAI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2c3f4b8-1a24-44f2-b22e-3f67f6600c01_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">An&#225;lise Explorat&#243;ria de Dados (EDA)</figcaption></figure></div><p>Pular essa etapa &#233; um erro comum que compromete todo o projeto. A EDA responde perguntas fundamentais: qual a distribui&#231;&#227;o das vari&#225;veis? Existem valores ausentes? H&#225; correla&#231;&#245;es &#243;bvias? Quais features parecem mais relevantes?</p><p>No dataset de voos, a an&#225;lise explorat&#243;ria mostrou que a maioria dos voos n&#227;o apenas chega no hor&#225;rio, mas chega antes do previsto. Os atrasos significativos (acima de 15 minutos) representam menos de um quinto do total. Esse desbalanceamento de classes &#233; uma informa&#231;&#227;o crucial para a modelagem.</p><div><hr></div><h2>O que &#233; Engenharia de Features e como ela impacta a qualidade do modelo?</h2><p><strong>Engenharia de features transforma dados brutos em vari&#225;veis &#250;teis para algoritmos de ML. O processo inclui limpeza de dados ausentes, normaliza&#231;&#227;o de escalas, codifica&#231;&#227;o de categorias e cria&#231;&#227;o de novas vari&#225;veis derivadas. No projeto, foram tratados mais de 30 milh&#245;es de valores ausentes (redu&#231;&#227;o de 97%) e criadas 20 novas features, incluindo per&#237;odo do dia, esta&#231;&#227;o, taxas hist&#243;ricas de atraso e caracter&#237;sticas geogr&#225;ficas.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-k0k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-k0k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-k0k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3a486f2-d6c2-47bc-93a7-34f64bdf6318_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5917080,&quot;alt&quot;:&quot;Engenharia de Features: Transforma&#231;&#227;o de Dados Brutos em Sinal Preditivo&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3a486f2-d6c2-47bc-93a7-34f64bdf6318_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Engenharia de Features: Transforma&#231;&#227;o de Dados Brutos em Sinal Preditivo" title="Engenharia de Features: Transforma&#231;&#227;o de Dados Brutos em Sinal Preditivo" srcset="https://substackcdn.com/image/fetch/$s_!-k0k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!-k0k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b23acde-13d3-4037-8874-3c42e8addbdf_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Engenharia de Features: Transforma&#231;&#227;o de Dados Brutos em Sinal Preditivo</figcaption></figure></div><p>Esta etapa &#233; frequentemente subestimada, mas tem impacto direto na performance do modelo. Algoritmos de ML aprendem a partir das features fornecidas. Dados ruins ou pouco informativos geram previs&#245;es fracas, independentemente da sofistica&#231;&#227;o do algoritmo utilizado.</p><p>Exemplos de features criadas para o modelo de voos:</p><ul><li><p><strong>Temporais</strong>: per&#237;odo do dia (manh&#227;, tarde, noite, madrugada), esta&#231;&#227;o do ano, final de semana vs. dia &#250;til</p></li><li><p><strong>Hist&#243;ricas</strong>: taxas de atraso por aeroporto, por companhia a&#233;rea e por rota espec&#237;fica</p></li><li><p><strong>Geogr&#225;ficas</strong>: estados de origem e destino, coordenadas</p></li></ul><p>Uma boa engenharia de features aumenta a separa&#231;&#227;o entre classes (&#8221;atrasou&#8221; vs. &#8220;n&#227;o atrasou&#8221;) e fortalece a rela&#231;&#227;o com a vari&#225;vel-alvo, melhorando m&#233;tricas e robustez do modelo.</p><div><hr></div><h2>Como preparar os dados corretamente para modelagem de machine learning?</h2><p><strong>A prepara&#231;&#227;o envolve quatro passos: sele&#231;&#227;o de features relevantes (25 no caso estudado), divis&#227;o estratificada dos dados (70% treino, 10% valida&#231;&#227;o, 20% teste), balanceamento de classes para evitar vi&#233;s, e salvamento dos objetos de pr&#233;-processamento para uso em produ&#231;&#227;o. O split estratificado garante que a propor&#231;&#227;o de voos atrasados vs. pontuais se mant&#233;m igual em cada subconjunto.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4ntv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4ntv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4ntv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0faa1c4b-a2be-43f5-b3be-03741991aacb_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6165849,&quot;alt&quot;:&quot;Prepara&#231;&#227;o dos Dados para Modelagem de Machine Learning&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0faa1c4b-a2be-43f5-b3be-03741991aacb_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prepara&#231;&#227;o dos Dados para Modelagem de Machine Learning" title="Prepara&#231;&#227;o dos Dados para Modelagem de Machine Learning" srcset="https://substackcdn.com/image/fetch/$s_!4ntv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!4ntv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5915dcfe-0740-4659-8602-0d8bc05b3d28_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Prepara&#231;&#227;o dos Dados para Modelagem de Machine Learning</figcaption></figure></div><h3>Sele&#231;&#227;o de Features</h3><p>Em vez de usar todas as 40 vari&#225;veis dispon&#237;veis, foram selecionadas 25 que demonstram rela&#231;&#227;o efetiva com atraso ou pontualidade. Isso reduz ru&#237;do, acelera o treinamento e melhora a capacidade de generaliza&#231;&#227;o do modelo.</p><h3>Split Estratificado</h3><p>A divis&#227;o dos dados em treino, valida&#231;&#227;o e teste n&#227;o pode ser aleat&#243;ria simples quando h&#225; desbalanceamento de classes. O split estratificado mant&#233;m as propor&#231;&#245;es originais em cada subconjunto, evitando vieses na avalia&#231;&#227;o.</p><h3>Balanceamento de Classes</h3><p>Como atrasos s&#227;o menos frequentes que pontualidade, um modelo n&#227;o ajustado &#8220;aprende&#8221; a sempre prever que o voo n&#227;o atrasa. As t&#233;cnicas de balanceamento (reamostragem ou pesos) for&#231;am o algoritmo a dar mais import&#226;ncia aos casos de atraso.</p><h3>Objetos de Pr&#233;-processamento</h3><p>Scalers, encoders e outras transforma&#231;&#245;es precisam ser salvos em disco. Na predi&#231;&#227;o em tempo real, os mesmos par&#226;metros de normaliza&#231;&#227;o e codifica&#231;&#227;o devem ser aplicados para manter consist&#234;ncia entre treino e produ&#231;&#227;o.</p><div><hr></div><h2>Qual a diferen&#231;a entre classifica&#231;&#227;o e regress&#227;o em machine learning?</h2><p><strong>O projeto utiliza dois tipos de modelos supervisionados complementares. A classifica&#231;&#227;o responde perguntas bin&#225;rias: o voo vai atrasar ou n&#227;o? O modelo separa dados em categorias distintas (atrasado vs. no hor&#225;rio). J&#225; a regress&#227;o prev&#234; valores cont&#237;nuos: quanto tempo vai atrasar? O modelo estima um n&#250;mero em minutos. Juntos, entregam uma previs&#227;o completa e acion&#225;vel para tomada de decis&#227;o.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wej1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wej1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!wej1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!wej1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!wej1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wej1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62f92da5-2d35-42c1-a865-487119176049_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0a267ba-980f-482e-ac59-d87cfe285764_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6555157,&quot;alt&quot;:&quot;Diferen&#231;a entre modelos de Classifica&#231;&#227;o e Regress&#227;o em Machine Learning&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a267ba-980f-482e-ac59-d87cfe285764_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diferen&#231;a entre modelos de Classifica&#231;&#227;o e Regress&#227;o em Machine Learning" title="Diferen&#231;a entre modelos de Classifica&#231;&#227;o e Regress&#227;o em Machine Learning" srcset="https://substackcdn.com/image/fetch/$s_!wej1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!wej1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!wej1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!wej1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62f92da5-2d35-42c1-a865-487119176049_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Diferen&#231;a entre modelos de Classifica&#231;&#227;o e Regress&#227;o em Machine Learning</figcaption></figure></div><p>A imagem ilustra essa distin&#231;&#227;o fundamental. No lado esquerdo, o modelo de classifica&#231;&#227;o tra&#231;a uma fronteira de decis&#227;o que separa os pontos vermelhos (atrasos) dos verdes (no hor&#225;rio). O resultado &#233; categ&#243;rico: sim ou n&#227;o.</p><p>No lado direito, o modelo de regress&#227;o ajusta uma curva aos dados para estimar valores num&#233;ricos. Em vez de categorias, a sa&#237;da &#233; um n&#250;mero &#8212; no caso, os minutos de atraso esperados (&#177;18 minutos de erro m&#233;dio).</p><p>Na pr&#225;tica, a combina&#231;&#227;o dos dois modelos oferece mais valor que cada um isoladamente. O fluxo recomendado: primeiro, o classificador determina se h&#225; probabilidade de atraso. Se positivo, o regressor estima a magnitude. Essa abordagem em duas etapas permite calibrar limiares de decis&#227;o conforme o contexto de neg&#243;cio.</p><div><hr></div><h2>Quais modelos de classifica&#231;&#227;o funcionam melhor para prever eventos bin&#225;rios?</h2><p><strong>Para classifica&#231;&#227;o bin&#225;ria (atraso sim/n&#227;o), tr&#234;s modelos foram testados: SGD Classifier como baseline r&#225;pido, Random Forest (conjunto de &#225;rvores) e XGBoost (gradiente otimizado). O melhor resultado alcan&#231;ou ROC-AUC de 0,75, F1-Score de 0,44 e Recall de 0,67. Isso significa que o modelo consegue capturar 67% dos atrasos reais, com boa separa&#231;&#227;o entre classes.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Acmo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Acmo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Acmo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c70a81a6-733e-42c6-8436-132662c5de89_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5705045,&quot;alt&quot;:&quot;Modelagem Supervisionada de Modelos de Machine Learning a partir de Planilhas&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc70a81a6-733e-42c6-8436-132662c5de89_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Modelagem Supervisionada de Modelos de Machine Learning a partir de Planilhas" title="Modelagem Supervisionada de Modelos de Machine Learning a partir de Planilhas" srcset="https://substackcdn.com/image/fetch/$s_!Acmo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Acmo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9d2bc63-7104-4268-a5a6-c045ea22cd98_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Modelagem Supervisionada de Modelos de Machine Learning a partir de Planilhas</figcaption></figure></div><h3>Entendendo as M&#233;tricas</h3><ul><li><p><strong>ROC-AUC (0,75)</strong>: mede a capacidade de separar atrasos vs. pontuais ao longo de v&#225;rios limiares de decis&#227;o. Valor 1,0 seria perfeito; 0,5 equivale a chute aleat&#243;rio.</p></li><li><p><strong>F1-Score (0,44)</strong>: combina precis&#227;o e recall. &#218;til quando o custo do erro &#233; assim&#233;trico.</p></li><li><p><strong>Recall (0,67)</strong>: quantos atrasos reais o modelo consegue identificar. Importante quando o custo de &#8220;perder&#8221; um atraso &#233; alto.</p></li></ul><h3>Data Leakage: A Armadilha Silenciosa</h3><p>Durante o desenvolvimento, foi identificado e corrigido um problema de vazamento de dados (leakage). A vari&#225;vel DELAY_MINUTES vazava informa&#231;&#227;o do futuro &#8212; ela s&#243; existe ap&#243;s o voo ocorrer, ent&#227;o n&#227;o pode entrar no modelo que prev&#234; &#8220;se vai atrasar&#8221;.</p><p>O processo de corre&#231;&#227;o envolveu identificar features suspeitas, verificar import&#226;ncias e rela&#231;&#245;es, retreinar sem as vari&#225;veis problem&#225;ticas e comparar m&#233;tricas para garantir integridade dos resultados.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b8MR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b8MR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b8MR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/012718e1-cfbd-4e15-9ebf-f3eaa9eb7f75_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7293371,&quot;alt&quot;:&quot;Data Leakage: Uso indevido de informa&#231;&#227;o futura no treinamento, inflando m&#233;tricas artificialmente.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F012718e1-cfbd-4e15-9ebf-f3eaa9eb7f75_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Data Leakage: Uso indevido de informa&#231;&#227;o futura no treinamento, inflando m&#233;tricas artificialmente." title="Data Leakage: Uso indevido de informa&#231;&#227;o futura no treinamento, inflando m&#233;tricas artificialmente." srcset="https://substackcdn.com/image/fetch/$s_!b8MR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!b8MR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb1fe25-afb0-40d8-96dc-d9cac556ebed_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Data Leakage: Uso indevido de informa&#231;&#227;o futura no treinamento, inflando m&#233;tricas artificialmente.</figcaption></figure></div><div><hr></div><h2>Como funciona a regress&#227;o para prever tempo de atraso em minutos?</h2><p><strong>Para prever quanto tempo um voo vai atrasar (vari&#225;vel cont&#237;nua), foram testados quatro modelos: Linear Regression, Ridge Regression, Random Forest Regressor e XGBoost Regressor. Os resultados mostram MAE de 17,8 minutos (erro m&#233;dio absoluto), RMSE de 36,04 minutos e R&#178; de 0,0567. O R&#178; baixo &#233; esperado devido &#224; alta variabilidade intr&#237;nseca de atrasos de voos.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yAL2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yAL2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yAL2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2ec5a16-56eb-4d50-af1c-5c2f9866583a_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5444650,&quot;alt&quot;:&quot;Regress&#227;o para previsibilidade de valores cont&#237;nuos&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2ec5a16-56eb-4d50-af1c-5c2f9866583a_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Regress&#227;o para previsibilidade de valores cont&#237;nuos" title="Regress&#227;o para previsibilidade de valores cont&#237;nuos" srcset="https://substackcdn.com/image/fetch/$s_!yAL2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!yAL2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82a96b87-24ca-49ab-bcfa-3e5b2cefae5f_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Regress&#227;o para previsibilidade de valores cont&#237;nuos</figcaption></figure></div><h3>Interpretando os Resultados</h3><p>O MAE de 17,8 minutos significa que, em m&#233;dia, o modelo erra aproximadamente 18 minutos para mais ou para menos. O RMSE mais alto (36,04) indica que existem alguns erros grandes que s&#227;o penalizados mais fortemente por essa m&#233;trica.</p><p>O R&#178; de 0,0567 pode parecer preocupante, mas &#233; comum na literatura de previs&#227;o de atrasos. A variabilidade &#233; causada por fatores dif&#237;ceis de capturar em dados tabulados: condi&#231;&#245;es meteorol&#243;gicas em tempo real, problemas operacionais, decis&#245;es de controle de tr&#225;fego a&#233;reo e eventos imprevis&#237;veis.</p><h3>Como Usar na Pr&#225;tica</h3><p>A recomenda&#231;&#227;o &#233; tratar a previs&#227;o como uma faixa, n&#227;o um n&#250;mero exato. Por exemplo: &#8220;atraso esperado de 15 a 20 minutos&#8221;. A combina&#231;&#227;o com o modelo de classifica&#231;&#227;o tamb&#233;m agrega valor: primeiro determina-se se vai atrasar, depois estima-se quanto.</p><p>Para aplica&#231;&#245;es espec&#237;ficas, modelos segmentados por rotas, hor&#225;rios ou companhias podem oferecer precis&#227;o superior.</p><div><hr></div><h2>Qual arquitetura usar para um aplicativo de previs&#227;o de atrasos?</h2><p><strong>O aplicativo de previs&#227;o segue arquitetura em duas camadas: interface superior para sele&#231;&#227;o e ajuste de features (vari&#225;veis de entrada), e &#225;rea inferior para exibi&#231;&#227;o de resultados &#8212; previs&#227;o de atraso/pontualidade e tempo estimado quando aplic&#225;vel. O limiar de decis&#227;o pode ser ajustado conforme o custo de neg&#243;cio, sendo mais conservador para capturar mais atrasos.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JPSQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JPSQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 424w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 848w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 1272w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JPSQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png" width="1032" height="666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2bc0418-c05c-4fe7-aa1c-fe929ac2740f_1032x666.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94198,&quot;alt&quot;:&quot;Estrutura de Aplicativo para Implementa&#231;&#227;o de Modelo de Machine Learning em Produ&#231;&#227;o&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bc0418-c05c-4fe7-aa1c-fe929ac2740f_1032x666.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Estrutura de Aplicativo para Implementa&#231;&#227;o de Modelo de Machine Learning em Produ&#231;&#227;o" title="Estrutura de Aplicativo para Implementa&#231;&#227;o de Modelo de Machine Learning em Produ&#231;&#227;o" srcset="https://substackcdn.com/image/fetch/$s_!JPSQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 424w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 848w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 1272w, https://substackcdn.com/image/fetch/$s_!JPSQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dff6e5f-c7b4-4e6f-ad5d-014b96cd87c3_1032x666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Estrutura de Aplicativo para Implementa&#231;&#227;o de Modelo de Machine Learning em Produ&#231;&#227;o</figcaption></figure></div><p>A interface permite que usu&#225;rios n&#227;o-t&#233;cnicos interajam com o modelo sem precisar escrever c&#243;digo. Cada feature pode ser ajustada individualmente: companhia a&#233;rea, aeroportos de origem e destino, hor&#225;rio do voo, dia da semana, entre outras.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aKVE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aKVE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 424w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 848w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 1272w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aKVE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png" width="1456" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/367b99e2-d00e-474a-9a5e-3b00d05509d5_2506x1478.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:180132,&quot;alt&quot;:&quot;Aplicativo de Predi&#231;&#227;o de Atraso de V&#244;os&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F367b99e2-d00e-474a-9a5e-3b00d05509d5_2506x1478.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Aplicativo de Predi&#231;&#227;o de Atraso de V&#244;os" title="Aplicativo de Predi&#231;&#227;o de Atraso de V&#244;os" srcset="https://substackcdn.com/image/fetch/$s_!aKVE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 424w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 848w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 1272w, https://substackcdn.com/image/fetch/$s_!aKVE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F307f695e-5bb9-4449-9514-85a0984ebc62_2506x1478.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Aplicativo de Predi&#231;&#227;o de Atraso de V&#244;os</figcaption></figure></div><p>O resultado apresenta tanto a classifica&#231;&#227;o (atrasado ou pontual) quanto, no caso de previs&#227;o de atraso, o tempo estimado em minutos. Isso d&#225; ao usu&#225;rio informa&#231;&#227;o acion&#225;vel para tomada de decis&#227;o.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZIcZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg" width="1456" height="598" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:598,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173075,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZIcZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0da29a8-9431-481d-a520-1e8a8db88d54_2500x1026.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Quais s&#227;o os pr&#243;ximos passos para levar um modelo de ML para produ&#231;&#227;o?</h2><p><strong>Para produ&#231;&#227;o robusta, quatro pr&#225;ticas de MLOps s&#227;o essenciais: versionamento de dados, modelos e objetos de pr&#233;-processamento; configura&#231;&#227;o de infer&#234;ncia batch (D+1) e online (tempo real) conforme necessidade; monitoramento de drift de dados e performance com retreino autom&#225;tico; e logging de entradas/sa&#237;das com explicabilidade (feature importance, SHAP) para auditoria.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0kNN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0kNN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0kNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e44ffc4-0db4-435e-b955-d1fdd1b0d829_2816x1536.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5799375,&quot;alt&quot;:&quot;Pr&#225;ticas de MLOps Essenciais para Gest&#227;o de Modelos e Aplica&#231;&#245;es&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/183308756?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e44ffc4-0db4-435e-b955-d1fdd1b0d829_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pr&#225;ticas de MLOps Essenciais para Gest&#227;o de Modelos e Aplica&#231;&#245;es" title="Pr&#225;ticas de MLOps Essenciais para Gest&#227;o de Modelos e Aplica&#231;&#245;es" srcset="https://substackcdn.com/image/fetch/$s_!0kNN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!0kNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F20530d60-5da6-4a08-bebd-266b7738cef8_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pr&#225;ticas de MLOps Essenciais para Gest&#227;o de Modelos e Aplica&#231;&#245;es</figcaption></figure></div><h3>Versionamento</h3><p>Assim como c&#243;digo, dados e modelos precisam de controle de vers&#227;o. Ferramentas como DVC (Data Version Control) ou MLflow permitem rastrear qual vers&#227;o de dados gerou qual modelo, facilitando reprodutibilidade e debugging.</p><h3>Infer&#234;ncia Batch vs. Online</h3><p>Nem toda aplica&#231;&#227;o precisa de predi&#231;&#227;o em tempo real. Modelos que atualizam previs&#245;es diariamente (D+1) t&#234;m requisitos de infraestrutura muito menores. A escolha depende do caso de uso.</p><h3>Monitoramento de Drift</h3><p>Dados mudam ao longo do tempo. O modelo treinado em dados de 2024 pode perder performance em 2025 se padr&#245;es se alterarem. Alertas de degrada&#231;&#227;o de m&#233;tricas disparam retreino autom&#225;tico ou manual.</p><h3>Explicabilidade</h3><p>Para confian&#231;a operacional e compliance, &#233; importante entender por que o modelo fez determinada previs&#227;o. T&#233;cnicas como feature importance e SHAP values mostram quais vari&#225;veis mais influenciaram cada resultado.</p><div><hr></div><h2>Checklist para implementar seu pr&#243;prio pipeline de ML preditivo</h2><h3>Pr&#233;-requisitos</h3><ul><li><p>Dados hist&#243;ricos com a vari&#225;vel que se deseja prever</p></li><li><p>Ambiente Python com bibliotecas de ML (scikit-learn, XGBoost)</p></li><li><p>Jupyter Notebook ou ambiente equivalente para experimenta&#231;&#227;o</p></li></ul><h3>Etapa 1: An&#225;lise Explorat&#243;ria</h3><ul><li><p>Carregar e inspecionar os dados</p></li><li><p>Gerar estat&#237;sticas descritivas</p></li><li><p>Visualizar distribui&#231;&#245;es e correla&#231;&#245;es</p></li><li><p>Identificar valores ausentes e outliers</p></li></ul><h3>Etapa 2: Engenharia de Features</h3><ul><li><p>Tratar valores ausentes</p></li><li><p>Criar features derivadas relevantes</p></li><li><p>Codificar vari&#225;veis categ&#243;ricas</p></li><li><p>Normalizar vari&#225;veis num&#233;ricas</p></li></ul><h3>Etapa 3: Prepara&#231;&#227;o</h3><ul><li><p>Selecionar features relevantes</p></li><li><p>Dividir dados (treino/valida&#231;&#227;o/teste)</p></li><li><p>Balancear classes se necess&#225;rio</p></li><li><p>Salvar objetos de pr&#233;-processamento</p></li></ul><h3>Etapa 4: Modelagem</h3><ul><li><p>Treinar m&#250;ltiplos algoritmos</p></li><li><p>Validar aus&#234;ncia de data leakage</p></li><li><p>Comparar m&#233;tricas</p></li><li><p>Selecionar modelo final</p></li></ul><h3>Etapa 5: Aplica&#231;&#227;o</h3><ul><li><p>Criar interface de predi&#231;&#227;o</p></li><li><p>Testar com dados novos</p></li><li><p>Documentar limita&#231;&#245;es</p></li></ul><div><hr></div><h2>Quando N&#195;O usar essa abordagem?</h2><p><strong>Modelos preditivos baseados em dados tabulados n&#227;o funcionam bem em tr&#234;s cen&#225;rios: quando n&#227;o h&#225; dados hist&#243;ricos suficientes (menos de algumas centenas de registros relevantes), quando a vari&#225;vel-alvo depende majoritariamente de fatores n&#227;o captur&#225;veis em planilhas (como decis&#245;es humanas subjetivas), ou quando a rela&#231;&#227;o entre vari&#225;veis muda constantemente sem padr&#227;o detect&#225;vel.</strong></p><p>Tamb&#233;m &#233; importante reconhecer que modelos estat&#237;sticos trabalham com probabilidades, n&#227;o certezas. Um modelo com 75% de acur&#225;cia ainda erra em 1 a cada 4 casos. Para decis&#245;es cr&#237;ticas, o modelo deve ser um apoio &#224; decis&#227;o humana, n&#227;o um substituto.</p><p>Por fim, a qualidade dos dados &#233; determinante. O princ&#237;pio &#8220;garbage in, garbage out&#8221; permanece v&#225;lido: dados incorretos, incompletos ou enviesados produzem modelos problem&#225;ticos, independentemente da sofistica&#231;&#227;o t&#233;cnica aplicada.</p><div><hr></div><h2>Recursos Complementares</h2><p>O <a href="https://github.com/guifav/pipeline_machine_learning">c&#243;digo completo do pipeline demonstrado neste artigo est&#225; dispon&#237;vel para download</a>. O reposit&#243;rio inclui:</p><ul><li><p>Notebooks Jupyter documentados para cada etapa</p></li><li><p>Dados de exemplo para testes</p></li><li><p>Modelos pr&#233;-treinados</p></li><li><p>Scripts de pr&#233;-processamento reutiliz&#225;veis</p></li></ul><p>A metodologia apresentada funciona igualmente com dados de banco de dados SQL, PostgreSQL ou qualquer outra fonte estruturada. O conceito permanece o mesmo: dados tabulados com hist&#243;rico de resultados podem alimentar modelos preditivos.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/guifav/pipeline_machine_learning&quot;,&quot;text&quot;:&quot;Link Para C&#243;digos&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/guifav/pipeline_machine_learning"><span>Link Para C&#243;digos</span></a></p><div><hr></div><p><em>Artigo complementar ao v&#237;deo &#8220;Pipeline de Machine Learning: Da Planilha &#224; Aplica&#231;&#227;o&#8221;</em></p><div id="youtube2-U9GbDM1Tmzo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;U9GbDM1Tmzo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/U9GbDM1Tmzo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong>Sobre o autor:</strong><br>Guilherme Favaron &#233; Executivo de Tecnologia com 18+ anos de experi&#234;ncia em transforma&#231;&#227;o digital, especialista em IA aplicada a neg&#243;cios, criador de 22+ aplica&#231;&#245;es de IA no <a href="https://mindapps.ai/index.html">MindApps.ai</a> e autor do livro &#8220;<a href="https://www.guilhermefavaron.com.br/p/livro-ia-inteligencia-artificial-portugues-gratuito">Desbloqueando a Intelig&#234;ncia Artificial</a>&#8221;. Mais sobre sua produ&#231;&#227;o t&#233;cnica: <a href="https://guifav.github.io/">clique aqui</a>.</p><p><strong>Data de publica&#231;&#227;o:</strong> Janeiro 2026</p>]]></content:encoded></item><item><title><![CDATA[SEO + AEO: Como Ser Encontrado no Google e Citado por IAs]]></title><description><![CDATA[O framework completo para otimizar seu conte&#250;do para buscadores tradicionais e intelig&#234;ncias artificiais como ChatGPT, Perplexity, Gemini, Grok e Claude]]></description><link>https://www.guilhermefavaron.com.br/p/seo-aeo-geo-ias-como-ser-encontrado</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/seo-aeo-geo-ias-como-ser-encontrado</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Thu, 18 Dec 2025 15:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oXSg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>SEO &#233; ser encontrado no Google. AEO/GEO &#233; ser citado por ChatGPT, Perplexity e outras IAs.</p><p>A boa not&#237;cia: ambos querem a mesma coisa &#8212; respostas claras, estrutura l&#243;gica, informa&#231;&#227;o densa com fontes.</p><p>A t&#233;cnica mais importante: Answer Capsule &#8212; resposta direta de 50-80 palavras ap&#243;s cada heading.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oXSg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oXSg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 424w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 848w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 1272w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oXSg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d194f406-e468-435f-a06e-aa4775588f11_2348x1410.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ce565d2-f78c-4738-aa5b-368c6e01ddf7_2348x1410.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265702,&quot;alt&quot;:&quot;Principais Bots de IA que varrem toda a internet&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181727722?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ce565d2-f78c-4738-aa5b-368c6e01ddf7_2348x1410.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Principais Bots de IA que varrem toda a internet" title="Principais Bots de IA que varrem toda a internet" srcset="https://substackcdn.com/image/fetch/$s_!oXSg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 424w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 848w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 1272w, https://substackcdn.com/image/fetch/$s_!oXSg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd194f406-e468-435f-a06e-aa4775588f11_2348x1410.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Principais Bots de IA que varrem toda a internet</figcaption></figure></div><div><hr></div><h2>1. Por Que Isso Importa Agora</h2><h3>O Problema</h3><p>Sessenta por cento das buscas no Google terminam sem clique devido aos AI Overviews e snippets. O Gartner prev&#234; que 25% do volume de busca migrar&#225; para chatbots de IA at&#233; 2026. Apenas 11% dos sites s&#227;o citados tanto pelo ChatGPT quanto pelo Perplexity. Conte&#250;do sem otimiza&#231;&#227;o de descoberta tem vida &#250;til de aproximadamente 7 dias.</p><h3>A Oportunidade</h3><p>Poucos criadores est&#227;o otimizando para AEO, o que significa que h&#225; uma vantagem significativa para quem come&#231;ar agora. Posts otimizados "trabalham 24 horas por dia" trazendo novos leitores. O efeito &#233; composto: posts de 6 meses atr&#225;s ainda geram tr&#225;fego consistente.</p><h3>O Sistema de Dois Motores</h3><p>O primeiro motor &#233; o SEO tradicional, que gera tr&#225;fego evergreen via Google. Novos leitores chegam sempre, e o efeito se acumula ao longo do tempo.</p><p>O segundo motor &#233; o AEO/GEO, que permite ser citado como autoridade por ChatGPT, Perplexity, Grok, Gemini e Claude. Isso alcan&#231;a quem pesquisa de forma &#8220;AI-first&#8221; e constr&#243;i autoridade mesmo sem cliques diretos.</p><div><hr></div><h2>2. Estrutura de Conte&#250;do</h2><h3>A T&#233;cnica do Answer Capsule</h3><p>Esta &#233; a t&#233;cnica mais importante para SEO e cita&#231;&#227;o por IA. A estrutura funciona assim: primeiro vem um heading em formato de pergunta, seguido imediatamente por uma resposta direta de 50-80 palavras sem pre&#226;mbulo, e depois o contexto de suporte e exemplos.</p><p>O Answer Capsule faz quatro coisas simultaneamente. D&#225; &#224;s IAs exatamente o que precisam extrair. Ganha featured snippets no Google por usar a estrutura que o algoritmo procura. Respeita o tempo do leitor oferecendo valor imediato. E for&#231;a clareza no pensamento, porque n&#227;o d&#225; para se esconder atr&#225;s de linguagem vaga.</p><h3>Regras de Estrutura</h3><p>As primeiras 100 palavras do artigo devem responder &#224; pergunta principal. Cada Answer Capsule deve ter entre 50 e 80 palavras e aparecer ap&#243;s cada H2. Par&#225;grafos devem ter no m&#225;ximo 60 a 100 palavras, com uma ideia por par&#225;grafo. A hierarquia de headings deve ser r&#237;gida: </p><ul><li><p>H1 para o t&#237;tulo</p></li><li><p>H2 para se&#231;&#245;es principais</p></li><li><p>H3 para subse&#231;&#245;es</p></li><li><p>H4 para sub-subse&#231;&#245;es. </p></li></ul><p>Nunca pule n&#237;veis. Inclua de 3 a 5 links internos por post. O tamanho ideal de artigo &#233; entre 2000 e 2500 palavras.</p><h3>Headers em Formato de Pergunta</h3><p>IAs s&#227;o treinadas para reconhecer padr&#245;es de pergunta-resposta. Quanto mais espec&#237;fico e em formato de pergunta, melhor.</p><p>Evite headings gen&#233;ricos como &#8220;Estrat&#233;gias de RAG&#8221;, &#8220;ROI de IA&#8221;, &#8220;Implementa&#231;&#227;o de Agents&#8221; ou &#8220;Custos de LLM&#8221; (me usando aqui como exemplo). Prefira perguntas espec&#237;ficas como &#8220;Quando usar RAG em vez de fine-tuning?&#8221;, &#8220;Como calcular o ROI real de um projeto de IA?&#8221;, &#8220;Qual a arquitetura m&#237;nima para agents em produ&#231;&#227;o?&#8221; ou &#8220;Quanto custa manter um LLM em produ&#231;&#227;o por m&#234;s?&#8221;.</p><h3>Exemplo Pr&#225;tico de Answer Capsule</h3><p>Pergunta: Quanto tempo leva para implementar RAG em uma empresa m&#233;dia?</p><p>Resposta: <em>Na maioria dos casos, uma implementa&#231;&#227;o de RAG robusta leva 8 a 12 semanas quando h&#225; dados limpos e uma equipe dedicada. O MVP funcional sai em 3 a 4 semanas, mas a fase de ajuste de prompts e qualidade das respostas consome o restante. Em uma empresa do setor financeiro, o processo levou 11 semanas at&#233; produ&#231;&#227;o, sendo 6 semanas s&#243; em curadoria de documentos.</em></p><p>Note que a resposta &#233; direta, cont&#233;m m&#233;tricas espec&#237;ficas e menciona um caso real &#8212; tudo em aproximadamente 70 palavras.</p><div><hr></div><h2>3. Configura&#231;&#245;es T&#233;cnicas</h2><h3>SEO Title</h3><p>O t&#237;tulo SEO deve ter no m&#225;ximo 60 caracteres, com a palavra-chave nos primeiros 30 caracteres. Precisa ser compelling e pesquis&#225;vel ao mesmo tempo.</p><p>Evite t&#237;tulos como &#8220;Minhas Reflex&#245;es sobre RAG&#8221;. Prefira algo como &#8220;RAG para Empresas: 5 Erros que Custam Milh&#245;es&#8221;.</p><h3>Meta Description</h3><p>A meta descri&#231;&#227;o deve ter entre 155 e 160 caracteres, incluindo as keywords prim&#225;ria e secund&#225;ria de forma natural. &#201; seu elevator pitch para desconhecidos.</p><p>Exemplo: &#8220;Framework pr&#225;tico de ROI para projetos de IA que implementei em 3 empresas. M&#233;tricas reais, erros comuns e o que funcionou. Para CTOs e l&#237;deres de tecnologia.&#8221;</p><h3>URL Slug</h3><p>Use apenas palavras-chave, separadas por h&#237;fen, tudo em min&#250;sculo, sem stop words como &#8220;o&#8221;, &#8220;a&#8221;, &#8220;de&#8221;, &#8220;para&#8221;. O m&#225;ximo s&#227;o 5 palavras. Importante: defina o slug antes de publicar, pois &#233; <strong>imut&#225;vel</strong> ap&#243;s a publica&#231;&#227;o. Na verdade tecnicamente voc&#234; consegue mudar, mas precisa fazer o redirecionamento da url anterior&#8230; algo relativamente complexo para algu&#233;m leigo.</p><p>Evite slugs longos como &#8220;/p/minhas-reflexoes-sobre-implementacao-de-rag-em-2025&#8221;. Prefira algo direto como &#8220;/p/rag-empresas-erros-comuns&#8221;.</p><h3>Imagem de Preview</h3><p>O tamanho recomendado &#233; 1456 por 1048 pixels. Posts com imagem de preview t&#234;m o dobro de signups e 40% mais cliques nos resultados de busca. O template deve incluir o t&#237;tulo do post, nome ou logo da newsletter, e um esquema de cores consistente.</p><h3>Requisitos para Indexa&#231;&#227;o por IAs</h3><p>Permita PerplexityBot, BingPreview e OAI-SearchBot no arquivo robots.txt, pois s&#227;o esses bots que buscam as informa&#231;&#245;es para entregar a seus usu&#225;rios.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!66my!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!66my!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 424w, https://substackcdn.com/image/fetch/$s_!66my!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 848w, https://substackcdn.com/image/fetch/$s_!66my!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 1272w, https://substackcdn.com/image/fetch/$s_!66my!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!66my!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png" width="1174" height="510" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/baab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:510,&quot;width&quot;:1174,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:307576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181727722?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!66my!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 424w, https://substackcdn.com/image/fetch/$s_!66my!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 848w, https://substackcdn.com/image/fetch/$s_!66my!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 1272w, https://substackcdn.com/image/fetch/$s_!66my!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaab3239-2d8f-49b2-b4d5-9403ff105bb8_1174x510.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Para entender como eles atuam e o que buscam, como configura-los, acesse esse artigo abaixo:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8bc6fc40-ceee-4a70-9595-7c7d606c78ff&quot;,&quot;caption&quot;:&quot;Passei os &#250;ltimos dias obstinado a entender os detalhes do tr&#225;fego no site da minha empresa, como a IA est&#225; acessando e consumindo nossos dados e gostaria de compartilhar com voc&#234;s o que descobri. As principais ferramentas que utilizei foram o Cloudflare e o Promptwatch (ambas na vers&#227;o paga), que processam cerca de 20% do tr&#225;fego web global.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;78% dos bots de IA querem uma coisa: seus dados&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:16426012,&quot;name&quot;:&quot;Guilherme Favaron&quot;,&quot;bio&quot;:&quot;Sou &#233; um cientista da computa&#231;&#227;o na interse&#231;&#227;o entre tecnologia e neg&#243;cios. Meu objetivo aqui &#233; traduzir as complexidades da Intelig&#234;ncia Artificial em estrat&#233;gias acion&#225;veis para empreendedores e executivos.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efe03933-dccf-4766-8555-beb5892df1c2_714x714.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-12-09T16:46:37.514Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Nlxl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2834a594-7eb7-4203-b76a-597d944de375_1488x980.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.guilhermefavaron.com.br/p/osbots-de-ia-querem-uma-coisa-dados&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181157261,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:139210,&quot;publication_name&quot;:&quot;IA Aplicada | Guilherme Favaron&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!W-v6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F465cc2ae-3dfb-4925-a14e-e9a4d8ae9458_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h3>Implemente Schema Markup</h3><p>Implemente schema markup para <a href="https://schema.org/FAQPage">FAQ</a>, <a href="https://schema.org/Article">Article</a>, <a href="https://schema.org/HowTo">HowTo</a> e <a href="https://schema.org/author">Author</a>. Use render server-side quando poss&#237;vel. Mantenha o conte&#250;do principal em texto, n&#227;o escondido em JavaScript pesado. O site deve ser mobile-friendly, r&#225;pido e usar HTTPS. Considere implementar um arquivo llms.txt como mapa para LLMs.</p><p>Voc&#234; pode validar se <a href="https://validator.schema.org/">implementou corretamento o schema.org por meio do validador</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t1X3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t1X3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 424w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 848w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 1272w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t1X3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:271519,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181727722?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t1X3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 424w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 848w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 1272w, https://substackcdn.com/image/fetch/$s_!t1X3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d7ed213-4303-487c-b5ea-5050e8d93506_2210x1430.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Sobre os arquivos LLMs.txt</h4><p>O <a href="https://llmstxt.org/">llms.txt &#233; uma proposta de padroniza&#231;&#227;o</a> de arquivo de texto hospedado na raiz do seu dom&#237;nio que explicita pol&#237;ticas para coleta e uso de conte&#250;do por agentes e modelos de IA, funcionando como um &#8220;robots.txt para LLMs&#8221;. Nele, voc&#234; pode declarar quais user-agents de IA s&#227;o permitidos, quais rotas devem ser bloqueadas, limites de taxa e janelas de acesso, al&#233;m de apontar fontes preferidas como sitemaps, APIs e feeds. </p><p>Tamb&#233;m &#233; comum incluir diretrizes de atribui&#231;&#227;o e restri&#231;&#245;es de uso (por exemplo, proibir fine-tuning com determinados dados), bem como contatos ou endpoints para opt-out. Ao padronizar essas regras, o llms.txt busca reduzir a carga indevida em servidores, melhora a governan&#231;a de dados e cria um canal expl&#237;cito de compliance para crawlers de IA que coletam conte&#250;do para RAG, treinamento e s&#237;ntese.</p><div><hr></div><h2>4. Otimiza&#231;&#227;o para IA (AEO/GEO)</h2><h3>As 5 T&#225;ticas Essenciais</h3><ol><li><p>A primeira t&#225;tica &#233; usar Answer Capsules. Resposta direta de 50 a 80 palavras ap&#243;s cada H2. Esta &#233; a t&#233;cnica n&#250;mero um.</p></li><li><p>A segunda t&#225;tica &#233; incluir dados originais. Conte&#250;do com dados propriet&#225;rios &#233; citado 4,1 vezes mais. Inclua n&#250;meros com contexto, unidade, per&#237;odo e fonte.</p></li><li><p>A terceira t&#225;tica &#233; manter links m&#237;nimos no Answer Capsule. IAs preferem respostas limpas e standalone. Os links devem ir no contexto, n&#227;o na resposta direta.</p></li><li><p>A quarta t&#225;tica &#233; usar par&#225;grafos curtos. Entre 60 e 100 palavras no m&#225;ximo, com uma ideia por par&#225;grafo. IAs extraem informa&#231;&#227;o em chunks.</p></li><li><p>A quinta t&#225;tica &#233; usar varia&#231;&#227;o sem&#226;ntica em vez de keyword stuffing. IAs entendem contexto. Use sin&#244;nimos naturais como implementar, construir, desenvolver, criar.</p></li></ol><h3>O Que IAs Adoram</h3><p>Respostas claras e diretas sem pre&#226;mbulos. Estrutura de pergunta seguida de resposta expl&#237;cita. Defini&#231;&#245;es no in&#237;cio de cada se&#231;&#227;o. Frameworks nomeados, como &#8220;Modelo de 4 Etapas para...&#8221;. N&#250;meros com contexto incluindo unidade, per&#237;odo e fonte. Tabelas e dados estruturados. &#8220;Fact blocks&#8221; extra&#237;veis e autossuficientes.</p><h3>O Que Evitar</h3><p>Corporate speak e linguagem de marketing. Enterrar a resposta em par&#225;grafos extensos. Headings vagos ou criativos demais. Blocos longos de texto sem formata&#231;&#227;o. Conte&#250;do gen&#233;rico sem perspectiva &#250;nica. Keyword stuffing. Jarg&#227;o vazio como &#8220;sinergia&#8221;, &#8220;revolucion&#225;rio&#8221; ou &#8220;disruptivo&#8221;.</p><div><hr></div><h2>5. E-E-A-T (Experi&#234;ncia, Expertise, Autoridade, Confian&#231;a)</h2><p>Google e IAs avaliam esses sinais para decidir quais fontes citar. Isso agora parece estar ainda mais relevante.</p><h3>Experience (Experi&#234;ncia)</h3><p>Identifique o autor com nome completo. Inclua uma mini bio com cargo e experi&#234;ncia real no assunto. Adicione links para LinkedIn e perfil profissional. Mencione projetos espec&#237;ficos que comprovam a experi&#234;ncia.</p><h3>Expertise (Especializa&#231;&#227;o)</h3><p>Demonstre profundidade t&#233;cnica. Use terminologia correta de forma consistente. Discuta nuances e trade-offs, sem oversimplificar. Inclua dados espec&#237;ficos e m&#233;tricas.</p><h3>Authoritativeness (Autoridade)</h3><p>Cite fontes confi&#225;veis como papers e dados oficiais. Fa&#231;a refer&#234;ncias a trabalhos anteriores. Inclua links internos para outros artigos. Reconhe&#231;a limita&#231;&#245;es e &#225;reas fora da sua expertise.</p><h3>Trustworthiness (Confian&#231;a)</h3><p>Mantenha a data de publica&#231;&#227;o vis&#237;vel. Inclua data de &#250;ltima atualiza&#231;&#227;o quando aplic&#225;vel. Cite fontes verific&#225;veis. Admita erros abertamente quando ocorrem.</p><h3>Sinais Humanos</h3><p>IAs tendem a ignorar conte&#250;do que parece gerado por outras IAs. Inclua experi&#234;ncias pr&#225;ticas demonstradas de forma objetiva, screenshots e imagens originais, dados propriet&#225;rios, opini&#245;es formadas e posicionamentos claros, erros e fracassos descritos com transpar&#234;ncia, e contexto espec&#237;fico local quando relevante.</p><div><hr></div><h2>6. Diferen&#231;as por Plataforma de IA</h2><h3>ChatGPT</h3><p>Prioriza clareza conceitual e metodologias estruturadas. Adapte seu conte&#250;do incluindo diagramas rotulados, processos numerados e defini&#231;&#245;es expl&#237;citas.</p><h3>Perplexity</h3><p>Valoriza experi&#234;ncias reais, hist&#243;rias pr&#225;ticas, conte&#250;do conversacional aut&#234;ntico e informa&#231;&#227;o recente. Adapte priorizando autenticidade sobre marketing polido, com casos reais e detalhes espec&#237;ficos.</p><h3>Gemini</h3><p>Prefere evid&#234;ncias com nuances contextuais, considera&#231;&#245;es de risco e exce&#231;&#245;es. Adapte incluindo ressalvas, trade-offs e se&#231;&#245;es sobre &#8220;quando n&#227;o usar&#8221;.</p><h3>Claude</h3><p>Valoriza precis&#227;o t&#233;cnica, estrutura l&#243;gica e admiss&#227;o de incertezas. Adapte sendo honesto sobre limita&#231;&#245;es e evitando oversimplifica&#231;&#245;es.</p><h3>Como Performar em Todas</h3><p>Um mesmo artigo pode ir bem em todas as plataformas se incluir: um Answer Capsule claro (funciona para todas), experi&#234;ncia ou case real (importante para Perplexity), trade-offs e &#8220;quando n&#227;o usar&#8221; (importante para Gemini), admiss&#227;o de limita&#231;&#245;es (importante para Claude), esquemas e diagramas rotulados (importante para ChatGPT), e dados originais (funciona para todas).</p><div><hr></div><h2>7. Medi&#231;&#227;o e Monitoramento</h2><h3>Ferramentas Gratuitas</h3><p>Use o Google Search Console para monitorar queries, posi&#231;&#245;es e CTR. Rastreie tr&#225;fego do ChatGPT usando o par&#226;metro utm_source=chatgpt.com. O HubSpot AEO Grader avalia visibilidade em IAs. Fa&#231;a testes manuais perguntando &#224;s IAs sobre seus t&#243;picos.</p><h3>O Que Monitorar</h3><p>Acompanhe o tr&#225;fego de busca org&#226;nica semanalmente. Verifique mensalmente o percentual de posts indexados no Search Console, com meta de 80% ou mais. Monitore cita&#231;&#245;es em ChatGPT e Perplexity mensalmente. Acompanhe novos assinantes vindos de busca, com meta de representar 20% ou mais do total.</p><pre><code>Em uma aba an&#244;nima, escreva prompts nas IAs Generativas e analise as respostas. Voc&#234; conseguir&#225; encontrar GAPs de conte&#250;do assim como onde sua marca est&#225; sendo positivamente citada. Conseguir&#225; tamb&#233;m encontrar competidores para inspir&#225;-lo com novos conte&#250;dos.

Monitore prompts de diferentes naturezas: informacional, branded, comercial e transacional. Monitore tamb&#233;m prompts org&#226;nicos e brand specific.</code></pre><h3>Timeline Realista</h3><p>Nos meses 1 e 2, os posts s&#227;o indexados mas h&#225; poucos rankings ainda. Nos meses 3 e 4, aparecem os primeiros rankings e o tr&#225;fego come&#231;a a chegar. Nos meses 5 e 6, o tr&#225;fego se torna consistente e surgem as primeiras cita&#231;&#245;es por IA. Do m&#234;s 6 ao 12, o efeito composto se manifesta, com posts antigos gerando tr&#225;fego continuamente.</p><div><hr></div><h2>8. Estrat&#233;gia de Paywall</h2><h3>O Problema</h3><p>Conte&#250;do atr&#225;s de paywall &#233; invis&#237;vel para Google, ChatGPT, Perplexity e demais. Seu artigo de 3.000 palavras parece um teaser de 300 palavras para os motores de descoberta.</p><h3>Conte&#250;do Livre (Motor de Descoberta)</h3><p>Mantenha gratuitos: </p><ul><li><p>cases detalhados com m&#233;tricas</p></li><li><p>frameworks de decis&#227;o</p></li><li><p>comparativos t&#233;cnicos</p></li><li><p>guias completos</p></li><li><p>tutoriais conceituais.</p></li></ul><h3>Conte&#250;do Pago (Motor de Reten&#231;&#227;o)</h3><p>Reserve para assinantes: </p><ul><li><p>Q&amp;As exclusivos</p></li><li><p>deep dives muito nichados</p></li><li><p>sess&#245;es de mentoria ou comunidade</p></li><li><p>templates e recursos</p></li><li><p>acesso antecipado.</p></li></ul><h3>Regra</h3><p>Nunca coloque seu melhor conte&#250;do atr&#225;s de paywall enquanto ainda est&#225; crescendo audi&#234;ncia.</p><div><hr></div><h2>9. Checklist Pr&#233;-Publica&#231;&#227;o</h2><h3>Configura&#231;&#245;es T&#233;cnicas (5 minutos)</h3><p>Verifique se o t&#237;tulo SEO est&#225; definido com menos de 60 caracteres e a keyword nos primeiros 30. Confirme que a meta descri&#231;&#227;o tem entre 155 e 160 caracteres com keywords inclu&#237;das. Certifique-se de que o URL slug foi customizado antes de publicar, usando apenas keywords, min&#250;sculas e h&#237;fens. Verifique se a imagem de preview social est&#225; configurada com 1456 por 1048 pixels.</p><h3>Estrutura de Conte&#250;do (5 minutos)</h3><p>Confirme que h&#225; uma resposta curta nos primeiros 100 palavras. Verifique se h&#225; Answer Capsules de 50 a 80 palavras ap&#243;s cada H2 principal. Certifique-se de que os headings est&#227;o em formato de pergunta. Confirme que a hierarquia est&#225; correta, indo de H1 para H2 para H3 sem pular n&#237;veis. Verifique se os par&#225;grafos t&#234;m no m&#225;ximo 100 palavras cada. Confirme que h&#225; de 3 a 5 links internos para posts anteriores.</p><h3>Qualidade de Conte&#250;do</h3><p>Verifique se o artigo abre com case real ou situa&#231;&#227;o espec&#237;fica. Confirme que h&#225; m&#233;tricas quantificadas mostrando antes e depois. Certifique-se de que explica o &#8220;porqu&#234;&#8221; das decis&#245;es, n&#227;o s&#243; o &#8220;o qu&#234;&#8221;. Verifique se inclui li&#231;&#245;es aprendidas ou armadilhas a evitar. Confirme que o leitor sabe o que fazer com essa informa&#231;&#227;o. Verifique se trade-offs e limita&#231;&#245;es s&#227;o discutidos.</p><h3>AEO e Cita&#231;&#227;o por IA</h3><p>Confirme que os Answer Capsules s&#227;o autossuficientes e fazem sentido fora de contexto. Verifique se h&#225; links m&#237;nimos dentro dos Answer Capsules. Certifique-se de que dados originais est&#227;o inclu&#237;dos quando poss&#237;vel. Confirme que autor e credenciais s&#227;o mencionados. Verifique se a data de publica&#231;&#227;o est&#225; vis&#237;vel.</p><h3>Ap&#243;s Publicar</h3><p>Verifique a indexa&#231;&#227;o no Search Console. Teste cita&#231;&#227;o no ChatGPT e Perplexity ap&#243;s uma semana. Reze para dar certo rs.</p><div><hr></div><p>Vers&#227;o 1.0 &#8212; Dezembro 2025</p><p>Atualizar trimestralmente conforme evolu&#231;&#227;o dos algoritmos.</p>]]></content:encoded></item><item><title><![CDATA[Estratégias de Migração para Cloud: Navegando Entre Public, Private e Hybrid]]></title><description><![CDATA[Quando a Capital One anunciou em 2020 que concluiria sua migra&#231;&#227;o completa para AWS at&#233; o final daquele ano, a decis&#227;o representou mais que uma mudan&#231;a tecnol&#243;gica: foi uma aposta de $150 milh&#245;es em transforma&#231;&#227;o digital que prometia reduzir custos operacionais em 30% e acelerar time-to-market de novos produtos em at&#233; 50%.]]></description><link>https://www.guilhermefavaron.com.br/p/guia-migracao-cloud-modelos-public-private-hybrid-de-migracao-para-cloud</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/guia-migracao-cloud-modelos-public-private-hybrid-de-migracao-para-cloud</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 15 Dec 2025 22:40:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!U0aG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Quando a <a href="https://aws.amazon.com/pt/solutions/case-studies/capital-one-all-in-on-aws/">Capital One anunciou em 2020 que concluiria sua migra&#231;&#227;o completa para AWS</a> at&#233; o final daquele ano, a decis&#227;o representou mais que uma mudan&#231;a tecnol&#243;gica: foi uma aposta de $150 milh&#245;es em transforma&#231;&#227;o digital que prometia reduzir custos operacionais em 30% e acelerar time-to-market de novos produtos em at&#233; 50%. A institui&#231;&#227;o financeira eliminou seus &#250;ltimos data centers propriet&#225;rios, consolidando toda infraestrutura cr&#237;tica na nuvem p&#250;blica.</p><p>No mesmo per&#237;odo, o <a href="https://medium.com/walmartglobaltech/walmarts-multi-cloud-machine-learning-platform-a1ab08ff1e4a">Walmart seguia caminho diametralmente oposto</a>. A maior varejista do mundo investiu bilh&#245;es construindo uma das maiores infraestruturas de cloud privada do varejo global, recusando-se deliberadamente a utilizar AWS &#8211; propriedade de seu maior concorrente, a Amazon. O gigante do varejo argumentava que independ&#234;ncia tecnol&#243;gica, prote&#231;&#227;o de dados propriet&#225;rios de log&#237;stica e supply chain, e controle total sobre performance durante picos cr&#237;ticos como Black Friday justificavam manter infraestrutura pr&#243;pria para workloads estrat&#233;gicos.</p><p>Ambas as organiza&#231;&#245;es s&#227;o l&#237;deres em seus mercados. Ambas possuem arquiteturas sofisticadas. Ambas tomaram decis&#245;es racionais baseadas em suas realidades espec&#237;ficas. E ambas nos ensinam algo fundamental: <em>n&#227;o existe uma &#8220;estrat&#233;gia correta&#8221; de migra&#231;&#227;o para cloud, apenas escolhas apropriadas para contextos espec&#237;ficos.</em></p><h2>O Espectro de Modelos de Cloud: Al&#233;m da Dicotomia Simplista</h2><p>A discuss&#227;o sobre cloud computing frequentemente se reduz a uma falsa dicotomia entre &#8220;tudo ou nada&#8221; &#8211; migrar completamente para cloud p&#250;blica ou manter tudo on-premise. A realidade das arquiteturas empresariais modernas &#233; significativamente mais nuan&#231;ada, operando em um espectro cont&#237;nuo de possibilidades que combinam diferentes modelos conforme necessidades espec&#237;ficas.</p><p>As organiza&#231;&#245;es podem escolher entre cinco abordagens arquiteturais principais, cada uma com implica&#231;&#245;es distintas para governan&#231;a, custos operacionais e capacidade de inova&#231;&#227;o:</p><p><strong>Public Cloud</strong> representa a utiliza&#231;&#227;o de infraestrutura compartilhada gerenciada por provedores como AWS, Azure ou Google Cloud. Este modelo oferece elasticidade quase infinita e economia de escala, eliminando necessidade de investimento inicial em hardware. Empresas como Netflix processam bilh&#245;es de streaming requests diariamente nesta arquitetura, demonstrando viabilidade mesmo para cargas cr&#237;ticas de miss&#227;o.</p><p><strong>Private Cloud</strong> mant&#233;m infraestrutura dedicada, seja on-premise ou em data centers terceirizados. O Walmart construiu uma das maiores infraestruturas de cloud privada do varejo, processando milh&#245;es de transa&#231;&#245;es di&#225;rias e gerenciando log&#237;stica global sem depender de AWS &#8211; propriedade de seu principal concorrente. Esta decis&#227;o estrat&#233;gica, embora signifique custo total de propriedade significativamente superior, garante independ&#234;ncia competitiva, prote&#231;&#227;o de propriedade intelectual em supply chain optimization e controle absoluto sobre performance durante eventos cr&#237;ticos como Black Friday, quando bilh&#245;es de d&#243;lares dependem de uptime perfeito.</p><p><strong>Hybrid Cloud</strong> integra ambientes p&#250;blicos e privados atrav&#233;s de orquestra&#231;&#227;o centralizada, permitindo que workloads migrem entre infraestruturas conforme demanda. <a href="https://aws.amazon.com/blogs/industries/cloud-driven-enterprise-transformation-at-the-bmw-group/">A BMW utiliza esta abordagem</a> para manter dados sens&#237;veis de design em cloud privada enquanto executa simula&#231;&#245;es computacionalmente intensivas em cloud p&#250;blica, otimizando custos sem comprometer propriedade intelectual.</p><p><strong>Multi-cloud</strong> distribui workloads entre m&#250;ltiplos provedores p&#250;blicos, reduzindo depend&#234;ncia excessiva de um &#250;nico vendor. No caso do Spotify, a estrat&#233;gia combina AWS e Google Cloud: a AWS sustenta o armazenamento e a entrega de m&#237;dia em escala global (objetos em S3, replica&#231;&#227;o multi-regi&#227;o, CDN/edge para baixa lat&#234;ncia e alta disponibilidade), enquanto o <a href="https://cloud.google.com/customers/spotify">Google Cloud orquestra os pipelines e a infraestrutura de dados (BigQuery, Pub/Sub e Dataflow) para analytics</a>, personaliza&#231;&#227;o e machine learning. Assim, a empresa mitiga riscos de vendor lock-in e aproveita capacidades espec&#237;ficas de cada plataforma &#8212; ML e an&#225;lise avan&#231;ada no GCP, com distribui&#231;&#227;o confi&#225;vel de conte&#250;do e escala operacional na AWS.</p><p><strong>Edge Computing</strong> complementa estrat&#233;gias cloud processando dados pr&#243;ximo &#224; origem, reduzindo lat&#234;ncia para aplica&#231;&#245;es cr&#237;ticas. Redes 5G e IoT industrial dependem desta arquitetura para garantir tempos de resposta sub-milissegundo que cloud centralizada n&#227;o consegue alcan&#231;ar.</p><p>A escolha entre estes modelos raramente &#233; bin&#225;ria. Arquiteturas empresariais maduras frequentemente combinam m&#250;ltiplas abordagens, criando topologias complexas onde diferentes workloads residem em ambientes otimizados para seus requisitos espec&#237;ficos.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U0aG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U0aG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 424w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 848w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 1272w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U0aG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png" width="1152" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0627428-4b7d-4e94-a79e-97142f7566eb_1152x600.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1152,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111675,&quot;alt&quot;:&quot;Desafios da Arquitetura Cloud&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/180202485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0627428-4b7d-4e94-a79e-97142f7566eb_1152x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Desafios da Arquitetura Cloud" title="Desafios da Arquitetura Cloud" srcset="https://substackcdn.com/image/fetch/$s_!U0aG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 424w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 848w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 1272w, https://substackcdn.com/image/fetch/$s_!U0aG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb744a9f5-8a2a-48dd-a51b-fb35588630bc_1152x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Desafios da Arquitetura Cloud</figcaption></figure></div><h2>Drivers Estrat&#233;gicos: O Que Realmente Importa na Decis&#227;o</h2><p>Decis&#245;es arquiteturais sobre cloud n&#227;o devem ser guiadas por hype tecnol&#243;gico ou prefer&#234;ncias pessoais de equipes t&#233;cnicas. Tr&#234;s dimens&#245;es fundamentais determinam qual estrat&#233;gia &#233; apropriada para cada contexto organizacional:</p><ul><li><p>requisitos de compliance e soberania de dados,</p></li><li><p>perfil de workload e padr&#245;es de uso, e </p></li><li><p>capacidade organizacional para gest&#227;o de complexidade.</p></li></ul><h3>Compliance e Requisitos Regulat&#243;rios</h3><p>Setores altamente regulados enfrentam restri&#231;&#245;es significativas sobre onde dados podem residir e quem pode acess&#225;-los. Institui&#231;&#245;es financeiras europeias sujeitas a GDPR n&#227;o podem simplesmente migrar dados de clientes para data centers em outras jurisdi&#231;&#245;es sem garantias espec&#237;ficas de prote&#231;&#227;o. Healthcare providers nos Estados Unidos devem garantir HIPAA compliance, o que requer controles rigorosos sobre acesso e auditoria.</p><p>Estas restri&#231;&#245;es n&#227;o necessariamente eliminam cloud p&#250;blica como op&#231;&#227;o. AWS oferece regi&#245;es espec&#237;ficas na Europa com garantias contratuais de soberania de dados. <a href="https://azure.microsoft.com/en-us/explore/global-infrastructure/government">Azure Government</a> fornece ambientes isolados certificados para workloads governamentais sens&#237;veis. O que &#233; essencial &#233; arquitetar solu&#231;&#245;es que satisfa&#231;am requisitos regulat&#243;rios enquanto maximizam benef&#237;cios de cloud.</p><h3>Caracter&#237;sticas dos Workloads</h3><p>Diferentes aplica&#231;&#245;es possuem perfis operacionais distintos que favorecem modelos espec&#237;ficos de cloud. Sistemas com demanda altamente vari&#225;vel &#8211; como e-commerce durante Black Friday ou processamento de folha de pagamento no fim do m&#234;s &#8211; beneficiam-se enormemente de elasticidade de cloud p&#250;blica. A capacidade de escalar de 100 para 10.000 inst&#226;ncias em minutos e retornar ao baseline depois &#233; economicamente invi&#225;vel em infraestrutura tradicional.</p><p>Por outro lado, workloads com utiliza&#231;&#227;o est&#225;vel e previs&#237;vel podem ser mais econ&#244;micos em infraestrutura dedicada. Um sistema ERP que processa consistentemente 5.000 transa&#231;&#245;es por hora, 24/7, n&#227;o se beneficia significativamente de elasticidade. O custo de inst&#226;ncias reservadas ou infraestrutura pr&#243;pria pode ser inferior ao pay-as-you-go de cloud p&#250;blica.</p><p>Lat&#234;ncia &#233; outro fator cr&#237;tico. Aplica&#231;&#245;es financeiras de high-frequency trading operam em microsegundos &#8211; cada milissegundo de lat&#234;ncia adicional representa milh&#245;es em oportunidades perdidas. Estas aplica&#231;&#245;es frequentemente requerem infraestrutura dedicada pr&#243;xima &#224;s bolsas de valores, inviabilizando cloud p&#250;blica centralizada.</p><h3>Maturidade Organizacional</h3><p>Arquiteturas h&#237;bridas e multi-cloud introduzem complexidade operacional substancial. Gerenciar workloads distribu&#237;dos entre m&#250;ltiplos ambientes requer expertise em orquestra&#231;&#227;o, networking avan&#231;ado, identity management federado e observabilidade em sistemas distribu&#237;dos. Organiza&#231;&#245;es sem estas capacidades podem descobrir que custos operacionais de arquiteturas complexas superam benef&#237;cios te&#243;ricos.</p><p>A <a href="https://aws.amazon.com/solutions/case-studies/innovators/capital-one/">Capital One investiu anos desenvolvendo cultura DevOps e automa&#231;&#227;o antes de migrar completamente para AWS</a>. N&#227;o foi simplesmente uma quest&#227;o de &#8220;mover servidores&#8221; &#8211; foi transforma&#231;&#227;o organizacional profunda que incluiu retraining de milhares de engenheiros, redesenho de processos de desenvolvimento e implementa&#231;&#227;o de pr&#225;ticas modernas de engenharia de confiabilidade.</p><h3>Considera&#231;&#245;es Competitivas e Estrat&#233;gicas</h3><p>Al&#233;m de compliance, fatores competitivos podem determinar escolhas arquiteturais. O Walmart exemplifica esta din&#226;mica: sendo o maior concorrente da Amazon no varejo, a empresa decidiu que pagar ao rival para hospedar dados propriet&#225;rios de supply chain, algoritmos de pricing e intelig&#234;ncia de consumer behavior representava risco estrat&#233;gico inaceit&#225;vel. A decis&#227;o de construir infraestrutura privada custou bilh&#245;es adicionais comparado a utilizar AWS, mas garantiu que dados cr&#237;ticos de neg&#243;cio nunca residiriam em sistemas controlados pelo competidor principal.</p><p>Esta l&#243;gica n&#227;o se limita ao varejo. Qualquer organiza&#231;&#227;o competindo diretamente com cloud providers ou seus parent companies deve avaliar cuidadosamente implica&#231;&#245;es de longo prazo de deep vendor dependency. A quest&#227;o n&#227;o &#233; paranoia e sim due diligence estrat&#233;gica sobre onde dados mais valiosos residem e quem possui acesso potencial a eles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z7yS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z7yS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 424w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 848w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 1272w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z7yS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png" width="556" height="421.3828828828829" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86533138-724a-4b3b-97af-a058f55e51fb_888x673.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/792d676b-f572-402b-afcf-191012c0ac1a_888x673.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:673,&quot;width&quot;:888,&quot;resizeWidth&quot;:556,&quot;bytes&quot;:85035,&quot;alt&quot;:&quot;Drivers Estrat&#233;gicos para Decis&#245;es Cloud&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/180202485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F792d676b-f572-402b-afcf-191012c0ac1a_888x673.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Drivers Estrat&#233;gicos para Decis&#245;es Cloud" title="Drivers Estrat&#233;gicos para Decis&#245;es Cloud" srcset="https://substackcdn.com/image/fetch/$s_!z7yS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 424w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 848w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 1272w, https://substackcdn.com/image/fetch/$s_!z7yS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86533138-724a-4b3b-97af-a058f55e51fb_888x673.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Drivers Estrat&#233;gicos para Decis&#245;es Cloud</figcaption></figure></div><p></p><h2>Padr&#245;es de Migra&#231;&#227;o: Do Lift-and-Shift ao Cloud-Native</h2><p>Ap&#243;s definir qual modelo de cloud &#233; apropriado, organiza&#231;&#245;es enfrentam decis&#227;o igualmente cr&#237;tica: <em>como migrar aplica&#231;&#245;es existentes?</em> A ind&#250;stria convergiu em torno de seis padr&#245;es principais de migra&#231;&#227;o, conhecidos como &#8220;6 Rs&#8221; &#8211; Rehost, Replatform, Repurchase, Refactor, Retire e Retain. Cada abordagem possui trade-offs distintos entre velocidade de execu&#231;&#227;o, investimento necess&#225;rio e benef&#237;cios realizados.</p><p><strong>Rehost (Lift-and-Shift)</strong> move aplica&#231;&#245;es para cloud sem modifica&#231;&#245;es arquiteturais significativas. Virtual Machines (VMs) on-premise s&#227;o replicadas como inst&#226;ncias EC2 ou Azure VMs, mantendo configura&#231;&#245;es e depend&#234;ncias existentes. Esta abordagem minimiza risco e permite migra&#231;&#227;o r&#225;pida &#8211; organiza&#231;&#245;es frequentemente movem centenas de aplica&#231;&#245;es em meses utilizando ferramentas automatizadas.</p><p>O trade-off &#233; &#243;bvio: aplica&#231;&#245;es migradas via lift-and-shift n&#227;o se beneficiam de capacidades cloud-native. Elasticidade, managed services e arquiteturas serverless permanecem inacess&#237;veis. Custos operacionais podem at&#233; aumentar se aplica&#231;&#245;es mal otimizadas simplesmente replicam inefici&#234;ncias existentes em infraestrutura mais cara.</p><p><strong>Replatform</strong> introduz otimiza&#231;&#245;es menores durante migra&#231;&#227;o. Um banco de dados on-premise pode migrar para <a href="https://aws.amazon.com/free/database/?trk=052deed2-9fee-4fb0-bbce-51b9bdf8a321&amp;sc_channel=ps&amp;ef_id=CjwKCAiAraXJBhBJEiwAjz7MZVRIV07ItqfkC-c1PO7MCfHxtUQzrfMFvF5-BjCtAT7U9B6ZTEFoixoC8PoQAvD_BwE:G:s&amp;s_kwcid=AL!4422!3!780600794283!e!!g!!aws%20rds!23183029828!187510838317&amp;gad_campaignid=23183029828&amp;gbraid=0AAAAADjHtp-sulGEi__lZEPF7EM6YXncM&amp;gclid=CjwKCAiAraXJBhBJEiwAjz7MZVRIV07ItqfkC-c1PO7MCfHxtUQzrfMFvF5-BjCtAT7U9B6ZTEFoixoC8PoQAvD_BwE">RDS gerenciado</a>, eliminando overhead de administra&#231;&#227;o sem redesenhar aplica&#231;&#227;o. Web servers podem mover para load balancers gerenciados, containers podem substituir VMs individuais. Estas mudan&#231;as incrementais capturam alguns benef&#237;cios cloud enquanto minimizam reengenharia.</p><p>A <a href="https://aws.amazon.com/solutions/case-studies/innovators/expedia/">Expedia Group utilizou extensivamente replatforming durante sua migra&#231;&#227;o multi-ano para AWS</a>. Sistemas cr&#237;ticos migraram para servi&#231;os gerenciados quando poss&#237;vel, reduzindo em 60% o tempo que equipes de infraestrutura gastavam com <em>undifferentiated heavy lifting</em> &#8211; manuten&#231;&#227;o de databases, patches de seguran&#231;a, backups. Isto liberou recursos para inova&#231;&#227;o em funcionalidades que efetivamente diferenciam o neg&#243;cio.</p><p><strong>Refactor (Re-architect)</strong> redesenha aplica&#231;&#245;es para arquiteturas cloud-native. Monolitos s&#227;o decompostos em microservices, bancos de dados relacionais migram para modelos NoSQL quando apropriado, batch processing torna-se event-driven atrav&#233;s de message queues. Esta abordagem maximiza benef&#237;cios cloud mas requer investimento substancial e riscos de execu&#231;&#227;o.</p><p><a href="https://aws.amazon.com/solutions/case-studies/innovators/netflix/">A Netflix &#233; exemplo emblem&#225;tico de refactoring bem-sucedido</a>. A migra&#231;&#227;o completa para AWS levou sete anos e envolveu reescrever fundamentalmente a arquitetura. O resultado &#233; uma plataforma que escala dinamicamente para servir 200+ milh&#245;es de subscribers globalmente, sobrevive a falhas de infraestrutura atrav&#233;s de <em>chaos engineering</em> e inova continuamente atrav&#233;s de milhares de deploys di&#225;rios.</p><p><strong>Repurchase</strong> substitui aplica&#231;&#245;es customizadas por solu&#231;&#245;es SaaS. Sistemas de CRM migram para Salesforce; ERP on-premise &#233; substitu&#237;do por SAS cloud. Esta abordagem elimina necessidade de migra&#231;&#227;o t&#233;cnica mas introduz depend&#234;ncias de vendors e pode requerer mudan&#231;as significativas em processos de neg&#243;cio.</p><p><strong>Retire</strong> identifica aplica&#231;&#245;es que n&#227;o agregam mais valor e podem ser simplesmente desligadas. Auditorias pr&#233;-migra&#231;&#227;o frequentemente descobrem que 10-20% de aplica&#231;&#245;es corporativas s&#227;o raramente utilizadas ou possuem funcionalidade duplicada. Eliminar estas aplica&#231;&#245;es reduz custos de migra&#231;&#227;o e simplifica paisagem tecnol&#243;gica.</p><p><strong>Retain</strong> decide conscientemente manter certas aplica&#231;&#245;es on-premise, seja por requisitos regulat&#243;rios, limita&#231;&#245;es t&#233;cnicas ou falta de justificativa econ&#244;mica para migra&#231;&#227;o. Esta &#233; decis&#227;o estrat&#233;gica v&#225;lida que deve ser periodicamente reavaliada.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aPSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aPSc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 424w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 848w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 1272w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aPSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png" width="934" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7f33181-76d6-4b8b-9f52-dc62b8bc1f57_934x564.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:934,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78528,&quot;alt&quot;:&quot;Padr&#245;es de Migra&#231;&#227;o: Do Lift-and-Shift ao Cloud-Native&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/180202485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7f33181-76d6-4b8b-9f52-dc62b8bc1f57_934x564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Padr&#245;es de Migra&#231;&#227;o: Do Lift-and-Shift ao Cloud-Native" title="Padr&#245;es de Migra&#231;&#227;o: Do Lift-and-Shift ao Cloud-Native" srcset="https://substackcdn.com/image/fetch/$s_!aPSc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 424w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 848w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 1272w, https://substackcdn.com/image/fetch/$s_!aPSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54570f7e-33f6-4bff-8066-3c42591931e5_934x564.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Padr&#245;es de Migra&#231;&#227;o: Do Lift-and-Shift ao Cloud-Native</figcaption></figure></div><p></p><h2>Arquitetando para H&#237;brido: Conectividade e Orquestra&#231;&#227;o</h2><p>Organiza&#231;&#245;es que adotam estrat&#233;gias h&#237;bridas ou multi-cloud enfrentam desafios arquiteturais complexos na integra&#231;&#227;o de ambientes distintos. Dois pilares fundamentais sustentam arquiteturas h&#237;bridas bem-sucedidas: conectividade de rede robusta e de baixa lat&#234;ncia entre ambientes, e camadas de abstra&#231;&#227;o que permitem orquestra&#231;&#227;o unificada de recursos distribu&#237;dos.</p><h3>Conectividade e Networking</h3><p>Arquiteturas h&#237;bridas fracassam ou prosperam com base na qualidade de conectividade entre ambientes. Internet p&#250;blica raramente oferece bandwidth, lat&#234;ncia ou confiabilidade necess&#225;rios para workloads empresariais cr&#237;ticos. Organiza&#231;&#245;es maduras implementam conectividade dedicada atrav&#233;s de AWS Direct Connect, Azure ExpressRoute ou interconex&#245;es privadas em data centers de colocation.</p><p>A JPMorgan Chase opera uma das <a href="https://www.fierce-network.com/cloud/jp-morgan-payments-exec-talks-cloud-tech-talent-and-apis#:~:text=J.P.%20Morgan%20Payments%20exec%20said,it%20has%20across%20150%20countries.">redes privadas mais extensas do setor financeiro</a>, conectando data centers propriet&#225;rios a <a href="https://aws.amazon.com/blogs/big-data/how-jpmorgan-chase-built-a-data-mesh-architecture-to-drive-significant-value-to-enhance-their-enterprise-data-platform/">m&#250;ltiplos availability zones em AWS</a> e Azure atrav&#233;s de circuitos dedicados de 100Gbps. Esta infraestrutura permite que workloads migrem entre ambientes com lat&#234;ncias sub-5ms, viabilizando casos de uso como disaster recovery ativo-ativo e bursting computacional para cloud durante picos de demanda.</p><p>Networking em arquiteturas h&#237;bridas requer planejamento cuidadoso de IP addressing, DNS federado, firewalls distribu&#237;dos e pol&#237;ticas de segmenta&#231;&#227;o consistentes entre ambientes. Sobrepor endere&#231;os IP entre on-premise e cloud cria problemas insol&#250;veis. Rotear tr&#225;fego entre ambientes sem visibilidade de seguran&#231;a introduz vulnerabilidades. Ferramentas como <a href="https://developer.hashicorp.com/consul">HashiCorp Consul</a> e service meshes como <a href="https://istio.io/latest/about/service-mesh/">Istio</a> ajudam gerenciar complexidade, mas requerem expertise especializado.</p><h3>Orquestra&#231;&#227;o e Abstra&#231;&#227;o</h3><p>Gerenciar workloads distribu&#237;dos manualmente entre clouds &#233; operacionalmente invi&#225;vel em escala. Arquiteturas h&#237;bridas maduras implementam camadas de abstra&#231;&#227;o que permitem provisionamento, deployment e gest&#227;o unificados independente de onde recursos residem fisicamente.</p><p>Kubernetes emergiu como padr&#227;o de facto para orquestra&#231;&#227;o de containers em ambientes h&#237;bridos. Clusters podem span m&#250;ltiplos clouds e on-premise, com workloads sendo schedulados baseado em requisitos declarativos &#8211; lat&#234;ncia, compliance, custo, afinidade com dados. Ferramentas como <a href="https://cloud.google.com/solutions/hybrid-and-multicloud-application-platform?hl=pt-BR">Anthos (Google)</a>, <a href="https://azure.microsoft.com/pt-br/products/azure-arc">Azure Arc</a> e <a href="https://aws.amazon.com/outposts/">AWS Outposts</a> oferecem controles gerenciados que abstraem complexidade de m&#250;ltiplos ambientes.</p><p>A <a href="https://cloud.google.com/customers/featured/target">Target Corporation utiliza Kubernetes para orquestrar milhares de microservices distribu&#237;dos entre data centers pr&#243;prios e Google Cloud</a>. Durante Black Friday, workloads de e-commerce automaticamente escalam para cloud quando capacidade on-premise satura, e retornam depois. Desenvolvedores n&#227;o precisam conhecer onde c&#243;digo executa &#8211; apenas definem requisitos e plataforma decide <em>placement</em> &#243;timo.</p><p>Infrastructure-as-Code tornou-se requisito n&#227;o-negoci&#225;vel para arquiteturas h&#237;bridas. <a href="https://aws.amazon.com/pt/compare/the-difference-between-terraform-and-kubernetes/">Terraform</a>, <a href="https://www.pulumi.com/">Pulumi</a> e ferramentas similares permitem definir infraestrutura declarativamente, com mesmo c&#243;digo provisionando recursos em AWS, Azure, on-premise ou Google Cloud. Isto garante consist&#234;ncia, auditabilidade e capacidade de reproduzir ambientes deterministicamente.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1h_3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1h_3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 424w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 848w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 1272w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1h_3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png" width="858" height="492" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fcf80da-347a-47fd-8931-99283d71693e_858x492.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:492,&quot;width&quot;:858,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82408,&quot;alt&quot;:&quot;Arquitetando para H&#237;brido: Conectividade e Orquestra&#231;&#227;o&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/180202485?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fcf80da-347a-47fd-8931-99283d71693e_858x492.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Arquitetando para H&#237;brido: Conectividade e Orquestra&#231;&#227;o" title="Arquitetando para H&#237;brido: Conectividade e Orquestra&#231;&#227;o" srcset="https://substackcdn.com/image/fetch/$s_!1h_3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 424w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 848w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 1272w, https://substackcdn.com/image/fetch/$s_!1h_3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c4072fa-eca7-4678-b40a-bdbc70128544_858x492.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Arquitetando para H&#237;brido: Conectividade e Orquestra&#231;&#227;o</figcaption></figure></div><p></p><h2>Otimiza&#231;&#227;o de Custos: FinOps em Ambientes H&#237;bridos</h2><p>Cloud prometeu reduzir custos de infraestrutura atrav&#233;s de economia de escala e utiliza&#231;&#227;o otimizada. A realidade frequentemente decepciona: <a href="https://www.flexera.com/about-us/press-center/new-flexera-report-finds-84-percent-of-organizations-struggle-to-manage-cloud-spend">estudos indicam que 30-35% de gastos cloud s&#227;o desperd&#237;cio</a> &#8211; inst&#226;ncias superdimensionadas, recursos n&#227;o-utilizados, arquiteturas ineficientes. Em ambientes h&#237;bridos, desafios de otimiza&#231;&#227;o multiplicam-se exponencialmente.</p><h3>Visibilidade e Atribui&#231;&#227;o</h3><p>Organiza&#231;&#245;es n&#227;o podem otimizar o que n&#227;o medem. Arquiteturas h&#237;bridas requerem agrega&#231;&#227;o de custos de m&#250;ltiplas fontes &#8211; cloud providers, data centers pr&#243;prios, circuitos de rede, licenses de software. Modelos de costing diferem radicalmente: cloud cobra por utiliza&#231;&#227;o granular, on-premise possui custos fixos amortizados, licenses podem ser por core, por usu&#225;rio ou por transa&#231;&#227;o.</p><p>Implementar chargeback ou showback efetivo requer tagging consistente de recursos, mapeamento de custos de infraestrutura compartilhada, e aloca&#231;&#227;o proporcional de overheads. Ferramentas de FinOps como <a href="https://www.vmware.com/products/app-platform/tanzu-cloudhealth">CloudHealth</a>, <a href="https://spot.io/product/cloudcheckr/aws/">CloudCheckr</a> ou <a href="https://www.apptio.com/products/cloudability/">Apptio Cloudability (IBM)</a> agregam dados de m&#250;ltiplas fontes e fornecem visibilidade unificada.</p><p><a href="https://www.deloitte.com/us/en/insights/industry/technology/technology-media-and-telecom-predictions/2025/tmt-predictions-finops-tools-help-lower-cloud-spending.html">A Lyft implementou cultura de accountability de custos associando cada microservice a um cost center.</a> Dashboards mostram em tempo real quanto cada time est&#225; gastando e tend&#234;ncias hist&#243;ricas. Quando custos de um servi&#231;o aumentam inesperadamente, alertas autom&#225;ticos notificam donos antes que or&#231;amentos sejam ultrapassados. Esta visibilidade reduziu desperd&#237;cio em 25% no primeiro ano.</p><h3>Otimiza&#231;&#227;o Arquitetural</h3><p>Diferentes tipos de workload possuem perfis econ&#244;micos distintos em diferentes ambientes. An&#225;lises comparativas de TCO devem considerar n&#227;o apenas custos de compute e storage, mas tamb&#233;m data transfer, licenses, pessoal necess&#225;rio para opera&#231;&#227;o e oportunidades de receita perdidas por atrasos em time-to-market.</p><p>Workloads com demanda previs&#237;vel e est&#225;vel frequentemente s&#227;o mais econ&#244;micos em inst&#226;ncias reservadas ou infraestrutura dedicada. <a href="https://aws.amazon.com/aws-cost-management/aws-cost-optimization/reserved-instances/">AWS Reserved Instances</a> oferecem descontos de at&#233; 72% comparado a on-demand para compromissos de um ou tr&#234;s anos. Para workloads que executam continuamente, amortiza&#231;&#227;o supera flexibilidade de pay-as-you-go.</p><p>Spot instances e <a href="https://docs.cloud.google.com/compute/docs/instances/preemptible">VMs preemptivas</a> oferecem descontos de 60-90% para workloads tolerantes a interrup&#231;&#245;es. Rendering de v&#237;deo, an&#225;lises batch de dados, simula&#231;&#245;es cient&#237;ficas podem economizar substancialmente utilizando capacidade excedente. A <a href="https://www.vticloud.io/en/case_study/lyft-chi-phi-giam-toi-77-voi-amazon-ec2-spot-instances/">Lyft processa bilh&#245;es de eventos analytics diariamente usando primariamente Spot instances</a>, com fallback autom&#225;tico para on-demand quando disponibilidade &#233; insuficiente.</p><h3>Governan&#231;a e Policy Enforcement</h3><p>Arquiteturas h&#237;bridas sem governan&#231;a apropriada rapidamente degeneram em shadow IT e prolifera&#231;&#227;o descontrolada de recursos. Desenvolvedores provisionam inst&#226;ncias que nunca s&#227;o desligadas, storage cresce indefinidamente, ambientes de teste replicam configura&#231;&#245;es de produ&#231;&#227;o desnecessariamente caras.</p><p>Implementar policies automatizadas previne desperd&#237;cio na origem. Resources podem ser automaticamente taggeados com donos e data de expira&#231;&#227;o durante provisionamento. Workloads de desenvolvimento s&#227;o automaticamente desligados ap&#243;s hor&#225;rio comercial e fins de semana e inst&#226;ncias superdimensionadas geram alertas com recomenda&#231;&#245;es de rightsizing.</p><h2>Seguran&#231;a e Compliance: Responsabilidade Compartilhada em M&#250;ltiplos Ambientes</h2><p>Arquiteturas distribu&#237;das entre m&#250;ltiplos ambientes expandem superf&#237;cie de ataque e fragmentam responsabilidades de seguran&#231;a. O modelo de responsabilidade compartilhada na nuvem &#8212; em que o provedor &#233; respons&#225;vel pela seguran&#231;a da infraestrutura e o cliente pela seguran&#231;a das aplica&#231;&#245;es &#8212; torna-se significativamente mais complexo quando as cargas de trabalho se estendem por ambientes locais (on&#8209;premises), m&#250;ltiplas nuvens e borda (edge).</p><h3>Identity e Access Management</h3><p>Gerenciar identidades e permiss&#245;es consistentemente atrav&#233;s de ambientes heterog&#234;neos &#233; desafio cr&#237;tico. Usu&#225;rios precisam acessar aplica&#231;&#245;es independente de onde residem. Service accounts requerem permiss&#245;es federadas para recursos distribu&#237;dos. Auditoria de acessos deve ser unificada apesar de m&#250;ltiplos identity providers.</p><p>Federa&#231;&#227;o de identidades atrav&#233;s de SAML, OAuth ou OpenID Connect permite single sign-on entre ambientes. Active Directory on-premise pode federar com AWS IAM, Azure AD e Google Cloud IAM, permitindo que usu&#225;rios utilizem credenciais corporativas existentes. Ferramentas como <a href="https://www.okta.com/">Okta</a>, <a href="https://www.pingidentity.com/pt.html">Ping Identity</a> ou <a href="https://azure.microsoft.com/pt-br/products/microsoft-entra-ds">Azure AD</a> fornecem identity brokering que abstrai diferen&#231;as entre providers.</p><p><a href="https://www.cloudflare.com/pt-br/learning/access-management/principle-of-least-privilege/">Princ&#237;pio de least privilege (m&#237;nimo privil&#233;gio)</a> torna-se exponencialmente mais dif&#237;cil em arquiteturas h&#237;bridas. Cada ambiente possui modelo de permiss&#245;es pr&#243;prio &#8211; IAM policies na AWS, role assignments no Azure, IAM roles no GCP. Garantir consist&#234;ncia requer frameworks de governan&#231;a que definam policies abstratas traduzidas para implementa&#231;&#245;es espec&#237;ficas de cada cloud.</p><h3>Data Protection e Encryption</h3><p>Dados transitando entre ambientes em arquiteturas h&#237;bridas devem ser protegidos tanto em tr&#226;nsito quanto em repouso. Todas conex&#245;es entre on-premise e cloud devem utilizar encryption &#8211; IPSec VPNs, TLS/SSL para APIs, encryption-at-rest para storage. Keys de encripta&#231;&#227;o requerem gest&#227;o centralizada atrav&#233;s de HSMs ou servi&#231;os gerenciados como AWS KMS, Azure Key Vault ou HashiCorp Vault.</p><p>Estrat&#233;gias de <em>data residency</em> s&#227;o cr&#237;ticas para compliance em setores regulados. Dados de clientes europeus podem residir apenas em regi&#245;es EU de cloud providers. Healthcare data nos EUA deve satisfazer HIPAA, frequentemente requerendo ambientes dedicados isolados de outros workloads. Arquiteturas h&#237;bridas devem implementar data classification e routing autom&#225;tico para garantir que dados sens&#237;veis nunca saem de ambientes autorizados.</p><h3>Resposta e Detec&#231;&#227;o de Amea&#231;as</h3><p>Monitoramento de seguran&#231;a em ambientes h&#237;bridos requer agrega&#231;&#227;o de logs e eventos de m&#250;ltiplas fontes heterog&#234;neas. SIEMs (Security Information and Event Management) como <a href="https://www.splunk.com/">Splunk</a>, <a href="https://www.elastic.co/cloud/cloud-trial-overview/security">Elastic Security</a> ou solu&#231;&#245;es nativas de cloud agregam eventos, correlacionam amea&#231;as e automatizam respostas.</p><p><a href="https://www.capitalone.com/about/newsroom/capital-one-announces-data-security-incident/">A Capital One detectou e respondeu ao infame breach de 2019</a> atrav&#233;s de sistemas automatizados que identificaram acesso an&#244;malo e imediatamente revogaram permiss&#245;es &#8211; embora n&#227;o tenha sido suficientemente r&#225;pido para prevenir exfiltra&#231;&#227;o de dados. Este incidente ressalta que arquiteturas h&#237;bridas n&#227;o s&#227;o inerentemente mais ou menos seguras que alternativas, mas requerem vigil&#226;ncia e automa&#231;&#227;o consistentes.</p><h2>Disaster Recovery e Business Continuity</h2><p>Arquiteturas h&#237;bridas oferecem oportunidades &#250;nicas para estrat&#233;gias sofisticadas de disaster recovery e business continuity. A capacidade de distribuir workloads geograficamente entre m&#250;ltiplos ambientes permite RPOs (Recovery Point Objectives) e RTOs (Recovery Time Objectives) que seriam economicamente invi&#225;veis em infraestrutura tradicional.</p><h3>Estrat&#233;gias de DR</h3><p>Organiza&#231;&#245;es podem escolher entre diferentes n&#237;veis de prepara&#231;&#227;o para disaster recovery, cada um com custos e complexidades crescentes:</p><p><strong>Backup e Restore</strong> mant&#233;m c&#243;pias de dados em cloud mas requer provisionamento de infraestrutura e restore completo durante desastres. RTOs de horas ou dias s&#227;o t&#237;picos. Custos s&#227;o m&#237;nimos mas downtime &#233; substancial.</p><p><strong>Pilot Light</strong> mant&#233;m vers&#227;o m&#237;nima de ambiente cr&#237;tico sempre ativo em cloud, pronta para escalar rapidamente durante emerg&#234;ncias. Dados s&#227;o replicados continuamente mas compute resources permanecem em standby. RTOs de minutos a horas s&#227;o vi&#225;veis.</p><p><strong>Warm Standby</strong> executa vers&#227;o scaled-down de produ&#231;&#227;o continuamente, processando tr&#225;fego n&#227;o-cr&#237;tico ou servindo geografias secund&#225;rias. Durante desastres, simplesmente escala para capacidade completa. RTOs de minutos s&#227;o t&#237;picos.</p><p><strong>Multi-Site Active-Active</strong> executa produ&#231;&#227;o completa simultaneamente em m&#250;ltiplos ambientes, com load balancing distribuindo tr&#225;fego. RTOs s&#227;o essencialmente zero &#8211; failover &#233; transparente para usu&#225;rios. Custos s&#227;o duplicados mas business continuity &#233; maximizada.</p><p>A Netflix opera inteiramente em modelo active-active distribu&#237;do globalmente. Se um availability zone inteiro na AWS falhar, tr&#225;fego automaticamente rota para zonas remanescentes sem interrup&#231;&#227;o percept&#237;vel de servi&#231;o. Este n&#237;vel de resili&#234;ncia requer arquitetura fundamentalmente distribu&#237;da onde aplica&#231;&#245;es s&#227;o stateless e dados s&#227;o replicados assincronamente com eventual consistency.</p><h2>Trade-offs Fundamentais e Decis&#245;es Estrat&#233;gicas</h2><p>N&#227;o existe estrat&#233;gia de cloud universalmente superior. Escolhas arquiteturais representam trade-offs entre objetivos conflitantes &#8211; controle versus conveni&#234;ncia, flexibilidade versus padroniza&#231;&#227;o, otimiza&#231;&#227;o de custos versus time-to-market. L&#237;deres t&#233;cnicos devem entender estas tens&#245;es e fazer escolhas conscientes alinhadas com contexto organizacional espec&#237;fico.</p><h3>Controle versus Managed Services</h3><p>Cloud privada oferece controle m&#225;ximo mas requer que organiza&#231;&#245;es gerenciem <em>undifferentiated heavy lifting (UHL)</em> &#8211; patching, backups, scaling, monitoring. Cloud p&#250;blica oferece managed services que abstraem esta complexidade mas reduzem controle granular e potencialmente introduzem vendor lock-in.</p><pre><code>UHL significa tarefas repetitivas e n&#227;o estrat&#233;gicas que n&#227;o geram vantagem competitiva.</code></pre><p>A quest&#227;o cr&#237;tica n&#227;o &#233; &#8220;qual &#233; melhor&#8221;, mas &#8220;onde controle adicional agrega valor suficiente para justificar complexidade adicional&#8221;. Para infraestrutura de database rodando queries anal&#237;ticas padr&#245;es, RDS gerenciado quase sempre supera gest&#227;o manual. Para motores de high-frequency trading onde cada microsegundo importa, infraestrutura customizada pode justificar-se.</p><h3>Flexibilidade versus Padroniza&#231;&#227;o</h3><p>Multi-cloud oferece flexibilidade de escolher best-of-breed services de m&#250;ltiplos providers e mitiga risco de vendor lock-in. Mas introduz complexidade operacional substancial &#8211; m&#250;ltiplos SDKs para aprender, ferramentas distintas para gest&#227;o, skills fragmentados entre equipes.</p><p>Padronizar em single cloud simplifica opera&#231;&#245;es e desenvolve expertise profunda, mas cria depend&#234;ncia. Se provider aumenta pre&#231;os substancialmente ou deprecia servi&#231;os cr&#237;ticos, op&#231;&#245;es s&#227;o limitadas. <a href="https://www.datacenterknowledge.com/cloud/dropbox-s-reverse-migration-from-cloud-to-own-data-centers-five-years-on">A Dropbox descobriu isto migrando de AWS para infraestrutura pr&#243;pria</a> ap&#243;s custos de cloud amea&#231;aram viabilidade econ&#244;mica do neg&#243;cio.</p><h3>Otimiza&#231;&#227;o Prematura versus Technical Debt</h3><p>Lift-and-shift permite migra&#231;&#227;o r&#225;pida mas perpetua technical debt em cloud mais cara. Refactoring completo maximiza benef&#237;cios cloud mas atrasa realizando valor e introduz riscos de execu&#231;&#227;o. Como em tantas decis&#245;es arquiteturais, extremos raramente s&#227;o &#243;timos.</p><p>Abordagens pragm&#225;ticas aplicam o Strangler Pattern: envolvem o mon&#243;lito com uma fachada/proxy, capturam o tr&#225;fego e migram funcionalidades de forma incremental para servi&#231;os cloud-native. Come&#231;a-se por um lift-and-shift para colher ganhos imediatos (como eliminar data centers) e, em seguida, componentes s&#227;o substitu&#237;dos gradualmente conforme a tese econ&#244;mica se sustenta. Esse modelo equilibra velocidade com otimiza&#231;&#227;o e reduz risco, permitindo aprendizado cont&#237;nuo durante a transi&#231;&#227;o.</p><h2>Olhando Adiante: Tend&#234;ncias Emergentes</h2><p>A evolu&#231;&#227;o de cloud computing n&#227;o desacelera. V&#225;rias tend&#234;ncias emergentes moldar&#227;o estrat&#233;gias de pr&#243;xima gera&#231;&#227;o nos pr&#243;ximos anos, expandindo possibilidades arquiteturais enquanto introduzem novas complexidades.</p><p><strong>Serverless e Function-as-a-Service</strong> abstraem infraestrutura quase completamente, permitindo que desenvolvedores foquem exclusivamente em l&#243;gica de neg&#243;cio. <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, <a href="https://azure.microsoft.com/en-us/products/functions">Azure Functions</a> e <a href="https://cloud.google.com/functions?hl=en">Google Cloud Functions</a> cobram apenas por execu&#231;&#227;o real de c&#243;digo, eliminando custos de capacidade ociosa. Ado&#231;&#227;o cresce rapidamente mas arquiteturas <em>serverless</em> introduzem desafios pr&#243;prios &#8211; cold starts, limites de execu&#231;&#227;o, debugging distribu&#237;do.</p><pre><code>Cold start &#233; a lat&#234;ncia extra ao iniciar recursos que est&#227;o &#8220;adormecidos&#8221;.</code></pre><p><strong>Confidential Computing</strong> protege dados durante processamento, n&#227;o apenas em tr&#226;nsito e repouso. Tecnologias como Intel SGX, AMD SEV e ARM TrustZone criam enclaves seguros onde dados s&#227;o processados encriptados, inacess&#237;veis at&#233; para administradores de sistema. Isto pode resolver um dos &#250;ltimos obst&#225;culos para migra&#231;&#227;o de workloads ultra-sens&#237;veis para cloud p&#250;blica.</p><p><strong>WebAssembly e Edge Computing</strong> distribuem computa&#231;&#227;o ainda mais pr&#243;xima de usu&#225;rios. Cloudflare Workers, AWS Lambda@Edge e Fastly Compute@Edge executam c&#243;digo em centenas de data centers globalmente, reduzindo lat&#234;ncias para single-digit milliseconds. Aplica&#231;&#245;es que requerem interatividade real-time &#8211; gaming, realidade aumentada, autonomous vehicles &#8211; dependem crescentemente destas arquiteturas.</p><p><strong>AI/ML Model Deployment</strong> est&#225; for&#231;ando reavalia&#231;&#227;o de onde computa&#231;&#227;o ocorre. Treinar modelos de AI requer compute massivo melhor executado em cloud centralizada com GPUs especializados. Mas <em>inference</em> frequentemente acontece em edge devices para minimizar lat&#234;ncia e proteger privacidade. Arquiteturas h&#237;bridas onde training ocorre em cloud e inference na edge tornam-se padr&#227;o.</p><pre><code>Infer&#234;ncia &#233; o processo de usar um modelo j&#225; treinado para gerar sa&#237;das a partir de novas entradas &#8212; classifica&#231;&#245;es, recomenda&#231;&#245;es, respostas, detec&#231;&#245;es. &#201; a fase de executar um modelo treinado para produzir previs&#245;es.</code></pre><h2>Conclus&#227;o: Arquitetando para Seu Contexto Espec&#237;fico</h2><p>Decis&#245;es sobre estrat&#233;gias de cloud s&#227;o fundamentalmente decis&#245;es de neg&#243;cio disfar&#231;adas de escolhas t&#233;cnicas. A arquitetura certa depende de regulatory requirements, perfil de workloads, capacidade organizacional, constraints or&#231;ament&#225;rios e objetivos estrat&#233;gicos de longo prazo.</p><div class="pullquote"><p>Decis&#245;es sobre estrat&#233;gias de cloud s&#227;o fundamentalmente decis&#245;es de neg&#243;cio disfar&#231;adas de escolhas t&#233;cnicas.</p></div><p>Organiza&#231;&#245;es que tratam migra&#231;&#227;o para cloud como projeto &#250;nico &#8211; &#8220;vamos mover tudo para AWS at&#233; fim do ano&#8221; &#8211; consistentemente sub-realizam potencial. Transforma&#231;&#227;o cloud bem-sucedida &#233; jornada cont&#237;nua de otimiza&#231;&#227;o incremental, aprendizado constante e evolu&#231;&#227;o arquitetural conforme necessidades mudam.</p><p>N&#227;o existe atalho para devido diligence rigoroso. Comece identificando workloads candidatos, entendendo seus requisitos t&#233;cnicos e de neg&#243;cio. Conduza proofs-of-concept limitados antes de comprometer migra&#231;&#245;es em larga escala. Invista em desenvolver expertise organizacional em cloud, DevOps, infraestrutura-como-c&#243;digo e pr&#225;ticas modernas de engenharia.</p><p>Acima de tudo, reconhe&#231;a que decis&#245;es de hoje n&#227;o s&#227;o permanentes. Arquiteturas podem e devem evoluir. Aplica&#231;&#245;es migradas via lift-and-shift hoje podem ser refactored amanh&#227; quando ROI justificar investimento. Private cloud pode fazer sentido temporariamente durante transi&#231;&#227;o de panorama regulat&#243;rio. Multi-cloud pode ser experimentado gradualmente em workloads n&#227;o-cr&#237;ticos antes de expans&#227;o.</p><p>A Capital One e Walmart fizeram escolhas radicalmente diferentes &#8211; uma migrando completamente para cloud p&#250;blica de seu n&#227;o-competidor, outra construindo infraestrutura privada massiva para evitar depend&#234;ncia de seu maior rival &#8211; e ambas est&#227;o prosperando. O que importa n&#227;o &#233; copiar best practices de outras organiza&#231;&#245;es, mas entender profundamente seu contexto espec&#237;fico e arquitetar solu&#231;&#245;es apropriadas.</p>]]></content:encoded></item><item><title><![CDATA[Estudo de Caso: Recuperação de VPS Comprometida por Cryptojacking]]></title><description><![CDATA[Como identificamos um minerador de criptomoedas escondido, reinstalamos o servidor do zero e colocamos a aplica&#231;&#227;o no ar em 4 horas]]></description><link>https://www.guilhermefavaron.com.br/p/como-recuperar-servidor-hackeado-minerador-criptomoedas</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/como-recuperar-servidor-hackeado-minerador-criptomoedas</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 15 Dec 2025 18:59:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pqfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>O Problema</h2><p>Era uma manh&#227; de domingo quando percebi que algo estava errado. Ao tentar acessar o site de um cliente hospedado em uma VPS na Hostinger, fui recebido por uma mensagem fria: <strong>502 Bad Gateway</strong>. O nginx estava rodando, mas n&#227;o conseguia processar as requisi&#231;&#245;es.</p><p>Ao verificar o painel da Hostinger, o motivo ficou claro: a CPU estava travada em 100% de uso constante. Mais preocupante ainda, o detector de malware da Hostinger havia identificado dois arquivos suspeitos e os movido para quarentena.</p><p>Os arquivos tinham um nome que qualquer profissional de seguran&#231;a reconheceria imediatamente: <strong>XMRig</strong> &#8212; um dos mineradores de Monero mais populares do mundo, frequentemente usado em ataques de cryptojacking.</p><div><hr></div><h2>O Que &#233; Cryptojacking?</h2><p>Antes de continuar, vale explicar o que estava acontecendo. Cryptojacking &#233; um tipo de ataque onde criminosos invadem servidores para minerar criptomoedas usando os recursos computacionais da v&#237;tima. Diferente de ransomware, que bloqueia seus dados e exige resgate, o cryptojacking &#233; silencioso &#8212; o atacante quer que voc&#234; n&#227;o perceba enquanto ele lucra com sua eletricidade e processamento.</p><p>Monero (XMR) &#233; a criptomoeda favorita desses ataques porque foi projetada para privacidade. Transa&#231;&#245;es s&#227;o praticamente imposs&#237;veis de rastrear, o que torna o dinheiro &#8220;limpo&#8221; desde a origem. O XMRig &#233; o software que faz esse trabalho de minera&#231;&#227;o.</p><p>O sintoma cl&#225;ssico &#233; exatamente o que eu estava vendo: CPU em 100%, servidor lento ou inacess&#237;vel, e custos de cloud disparando.</p><div><hr></div><h2>A Investiga&#231;&#227;o: Pior do que Parecia</h2><p>Meu primeiro instinto foi acessar o servidor via SSH e investigar. O scanner da Hostinger havia encontrado o XMRig, mas eu precisava entender a extens&#227;o do comprometimento antes de decidir os pr&#243;ximos passos.</p><h3>Processos Suspeitos</h3><p>Ao listar os processos que mais consumiam CPU, encontrei algo que n&#227;o deveria existir:</p><pre><code><code>/usr/local/rsyslo/rsyslo &#8594; 84.8% CPU
</code></code></pre><p>Note o nome: <strong>rsyslo</strong>, n&#227;o <strong>rsyslog</strong>. O atacante havia criado um processo com nome quase id&#234;ntico ao servi&#231;o leg&#237;timo de logs do Linux, esperando que passasse despercebido. Esse &#233; um truque comum que se voc&#234; olha rapidamente uma lista de processos, &#8220;rsyslo&#8221; parece &#8220;rsyslog&#8221; e voc&#234; segue em frente.</p><h3>Mecanismos de Persist&#234;ncia</h3><p>O que realmente me preocupou foi o que encontrei nos crontabs (agendador de tarefas do Linux):</p><pre><code><code>@reboot /usr/bin/python3 /opt/.bd8888.py &amp;
*/2 * * * * pgrep -f .bd8888.py || /usr/bin/python3 /opt/.bd8888.py &amp;
</code></code></pre><p>Traduzindo para portugu&#234;s:</p><ul><li><p><strong>Linha 1:</strong> &#8220;Quando o servidor reiniciar, execute este script Python&#8221;</p></li><li><p><strong>Linha 2:</strong> &#8220;A cada 2 minutos, verifique se o script est&#225; rodando. Se n&#227;o estiver, inicie-o novamente&#8221;</p></li></ul><p>Isso significa que mesmo que eu matasse o processo malicioso, ele voltaria em no m&#225;ximo 2 minutos. E se eu reiniciasse o servidor achando que resolveria, o malware voltaria automaticamente.</p><p>Havia tamb&#233;m uma t&#233;cnica de evas&#227;o sofisticada:</p><pre><code><code>* * * * * pgrep -f meshagent | while read pid; do mountpoint -q /proc/$pid || mount -o bind /tmp/empty /proc/$pid 2&gt;/dev/null; done
</code></code></pre><p>Esse comando tenta esconder processos montando um diret&#243;rio vazio sobre a entrada do processo em <code>/proc</code>. &#201; uma t&#233;cnica para dificultar a detec&#231;&#227;o por ferramentas de monitoramento.</p><h3>O Veredito</h3><p>A situa&#231;&#227;o era clara: o atacante tinha <strong>acesso root</strong> ao servidor. Ele n&#227;o apenas instalou um minerador, mas criou m&#250;ltiplas backdoors, mecanismos de persist&#234;ncia e t&#233;cnicas de evas&#227;o. N&#227;o havia como ter certeza de que encontrei tudo.</p><p>A decis&#227;o mais segura, embora dolorosa, era <strong>reinstalar o servidor do zero</strong>.</p><div><hr></div><h2>A Decis&#227;o de Reinstalar</h2><p>Muitos profissionais hesitam em reinstalar um servidor comprometido. D&#225; trabalho, voc&#234; perde configura&#231;&#245;es, precisa reconfigurar tudo. Mas quando h&#225; acesso root confirmado, a reinstala&#231;&#227;o n&#227;o &#233; exagero &#8212; &#233; a &#250;nica op&#231;&#227;o respons&#225;vel.</p><p>O problema com tentar &#8220;limpar&#8221; um servidor comprometido &#233; que voc&#234; nunca tem certeza de que encontrou tudo. O atacante pode ter:</p><ul><li><p>Modificado bin&#225;rios do sistema (como <code>ls</code>, <code>ps</code>, <code>netstat</code>) para esconder suas atividades</p></li><li><p>Instalado backdoors em locais que voc&#234; n&#227;o pensou em verificar</p></li><li><p>Adicionado chaves SSH autorizadas para acesso futuro</p></li><li><p>Modificado o kernel ou m&#243;dulos do sistema</p></li></ul><p>Cada minuto que voc&#234; passa tentando limpar &#233; um minuto que o servidor continua vulner&#225;vel. E se voc&#234; errar algo, o atacante volta.</p><h3>O Erro que Cometi</h3><p>Na pressa, formatei o servidor <strong>antes</strong> de fazer backup. Perdi configura&#231;&#245;es do nginx, dados do banco, workflows do n8n. Foi um erro. Mesmo em situa&#231;&#245;es de emerg&#234;ncia, vale tirar 10 minutos para exportar o essencial.</p><p>A sorte foi que o c&#243;digo-fonte da aplica&#231;&#227;o estava no GitHub. Sem isso, a recupera&#231;&#227;o seria muito mais complicada.</p><p><strong>Li&#231;&#227;o:</strong> Sempre tenha seu c&#243;digo em um reposit&#243;rio Git. Sempre.</p><div><hr></div><h2>Reconstruindo com Seguran&#231;a</h2><p>Com o servidor limpo (Ubuntu 24.04 rec&#233;m-instalado), era hora de reconstruir &#8212; mas dessa vez, com seguran&#231;a como prioridade desde o primeiro minuto.</p><h3>Por Que SSH com Chaves?</h3><p>A primeira mudan&#231;a foi eliminar o login por senha no SSH. Provavelmente foi assim que o atacante entrou &#8212; atrav&#233;s de for&#231;a bruta em uma senha fraca.</p><p>Para entender por que chaves s&#227;o mais seguras, pense assim:</p><p><strong>Senha:</strong> Uma sequ&#234;ncia de caracteres que voc&#234; digita. Mesmo uma senha forte como <code>K8#mP2$xL9</code> tem talvez 60 bits de entropia. Um atacante com uma botnet pode tentar milh&#245;es de combina&#231;&#245;es por hora.</p><p><strong>Chave criptogr&#225;fica:</strong> Um arquivo com 256+ bits de aleatoriedade verdadeira. Para quebrar por for&#231;a bruta, seriam necess&#225;rios bilh&#245;es de anos com toda a capacidade computacional do planeta.</p><p>Al&#233;m disso, a chave nunca &#233; transmitida pela rede. O servidor envia um desafio, seu computador usa a chave privada para assinar o desafio, e o servidor verifica com a chave p&#250;blica. Mesmo que algu&#233;m intercepte a comunica&#231;&#227;o, n&#227;o consegue reproduzir o processo.</p><p>A configura&#231;&#227;o foi simples:</p><ol><li><p>Gerar um par de chaves no meu Mac (chave privada fica comigo, p&#250;blica vai para o servidor)</p></li><li><p>Copiar a chave p&#250;blica para o servidor</p></li><li><p>Configurar o SSH para recusar logins por senha</p></li></ol><p>Depois dessa mudan&#231;a, quando um bot tenta fazer login com senha, o servidor simplesmente ignora. A porta est&#225; aberta, mas sem a chave certa, n&#227;o h&#225; entrada.</p><h3>O Firewall: Reduzindo a Superf&#237;cie de Ataque</h3><p>O pr&#243;ximo passo foi configurar o UFW (Uncomplicated Firewall). A l&#243;gica &#233; simples: quanto menos portas abertas, menos oportunidades para atacantes.</p><p>Um servidor t&#237;pico pode ter dezenas de servi&#231;os rodando, cada um em sua porta. Banco de dados na 5432, Redis na 6379, aplica&#231;&#227;o na 3000, m&#233;tricas na 9090... Cada porta aberta &#233; uma porta que um atacante pode tentar explorar.</p><p>Com o UFW, defini uma pol&#237;tica restritiva:</p><ul><li><p><strong>Bloquear tudo que entra</strong> por padr&#227;o</p></li><li><p><strong>Permitir tudo que sai</strong> (o servidor precisa acessar a internet)</p></li><li><p><strong>Abrir exce&#231;&#245;es espec&#237;ficas:</strong> apenas SSH (22), HTTP (80) e HTTPS (443)</p></li></ul><p>Qualquer outro servi&#231;o que precise rodar no servidor fica acess&#237;vel apenas internamente. O banco de dados, por exemplo, s&#243; aceita conex&#245;es de localhost &#8212; n&#227;o h&#225; como um atacante externo sequer tentar conectar.</p><div><hr></div><h2>Dokploy: Simplificando o Deploy</h2><p>Com a seguran&#231;a base configurada, era hora de instalar a infraestrutura para rodar a aplica&#231;&#227;o. Escolhi o Dokploy, uma plataforma de deploy self-hosted que funciona como um &#8220;Vercel particular&#8221;.</p><h3>Por Que N&#227;o Configurar Tudo Manualmente?</h3><p>Eu poderia ter instalado nginx, configurado SSL com certbot, criado scripts de deploy, configurado o Docker manualmente. Mas isso tem custos:</p><ul><li><p><strong>Tempo:</strong> Horas de configura&#231;&#227;o inicial</p></li><li><p><strong>Manuten&#231;&#227;o:</strong> Renova&#231;&#227;o de certificados, atualiza&#231;&#245;es, troubleshooting</p></li><li><p><strong>Risco de erro:</strong> Configura&#231;&#245;es de seguran&#231;a esquecidas, permiss&#245;es erradas</p></li></ul><p>O Dokploy abstrai tudo isso. Ele usa Traefik como reverse proxy (que gerencia SSL automaticamente), Docker para isolar aplica&#231;&#245;es, e uma interface web para gerenciar tudo. Em 5 minutos, a infraestrutura estava pronta.</p><h3>O Problema do Docker com Firewalls</h3><p>Descobri algo importante durante a configura&#231;&#227;o: <strong>Docker ignora o UFW</strong>.</p><p>Quando voc&#234; exp&#245;e uma porta no Docker (como <code>-p 3000:3000</code>), o Docker manipula diretamente o iptables, bypassando as regras do UFW. Isso significa que minha regra de &#8220;bloquear tudo exceto 22, 80, 443&#8221; n&#227;o se aplicava &#224;s portas expostas pelo Docker.</p><p>O painel do Dokploy, por exemplo, roda na porta 3000. Mesmo com o UFW bloqueando, a porta estava acess&#237;vel publicamente. Qualquer pessoa na internet poderia acessar </p><p>http://meu-ip:3000</p><p> e ver a tela de login.</p><p>A solu&#231;&#227;o foi dupla:</p><ol><li><p><strong>Configurar um dom&#237;nio para o painel</strong> (<code>admin.mindapps.ai</code>) com HTTPS</p></li><li><p><strong>Bloquear a porta 3000 diretamente no iptables</strong>, na chain DOCKER-USER que &#233; respeitada pelo Docker</p></li></ol><p>Depois dessa configura&#231;&#227;o, o painel s&#243; &#233; acess&#237;vel pelo dom&#237;nio com SSL, nunca pelo IP direto.</p><div><hr></div><h2>Configurando os Dom&#237;nios</h2><p>A aplica&#231;&#227;o precisava responder em tr&#234;s dom&#237;nios diferentes:</p><ul><li><p><strong>gruponaldi.com</strong> &#8212; Site principal em portugu&#234;s</p></li><li><p><strong>naldi.es</strong> &#8212; Vers&#227;o para Espanha</p></li><li><p><strong>naldi.eu</strong> &#8212; Vers&#227;o para Europa</p></li></ul><h3>DNS: O Sistema de &#8220;Listas Telef&#244;nicas&#8221; da Internet</h3><p>Quando voc&#234; digita <code>gruponaldi.com</code> no navegador, seu computador precisa descobrir qual servidor cont&#233;m esse site. Isso &#233; feito atrav&#233;s do DNS (Domain Name System), que traduz nomes leg&#237;veis em endere&#231;os IP.</p><p>A configura&#231;&#227;o b&#225;sica envolve criar registros que dizem &#8220;este dom&#237;nio aponta para este IP&#8221;:</p><ul><li><p><strong>Registro A:</strong> Aponta o dom&#237;nio raiz (gruponaldi.com) para o IP do servidor</p></li><li><p><strong>Registro CNAME:</strong> Aponta um subdom&#237;nio (www) para outro dom&#237;nio</p></li></ul><p>Como os dom&#237;nios usavam Cloudflare para DNS, uma considera&#231;&#227;o importante foi <strong>desativar o proxy do Cloudflare</strong> temporariamente. O Cloudflare pode atuar como intermedi&#225;rio entre visitantes e seu servidor, mas isso interfere na emiss&#227;o de certificados SSL pelo Traefik. Com o proxy desligado, o Traefik consegue provar que controla o dom&#237;nio e obter certificados do Let&#8217;s Encrypt.</p><div><hr></div><h2>A Aplica&#231;&#227;o: Payload CMS com MongoDB</h2><p>Com a infraestrutura pronta, era hora de fazer deploy da aplica&#231;&#227;o em si: um site constru&#237;do com Next.js e Payload CMS, usando MongoDB como banco de dados.</p><h3>Criando o Banco de Dados</h3><p>O Dokploy simplifica a cria&#231;&#227;o de bancos de dados. Em poucos cliques, criei uma inst&#226;ncia do MongoDB com:</p><ul><li><p><strong>Usu&#225;rio e senha dedicados</strong> (nunca use credenciais padr&#227;o)</p></li><li><p><strong>Rede interna</strong> (o banco s&#243; &#233; acess&#237;vel por outras aplica&#231;&#245;es no mesmo servidor, nunca pela internet)</p></li></ul><p>A connection string resultante seria algo como:</p><pre><code><code>mongodb://usuario:senha@nome-interno-do-container:27017/banco
</code></code></pre><p>Note que o hostname &#233; o nome interno do container Docker, n&#227;o um IP ou dom&#237;nio p&#250;blico. Isso garante que mesmo que algu&#233;m descubra as credenciais, n&#227;o consegue conectar de fora do servidor.</p><h3>Vari&#225;veis de Ambiente: Separando C&#243;digo de Configura&#231;&#227;o</h3><p>Uma boa pr&#225;tica de desenvolvimento &#233; nunca colocar senhas ou configura&#231;&#245;es sens&#237;veis diretamente no c&#243;digo. Em vez disso, usamos vari&#225;veis de ambiente que s&#227;o injetadas no momento da execu&#231;&#227;o.</p><p>Para o Payload CMS, as vari&#225;veis essenciais s&#227;o:</p><ul><li><p><strong>DATABASE_URI:</strong> Conex&#227;o com o MongoDB</p></li><li><p><strong>PAYLOAD_SECRET:</strong> Chave para criptografar tokens de autentica&#231;&#227;o</p></li><li><p><strong>NEXT_PUBLIC_SERVER_URL:</strong> URL p&#250;blica do site (usada para gerar links corretos)</p></li></ul><p>Os &#8220;secrets&#8221; (PAYLOAD_SECRET, CRON_SECRET, etc.) devem ser strings aleat&#243;rias longas. Nunca use algo previs&#237;vel como &#8220;senha123&#8221; ou o nome do projeto. Uma forma simples de gerar &#233;:</p><pre><code><code>openssl rand -hex 32
</code></code></pre><p>Isso gera 64 caracteres hexadecimais aleat&#243;rios &#8212; imposs&#237;veis de adivinhar.</p><div><hr></div><h2>O Desafio do Build: Quando o Docker N&#227;o Consegue Acessar o Banco</h2><p>Com tudo configurado, cliquei em &#8220;Deploy&#8221;. E falhou.</p><p>O erro dizia que o Next.js n&#227;o conseguia conectar ao MongoDB durante o build. Mas por qu&#234;? O banco estava rodando, as credenciais estavam corretas.</p><h3>Entendendo o Problema</h3><p>Para entender o erro, &#233; preciso entender como funciona o build de uma aplica&#231;&#227;o Next.js com Docker.</p><p>O Docker funciona em camadas isoladas. Quando voc&#234; faz um build, o Docker cria um container tempor&#225;rio, executa os comandos de build, e depois descarta esse container. O resultado &#233; uma imagem pronta para rodar.</p><p>O problema &#233; que esse container tempor&#225;rio de build est&#225; <strong>isolado da rede</strong>. Ele n&#227;o consegue acessar outros containers, como o MongoDB. Isso &#233; intencional &#8212; builds devem ser reproduz&#237;veis e n&#227;o depender de servi&#231;os externos.</p><p>Por&#233;m, o Payload CMS (e muitas aplica&#231;&#245;es Next.js modernas) tentam conectar ao banco durante o build para:</p><ol><li><p><strong>Validar o schema</strong> &#8212; Garantir que as cole&#231;&#245;es existem</p></li><li><p><strong>Gerar p&#225;ginas est&#225;ticas</strong> &#8212; Buscar dados para pr&#233;-renderizar p&#225;ginas</p></li></ol><p>Quando o Next.js tenta executar <code>generateStaticParams()</code> para descobrir quais p&#225;ginas din&#226;micas existem (como <code>/posts/[slug]</code>), ele precisa consultar o banco. Durante o build, isso falha porque o banco n&#227;o est&#225; acess&#237;vel.</p><h3>A Solu&#231;&#227;o</h3><p>A solu&#231;&#227;o envolve duas partes:</p><p><strong>1. Detectar quando estamos em modo de build:</strong></p><p>Criamos uma fun&#231;&#227;o simples que verifica uma vari&#225;vel de ambiente:</p><pre><code><code>export function canConnectDB(): boolean {
  if (process.env.SKIP_DB_DURING_BUILD === &#8216;true&#8217;) {
    return false
  }
  return true
}
</code></code></pre><p><strong>2. Modificar as p&#225;ginas para retornar vazio durante build:</strong></p><p>Em cada p&#225;gina que usa <code>generateStaticParams</code>, adicionamos uma verifica&#231;&#227;o:</p><pre><code><code>export async function generateStaticParams() {
  if (!canConnectDB()) {
    return [] // Durante build, n&#227;o gerar p&#225;ginas est&#225;ticas
  }
  
  // C&#243;digo normal que busca do banco
  const posts = await payload.find({ collection: &#8216;posts&#8217; })
  return posts.docs.map((post) =&gt; ({ slug: post.slug }))
}
</code></code></pre><p><strong>O que isso significa na pr&#225;tica?</strong></p><p>Durante o build, as p&#225;ginas din&#226;micas n&#227;o s&#227;o pr&#233;-geradas. Quando um visitante acessa <code>/posts/meu-artigo</code> pela primeira vez, o Next.js gera a p&#225;gina naquele momento (Server-Side Rendering) e pode cachear para visitas futuras.</p><p>&#201; uma troca: perdemos a pr&#233;-gera&#231;&#227;o em build time, mas ganhamos a capacidade de fazer build sem depend&#234;ncia do banco. Para a maioria das aplica&#231;&#245;es, o impacto na performance &#233; negligenci&#225;vel.</p><div><hr></div><h2>Resultado Final</h2><p>Ap&#243;s aproximadamente 4 horas de trabalho, o servidor estava:</p><ul><li><p><strong>Limpo:</strong> Sistema operacional reinstalado, sem vest&#237;gios do malware</p></li><li><p><strong>Seguro:</strong> SSH apenas com chaves, firewall configurado, painel protegido</p></li><li><p><strong>Funcional:</strong> Aplica&#231;&#227;o rodando, certificados SSL emitidos, dom&#237;nios respondendo</p></li></ul><h3>Checklist de Seguran&#231;a Implementada</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jy02!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jy02!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 424w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 848w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 1272w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jy02!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png" width="690" height="260" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11bbea0e-8ae1-4415-b883-ca18f590a12c_690x260.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:260,&quot;width&quot;:690,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33118,&quot;alt&quot;:&quot;Checklist de Seguran&#231;a Implementada&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181710329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11bbea0e-8ae1-4415-b883-ca18f590a12c_690x260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist de Seguran&#231;a Implementada" title="Checklist de Seguran&#231;a Implementada" srcset="https://substackcdn.com/image/fetch/$s_!Jy02!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 424w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 848w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 1272w, https://substackcdn.com/image/fetch/$s_!Jy02!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007a1587-cfa3-45a3-9801-e3c2229ceb2f_690x260.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Checklist de Seguran&#231;a Implementada</figcaption></figure></div><div><hr></div><h2>Li&#231;&#245;es Aprendidas</h2><h3>1. Backups Antes de Tudo</h3><p>Mesmo em emerg&#234;ncias, tire 10 minutos para exportar dados cr&#237;ticos. Formatar sem backup foi meu maior erro nessa situa&#231;&#227;o.</p><h3>2. SSH com Senha &#233; um Risco</h3><p>Se seu servidor aceita login SSH por senha, &#233; quest&#227;o de tempo at&#233; algu&#233;m conseguir entrar. Bots est&#227;o constantemente testando combina&#231;&#245;es. Chaves criptogr&#225;ficas eliminam esse vetor completamente.</p><h3>3. C&#243;digo no Git &#233; Seguro de Vida</h3><p>A &#250;nica raz&#227;o pela qual consegui recuperar em 4 horas foi ter o c&#243;digo no GitHub. Se estivesse apenas no servidor, teria perdido tudo.</p><h3>4. Docker e Firewalls Precisam de Aten&#231;&#227;o Especial</h3><p>N&#227;o assuma que suas regras de firewall protegem portas expostas pelo Docker. Verifique e configure o iptables adequadamente.</p><h3>5. Builds Devem Ser Independentes</h3><p>Aplica&#231;&#245;es que dependem de servi&#231;os externos durante o build s&#227;o fr&#225;geis. Sempre que poss&#237;vel, projete para que o build funcione de forma isolada.</p><div><hr></div><h2>Cronologia</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pqfb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pqfb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 424w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 848w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 1272w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pqfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png" width="685" height="623" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ffc8fb2-3233-40d8-b8e6-c6e0530461d0_685x623.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:623,&quot;width&quot;:685,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56860,&quot;alt&quot;:&quot;Cronologia do ataque&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181710329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ffc8fb2-3233-40d8-b8e6-c6e0530461d0_685x623.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Cronologia do ataque" title="Cronologia do ataque" srcset="https://substackcdn.com/image/fetch/$s_!pqfb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 424w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 848w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 1272w, https://substackcdn.com/image/fetch/$s_!pqfb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9326bad-d4a7-46cc-9df7-d26c8d2bdede_685x623.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cronologia do ocorrido</figcaption></figure></div><div><hr></div><h2>Conclus&#227;o</h2><p>Ataques de cryptojacking s&#227;o cada vez mais comuns porque s&#227;o lucrativos e de baixo risco para os atacantes. A melhor defesa &#233; n&#227;o dar a eles a chance de entrar:</p><ol><li><p><strong>Nunca use senhas</strong> para acesso SSH</p></li><li><p><strong>Mantenha software atualizado</strong> &#8212; muitos ataques exploram vulnerabilidades conhecidas</p></li><li><p><strong>Minimize a superf&#237;cie de ataque</strong> &#8212; menos portas abertas, menos riscos</p></li><li><p><strong>Monitore</strong> &#8212; alertas de CPU salvaram esse servidor de minerar Monero por semanas</p></li></ol><p>Se voc&#234; foi comprometido, n&#227;o tente limpar. Reinstale. O tempo que voc&#234; gasta tentando ter certeza de que encontrou tudo &#233; tempo que o servidor continua vulner&#225;vel.</p><p>E acima de tudo: mantenha backups e c&#243;digo em reposit&#243;rios. Servidores podem ser substitu&#237;dos. Dados perdidos, n&#227;o.</p>]]></content:encoded></item><item><title><![CDATA[IA no dia a dia corporativo: uma abordagem prática que funciona]]></title><description><![CDATA[Aprenda a usar os principais modelos de IA como f&#243;rmulas no Google Sheets. C&#243;digo aberto, gratuito, com suas pr&#243;prias API keys. Guia pr&#225;tico com casos de uso reais para empresas.]]></description><link>https://www.guilhermefavaron.com.br/p/ia-google-sheets-integracao-llm-codigo-aberto</link><guid isPermaLink="false">https://www.guilhermefavaron.com.br/p/ia-google-sheets-integracao-llm-codigo-aberto</guid><dc:creator><![CDATA[Guilherme Favaron]]></dc:creator><pubDate>Mon, 15 Dec 2025 08:30:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jHzb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nos &#250;ltimos meses, tenho observado um padr&#227;o curioso nas empresas: existe um abismo entre o entusiasmo com intelig&#234;ncia artificial e sua aplica&#231;&#227;o real no trabalho cotidiano.</p><p>De um lado, discuss&#245;es sofisticadas sobre AGI, modelos multimodais e o futuro do trabalho. Do outro, equipes que ainda copiam dados de planilhas para colar no ChatGPT, uma linha por vez.</p><p>Esse contraste me levou a uma reflex&#227;o sobre onde a IA realmente agrega valor hoje e n&#227;o em casos de uso futuristas, mas nas tarefas que consomem horas toda semana.</p><div><hr></div><h2>O problema real</h2><p>A maioria das ferramentas de produtividade com IA segue um modelo: voc&#234; vai at&#233; a interface, digita sua pergunta, recebe uma resposta, e volta ao seu trabalho. Funciona bem para consultas pontuais.</p><p>Mas o trabalho corporativo raramente &#233; pontual. &#201; processamento de listas, padroniza&#231;&#227;o de dados, an&#225;lise de centenas de feedbacks, prepara&#231;&#227;o para dezenas de reuni&#245;es. Tarefas que se repetem, com pequenas varia&#231;&#245;es.</p><p>Para esse tipo de trabalho, a fric&#231;&#227;o de alternar entre ferramentas mata a produtividade que a IA deveria criar.</p><div><hr></div><h2>Uma solu&#231;&#227;o simples</h2><p>Desenvolvi um conjunto de fun&#231;&#245;es que integram os principais modelos de linguagem diretamente ao <strong>Google Sheets</strong>. A ideia n&#227;o &#233; original (existem extens&#245;es pagas que fazem isso). A diferen&#231;a &#233; que este c&#243;digo &#233; aberto, usa suas pr&#243;prias API keys, e voc&#234; tem controle total sobre custos e privacidade. Isso se resume a uma enorme redu&#231;&#227;o de custo de utiliza&#231;&#227;o de LLMs como o ChatGPT, Gemini, Claude e Grok.</p><p>Na pr&#225;tica, funciona assim:</p><pre><code><code>=claude(&#8221;Classifique esta empresa por setor:&#8221;, A2)</code></code></pre><p>A c&#233;lula retorna a resposta do modelo. Arraste a f&#243;rmula para baixo e processe 500 linhas em minutos.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;02c59bc9-d01e-4572-8867-614950631b9f&quot;,&quot;duration&quot;:null}"></div><p>O c&#243;digo suporta quatro modelos: GPT (OpenAI), Claude (Anthropic), Grok (x.ai) e Gemini (Google). Cada um tem caracter&#237;sticas diferentes, e poder alternar entre eles na mesma planilha permite escolher o mais adequado para cada tarefa.</p><p>As fun&#231;&#245;es contemplam os modelos mais atuais:</p><ul><li><p>Google Gemini 3 Pro</p></li><li><p>Claude Sonnet 4.5 </p></li><li><p>ChatGPT 5.1</p></li><li><p>Grok 4.1</p></li></ul><p>Caso queira fazer o upgrade ou downgrade do modelo, basta alterar o nome do modelo diretamente no c&#243;digo abaixo.</p><div><hr></div><h2>Como implementar</h2><p>A configura&#231;&#227;o leva menos de dez minutos. Voc&#234; vai precisar de uma conta Google e das chaves de API dos modelos que quiser usar (todos oferecem cr&#233;ditos iniciais gratuitos).</p><h3>Passo 1: Acessar o Apps Script</h3><p>No Google Sheets, v&#225; at&#233; o menu <strong>Extens&#245;es</strong> e clique em <strong>Apps Script</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jHzb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jHzb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 424w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 848w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 1272w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jHzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png" width="1456" height="1047" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/419d6c74-c7b2-4c28-84a8-7a762fa3ee85_1908x1372.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1047,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:251384,&quot;alt&quot;:&quot;Imagem: Menu Extens&#245;es > Apps Script&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181294521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F419d6c74-c7b2-4c28-84a8-7a762fa3ee85_1908x1372.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Imagem: Menu Extens&#245;es > Apps Script" title="Imagem: Menu Extens&#245;es > Apps Script" srcset="https://substackcdn.com/image/fetch/$s_!jHzb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 424w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 848w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 1272w, https://substackcdn.com/image/fetch/$s_!jHzb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef8265e-83de-4a00-8985-ca3f568bc82e_1908x1372.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Imagem: Menu Extens&#245;es &gt; Apps Script</figcaption></figure></div><p>Isso abre o editor de scripts do Google, onde voc&#234; pode adicionar c&#243;digo personalizado &#224; sua planilha.</p><h3>Passo 2: Adicionar o c&#243;digo</h3><p>No editor que abrir, voc&#234; ver&#225; um arquivo chamado <code>C&#243;digo.gs</code> na barra lateral. Delete qualquer conte&#250;do existente e cole o c&#243;digo do reposit&#243;rio.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TNHx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TNHx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 424w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 848w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 1272w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TNHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/334cbf51-c4ff-4e33-97b7-1fc42f300e01_2638x1682.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:393694,&quot;alt&quot;:&quot;Imagem: Editor Apps Script com c&#243;digo&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181294521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F334cbf51-c4ff-4e33-97b7-1fc42f300e01_2638x1682.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Imagem: Editor Apps Script com c&#243;digo" title="Imagem: Editor Apps Script com c&#243;digo" srcset="https://substackcdn.com/image/fetch/$s_!TNHx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 424w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 848w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 1272w, https://substackcdn.com/image/fetch/$s_!TNHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ec0a3fb-514b-4b82-b43b-ffc9cc6c64bc_2638x1682.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Imagem: Editor Apps Script com c&#243;digo</figcaption></figure></div><p>As primeiras linhas do c&#243;digo cont&#234;m as vari&#225;veis para suas chaves de API:</p><pre><code><code>const OPENAI_API_KEY = &#8220;sua_chave_aqui&#8221;;
const ANTHROPIC_API_KEY = &#8220;sua_chave_aqui&#8221;;
const GROK_API_KEY = &#8220;sua_chave_aqui&#8221;;
const GEMINI_API_KEY = &#8220;sua_chave_aqui&#8221;;</code></code></pre><p>Substitua pelos valores reais das suas chaves. Voc&#234; n&#227;o precisa configurar todos os modelos &#8212; apenas os que pretende usar. Voc&#234; pode obter sua API Key para qualquer dos provedores de servi&#231;os conforme abaixo:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RxPC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RxPC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 424w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 848w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 1272w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RxPC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png" width="571" height="206" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:206,&quot;width&quot;:571,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:29367,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181294521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RxPC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 424w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 848w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 1272w, https://substackcdn.com/image/fetch/$s_!RxPC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d708a3f-562c-40c7-bbe6-11a95b0a481a_571x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Imagem: LLMs e onde encontrar as chave de API</figcaption></figure></div><p>Link clic&#225;vel:</p><ul><li><p><a href="https://platform.openai.com/api-keys">OpenAI</a></p></li><li><p><a href="https://console.anthropic.com">Anthropic</a></p></li><li><p><a href="https://console.x.ai">x.ai</a></p></li><li><p><a href="https://aistudio.google.com/apikey">Google</a></p></li></ul><h3>Passo 3: Salvar e autorizar</h3><p>Clique em <strong>Salvar</strong> (Ctrl+S). Na primeira vez que usar uma das fun&#231;&#245;es, o Google pedir&#225; autoriza&#231;&#227;o para executar o script. Siga o fluxo de permiss&#245;es &#8212; &#233; um processo padr&#227;o para scripts personalizados.</p><h3>Passo 4: Usar as fun&#231;&#245;es</h3><p>Volte para sua planilha. Agora voc&#234; pode usar as fun&#231;&#245;es como qualquer f&#243;rmula nativa:</p><pre><code><code>=claude(&#8221;Traduza para ingl&#234;s:&#8221;, A2)
=grok(&#8221;Classifique o setor desta empresa:&#8221;, A2, &#8220; - &#8220;, B2)
=chatgpt(&#8221;Escreva um email de follow-up para&#8221;, A2, &#8220;da empresa&#8221;, B2, &#8220;sobre o tema&#8221;, C2)
=geminy(&#8221;Resuma os principais pontos desta tabela:&#8221;, A2:D10)</code></code></pre><p>As fun&#231;&#245;es aceitam m&#250;ltiplas c&#233;lulas como contexto &#8212; &#250;til quando voc&#234; precisa combinar informa&#231;&#245;es de v&#225;rias colunas em um &#250;nico prompt.</p><p></p><div class="pullquote"><p>Voc&#234; pode pedir para seu time de tecnologia implementar essas fun&#231;&#245;es para todos os colaboradores da empresa de uma s&#243; vez. </p><p>Encaminhe esse artigo para seu time t&#233;cnico.</p></div><p></p><div><hr></div><h2>Casos de uso por &#225;rea</h2><p>Depois de semanas de uso, organizei os casos que mais funcionam por &#225;rea de atua&#231;&#227;o. Cada exemplo pode ser adaptado para seu contexto espec&#237;fico.</p><h3>Opera&#231;&#245;es e Dados</h3><p><strong>Padroniza&#231;&#227;o de nomes</strong> &#8212; Quando listas chegam com varia&#231;&#245;es de grafia para a mesma empresa ou pessoa.</p><pre><code><code>=grok(&#8221;Padronize este nome de empresa:&#8221;, A2)</code></code></pre><p><strong>Categoriza&#231;&#227;o de leads</strong> &#8212; Classificar automaticamente por setor, porte ou potencial.</p><pre><code><code>=claude(&#8221;Classifique este lead por setor:&#8221;, A2)</code></code></pre><p><strong>Limpeza de dados</strong> &#8212; Corrigir inconsist&#234;ncias de formata&#231;&#227;o em massa.</p><pre><code><code>=chatgpt(&#8221;Corrija erros de formata&#231;&#227;o:&#8221;, A2)</code></code></pre><p><strong>Deduplica&#231;&#227;o inteligente</strong> &#8212; Identificar registros que parecem duplicados mas t&#234;m grafias diferentes.</p><pre><code><code>=geminy(&#8221;Esta empresa &#233; a mesma que&#8221;, A2, &#8220;?&#8221;, B2, &#8220;Responda sim ou n&#227;o&#8221;)</code></code></pre><h3>Marketing e Conte&#250;do</h3><p><strong>Cria&#231;&#227;o de t&#237;tulos</strong> &#8212; Gerar varia&#231;&#245;es para testes A/B ou brainstorming.</p><pre><code><code>=chatgpt(&#8221;Crie 3 t&#237;tulos para um artigo sobre:&#8221;, A2)</code></code></pre><p><strong>Resumo de artigos</strong> &#8212; Condensar textos longos em pontos principais.</p><pre><code><code>=claude(&#8221;Resuma os pontos principais:&#8221;, A2)</code></code></pre><p><strong>Tradu&#231;&#227;o</strong> &#8212; Traduzir conte&#250;do diretamente na planilha.</p><pre><code><code>=geminy(&#8221;Traduza para espanhol:&#8221;, A2)</code></code></pre><p><strong>An&#225;lise de feedback</strong> &#8212; Extrair insights de respostas abertas de pesquisas.</p><pre><code><code>=grok(&#8221;Extraia os 3 principais pontos deste feedback:&#8221;, A2)</code></code></pre><h3>Vendas e CRM</h3><p><strong>Pesquisa de empresas</strong> &#8212; Preparar briefings antes de reuni&#245;es ou liga&#231;&#245;es.</p><pre><code><code>=geminy(&#8221;Fa&#231;a uma busca na internet e traga as &#250;ltimas not&#237;cias sobre a empresa&#8221;, A2, &#8220;e seus principais executivos&#8221;)</code></code></pre><p><strong>Qualifica&#231;&#227;o de leads</strong> &#8212; Avaliar fit com seu ICP de forma automatizada.</p><pre><code><code>=chatgpt(&#8221;Este lead tem fit com B2B SaaS? Dados:&#8221;, A2, B2, C2)</code></code></pre><p><strong>Gera&#231;&#227;o de emails</strong> &#8212; Criar rascunhos personalizados em escala.</p><pre><code><code>=grok(&#8221;Escreva um email de prospec&#231;&#227;o para&#8221;, A2, &#8220;da empresa&#8221;, B2)</code></code></pre><p><strong>Enriquecimento de dados</strong> &#8212; Inferir informa&#231;&#245;es faltantes com base no contexto.</p><pre><code><code>=geminy(&#8221;Qual o prov&#225;vel cargo de&#8221;, A2, &#8220;baseado na empresa&#8221;, B2)</code></code></pre><h3>An&#225;lise e BI</h3><p><strong>Interpreta&#231;&#227;o de m&#233;tricas</strong> &#8212; Traduzir n&#250;meros em narrativas compreens&#237;veis.</p><pre><code><code>=claude(&#8221;Interprete esta varia&#231;&#227;o de&#8221;, A2, &#8220;para&#8221;, B2, &#8220;em vendas&#8221;)</code></code></pre><p><strong>Gera&#231;&#227;o de insights</strong> &#8212; Identificar padr&#245;es em conjuntos de dados.</p><pre><code><code>=chatgpt(&#8221;Que insights podemos tirar destes dados:&#8221;, A2:D2)</code></code></pre><p><strong>Explica&#231;&#227;o de anomalias</strong> &#8212; Entender por que valores fogem do esperado.</p><pre><code><code>=grok(&#8221;Por que este valor pode estar fora do padr&#227;o:&#8221;, A2)</code></code></pre><div><hr></div><h2>O que n&#227;o funciona bem</h2><p>N&#227;o substitui an&#225;lise cr&#237;tica. Os modelos erram, especialmente em dados num&#233;ricos ou informa&#231;&#245;es que exigem precis&#227;o factual. O resultado &#233; um primeiro rascunho que precisa de revis&#227;o, n&#227;o uma resposta final.</p><p>N&#227;o &#233; adequado para dados sens&#237;veis. Os prompts s&#227;o processados por servidores externos. Informa&#231;&#245;es confidenciais de clientes ou dados regulados n&#227;o devem passar por esse fluxo.</p><p>N&#227;o escala infinitamente. APIs t&#234;m limites de requisi&#231;&#227;o e custos por token. Para volumes muito grandes, outras arquiteturas fazem mais sentido.</p><div><hr></div><h2>Qual modelo usar</h2><p>Ap&#243;s testar extensivamente, algumas orienta&#231;&#245;es pr&#225;ticas:</p><p><strong>Claude</strong> funciona bem para an&#225;lises que exigem racioc&#237;nio mais elaborado e textos longos. &#201; o que uso para resumos e categoriza&#231;&#245;es complexas.</p><p><strong>Grok</strong> tem boa velocidade e custo-benef&#237;cio para tarefas simples e diretas. &#218;til para classifica&#231;&#245;es bin&#225;rias ou respostas curtas.</p><p><strong>GPT</strong> continua sendo vers&#225;til para a maioria dos casos, especialmente gera&#231;&#227;o de texto criativo.</p><p><strong>Geminy</strong> faz sentido se voc&#234; j&#225; est&#225; no ecossistema Google e quer minimizar depend&#234;ncias externas.</p><p>Mas a recomenda&#231;&#227;o real &#233; testar. O mesmo prompt pode ter resultados diferentes em cada modelo, e o melhor para sua aplica&#231;&#227;o espec&#237;fica s&#243; se descobre experimentando.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OcAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OcAM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 424w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 848w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 1272w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OcAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png" width="650" height="207" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a34aa2e-c8aa-47f3-8d8e-0f3856a8aecf_650x207.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:207,&quot;width&quot;:650,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30466,&quot;alt&quot;:&quot;Imagem: Modelos e respectivas fun&#231;&#245;es dispon&#237;veis&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.guilhermefavaron.com.br/i/181294521?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a34aa2e-c8aa-47f3-8d8e-0f3856a8aecf_650x207.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Imagem: Modelos e respectivas fun&#231;&#245;es dispon&#237;veis" title="Imagem: Modelos e respectivas fun&#231;&#245;es dispon&#237;veis" srcset="https://substackcdn.com/image/fetch/$s_!OcAM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 424w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 848w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 1272w, https://substackcdn.com/image/fetch/$s_!OcAM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68d62a0a-b952-44cd-9f99-c53ef1ee4c6f_650x207.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Imagem: Modelos e respectivas fun&#231;&#245;es dispon&#237;veis</figcaption></figure></div><div><hr></div><h2>Considera&#231;&#245;es finais</h2><p>A parte mais dif&#237;cil dessa implementa&#231;&#227;o n&#227;o &#233; t&#233;cnica &#8212; &#233; cultural. Convencer equipes a confiar em outputs de IA, estabelecer processos de verifica&#231;&#227;o, e identificar quais tarefas realmente se beneficiam dessa automa&#231;&#227;o.</p><p>Minha sugest&#227;o &#233; come&#231;ar pequeno: uma tarefa espec&#237;fica, com volume suficiente para justificar o setup, e onde erros n&#227;o tenham consequ&#234;ncias graves. A partir da&#237;, o uso se expande naturalmente conforme as pessoas descobrem aplica&#231;&#245;es.</p><p>*<em>Eu precisei chamar a fun&#231;&#227;o que utiliza o Gemini do Google de Geminy com &#8220;Y&#8221; pois h&#225; uma fun&#231;&#227;o j&#225; no Google Sheets com este nome.</em></p><div><hr></div><h2>C&#243;digo dispon&#237;vel</h2><p>Disponibilizei o c&#243;digo no GitHub para quem quiser experimentar ou adaptar. O reposit&#243;rio inclui documenta&#231;&#227;o completa de cada fun&#231;&#227;o, exemplos de uso e orienta&#231;&#245;es de troubleshooting.</p><p><a href="https://github.com/guifav/google_sheets_with_ai">Todos os detalhes, aqui no reposit&#243;rio do Github</a>.</p><p>Se voc&#234; implementar algo interessante ou tiver sugest&#245;es de melhoria, fico feliz em saber.</p>]]></content:encoded></item></channel></rss>