<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
<channel>
<title>André Ferreira</title>
<link>https://andreferreira.com.br</link>
<description>Um papo sobre programação e um pouco mais </description>
<language>pt-BR</language>
<copyright>© Copyright CMMV</copyright>
<atom:link href="https://andreferreira.com.br/feed" rel="self" type="application/rss+xml"/>
<item>
<title>LLM não depura como engenheiro por padrão. Ele aprende isso.</title>
<link>https://andreferreira.com.br/post/llm-nao-depura-como-engenheiro-por-padrao-ele-aprende-isso</link>
<pubDate>Tue, 14 Apr 2026 18:28:44 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/llm-nao-depura-como-engenheiro-por-padrao-ele-aprende-isso</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/c14f8ac793b189a69d69720c99ae2c678f955a58.png" /><br /> ]]>
                Durante muito tempo, a conversa sobre IA em programação ficou presa na geração de código. Todo mundo quer saber se o modelo escreve função, passa em benchmark, resolve issue, fecha ticket. Pra mim, essa pergunta já ficou pequena. A pergunta certa é outra: como um LLM depura sistemas complexos no mundo real? Foi exatamente isso que eu medi no TML, minha linguagem de programação orientada a sistemas e pensada para code generation por LLMs. Em vez de usar benchmark sintético, eu instrumentei o ambi...</description>
<media:content url="https://andreferreira.com.br/images/c14f8ac793b189a69d69720c99ae2c678f955a58.png" medium="image"/>
<category>AI</category>
</item>
<item>
<title>Entenda o funcionamento da memória e acabe com seus problemas de performance</title>
<link>https://andreferreira.com.br/post/entenda-o-funcionamento-da-memoria-e-acabe-com-seus-problemas-de-performance</link>
<pubDate>Mon, 09 Feb 2026 23:36:11 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/entenda-o-funcionamento-da-memoria-e-acabe-com-seus-problemas-de-performance</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/7a7778df5b4ee44f281db08b5114acc6a07acbd1.png" /><br /> ]]>
                Pode parecer trivial, mas a maior parte dos devs que não viveu o “inferno bom” dos anos 2000 (hardware limitado, IO lento, RAM cara) não entende um ponto básico: hoje a gente tem abundância de capacidade, mas continua preso nas mesmas limitações de latência — só que agora com volume acumulado e complexidade absurda . E aí nasce a mentira moderna: “CPU tá fraca”. Não tá. O gargalo real, na maioria dos sistemas, é outro. O grande vilão não é processamento: é memória + movimento de dados CPU/GPU mo...</description>
<media:content url="https://andreferreira.com.br/images/7a7778df5b4ee44f281db08b5114acc6a07acbd1.png" medium="image"/>
<category>Backend</category>
</item>
<item>
<title>Por que tipagem forte e compiladores na era da IA?</title>
<link>https://andreferreira.com.br/post/por-que-tipagem-forte-e-compiladores-na-era-da-ia</link>
<pubDate>Wed, 04 Feb 2026 13:59:57 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/por-que-tipagem-forte-e-compiladores-na-era-da-ia</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/ce17c90be9491d33d8c18a12ae8fda3530517f88.png" /><br /> ]]>
                Pode parecer contraintuitivo eu falar isso num mundo onde JavaScript e Python dominam e onde “IA” virou sinônimo de copiar/colar código rápido . Mas é exatamente por isso que tipagem forte + compilador ficaram ainda mais importantes agora. LLM adora caminho curto: linguagem dinâmica, script rodando sem build, sobe rápido, “funciona”. Só que esse atalho vem com juros compostos: mais bug bobo, mais bug invisível, mais tempo corrigindo bug que a própria IA gerou… e sim: mais tokens queimados . Vamo...</description>
<media:content url="https://andreferreira.com.br/images/ce17c90be9491d33d8c18a12ae8fda3530517f88.png" medium="image"/>
<category>Backend</category>
<category>AI</category>
</item>
<item>
<title>100% de coverage ou nada: a importância dos testes na era da IA</title>
<link>https://andreferreira.com.br/post/100-de-coverage-ou-nada-a-importancia-dos-testes-na-era-da-ia</link>
<pubDate>Thu, 29 Jan 2026 05:14:29 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/100-de-coverage-ou-nada-a-importancia-dos-testes-na-era-da-ia</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/bad89c36f9c4fbcafb53f08243c82d9a6a8fdf21.png" /><br /> ]]>
                Eu sempre fui muito crítico ao modelo de TDD porque, como humano, muitas vezes você precisa resolver problema rápido e trivial. E ficar testando toda maldita função que você cria é tedioso, muitas vezes desnecessário. Boa parte dos devs pensa assim, eu aposto. E tem um argumento que sempre aparece: “a maior parte dos grandes softwares foi criada e testada na raça, sem teste automatizado”. Verdade. E, do mesmo jeito que acontece com documentação, a maioria dos projetos — open source ou dentro de ...</description>
<media:content url="https://andreferreira.com.br/images/bad89c36f9c4fbcafb53f08243c82d9a6a8fdf21.png" medium="image"/>
<category>Backend</category>
<category>AI</category>
</item>
<item>
<title>O que acontece entre seu “código bonito” e o executável</title>
<link>https://andreferreira.com.br/post/o-que-acontece-entre-seu-codigo-bonito-e-o-executavel</link>
<pubDate>Wed, 21 Jan 2026 21:00:55 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/o-que-acontece-entre-seu-codigo-bonito-e-o-executavel</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/f8f38cc3dc87ea971a4140a01ccc8d5644f2591d.png" /><br /> ]]>
                Tem um assunto que as gerações novas de dev parecem ter esquecido: o que um compilador realmente faz . A maioria hoje vive num modo “piloto automático”: roda um comando no terminal e, por magia, a linguagem “executa”, vira um .exe , ou sobe um servidor HTTP. A abstração vai ficando cada vez mais alta — e aí a gente tenta “otimizar a cagada” quando a aplicação começa a morrer em carga. O resultado é previsível: virou padrão falar de escalabilidade horizontal antes de encarar o que realmente impor...</description>
<media:content url="https://andreferreira.com.br/images/f8f38cc3dc87ea971a4140a01ccc8d5644f2591d.png" medium="image"/>
<category>Backend</category>
<category>AI</category>
</item>
<item>
<title>Quando “string” vira gargalo: o detalhe invisível que explodiu meu benchmark de HTTP</title>
<link>https://andreferreira.com.br/post/quando-string-vira-gargalo-o-detalhe-invisivel-que-explodiu-meu-benchmark-de-http</link>
<pubDate>Fri, 16 Jan 2026 22:32:54 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/quando-string-vira-gargalo-o-detalhe-invisivel-que-explodiu-meu-benchmark-de-http</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/3c22a6478e8a3a3343fee5e8dd109348df4fc2e6.png" /><br /> ]]>
                Há alguns dias eu comecei uma brincadeira nova — e enorme — que eu nunca tinha tentado antes: criar uma linguagem de programação do zero . A motivação é simples: linguagens populares foram desenhadas para humanos. E humanos gostam (ou toleram) ambiguidade. Só que LLMs sofrem com isso . any , null , coerções implícitas, sobrecarga confusa, padrões opcionais… esse “caos aceitável” vira um gerador de bugs quando você coloca um modelo no volante. Então a ideia é construir uma linguagem pensada para ...</description>
<media:content url="https://andreferreira.com.br/images/3c22a6478e8a3a3343fee5e8dd109348df4fc2e6.png" medium="image"/>
<category>Backend</category>
</item>
<item>
<title>Até quando teremos linguagens de programação?</title>
<link>https://andreferreira.com.br/post/ate-quando-teremos-linguagens-de-programacao</link>
<pubDate>Sun, 21 Dec 2025 07:31:01 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/ate-quando-teremos-linguagens-de-programacao</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/2d2489c6861d05c86b98e0bb25e792ac78aa1ef4.png" /><br /> ]]>
                Um questionamento que há algum tempo me assombra é: até quando teremos linguagens de programação? Pra muita gente isso soa como filosofia barata. Pra quem já encostou em compiladores, arquiteturas e infraestrutura de build, a pergunta é bem mais concreta: a linguagem é mesmo o centro do desenvolvimento… ou só a interface que a gente acostumou a usar? O hardware não “entende” sua linguagem O hardware, no fim do dia, recebe instruções bem definidas . E isso não mudou tanto em décadas: sejam binári...</description>
<media:content url="https://andreferreira.com.br/images/2d2489c6861d05c86b98e0bb25e792ac78aa1ef4.png" medium="image"/>
<category>Backend</category>
<category>AI</category>
<category>Reflexões</category>
</item>
<item>
<title>Especialistas sob demanda: o que aprendi treinando meus “experts”</title>
<link>https://andreferreira.com.br/post/especialistas-sob-demanda-o-que-aprendi-treinando-meus-experts</link>
<pubDate>Fri, 07 Nov 2025 19:57:25 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/especialistas-sob-demanda-o-que-aprendi-treinando-meus-experts</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/5dffff3f7cbdcb0324ae84c0c4ab28186d548bfb.png" /><br /> ]]>
                Imagina você rodar modelos locais com a mesma qualidade dos grandes modelos de API? essa e a ideia que estou construindo! Minha tese é simples: especialistas sob demanda vencem generalistas inchados . Em vez de carregar um Frankenstein de 70B parâmetros para “fazer tudo”, eu mantenho um modelo base compacto residente em VRAM e plugo experts leves (LoRA/DoRA/IA³) só quando a tarefa pede . Isso roda em GPU de consumo (8–16 GB) , carrega adapters em milissegundos e mantém contexto longo sem custo a...</description>
<media:content url="https://andreferreira.com.br/images/5dffff3f7cbdcb0324ae84c0c4ab28186d548bfb.png" medium="image"/>
<category>AI</category>
</item>
<item>
<title>Como tripliquei a precisão do RAG real com Elasticsearch + Vectorizer + Neo4j</title>
<link>https://andreferreira.com.br/post/como-tripliquei-a-precisao-do-rag-real-com-elasticsearch-vectorizer-neo4j</link>
<pubDate>Tue, 28 Oct 2025 21:28:28 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/como-tripliquei-a-precisao-do-rag-real-com-elasticsearch-vectorizer-neo4j</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/983ab99e8001ee91353090072df9a25715117f3f.png" /><br /> ]]>
                Chega de teoria. Peguei dados reais de um projeto em produção, medi qualidade de resposta, latência e custo por prompt em quatro cenários (ES, Vectorizer, Neo4j e Híbrido) e em cinco prompts críticos (HNSW, MCP, compactação de storage, configuração e testes). A conclusão é objetiva: híbrido vence sempre — e não por pouco. Relatórios EXPANDED ANALYSIS: 5 DIFFERENT PROMPTS: https://github.com/hivellm/vectorizer/blob/1.2.0-rc1/docs/EXTENDED_5_PROMPTS_ANALYSIS.md COMPARATIVE ANALYSIS: PROMPT QUALITY...</description>
<media:content url="https://andreferreira.com.br/images/983ab99e8001ee91353090072df9a25715117f3f.png" medium="image"/>
<category>Backend</category>
<category>AI</category>
</item>
<item>
<title>Relevância híbrida na prática — do “parecido” ao “importante”, com um layer de raciocínio por cima</title>
<link>https://andreferreira.com.br/post/relevancia-hibrida-na-pratica-do-parecido-ao-importante-com-um-layer-de-raciocinio-por-cima</link>
<pubDate>Sat, 25 Oct 2025 16:21:15 GMT</pubDate>
<guid isPermaLink="true">https://andreferreira.com.br/post/relevancia-hibrida-na-pratica-do-parecido-ao-importante-com-um-layer-de-raciocinio-por-cima</guid>
<description>
                <![CDATA[ <img src="https://andreferreira.com.br/images/21f0843a512761c044ed690dfd408c96cb490104.png" /><br /> ]]>
                Em RAG, “relevância” não é encontrar textos parecidos: é selecionar evidências que resolvem a intenção agora. Isso exige quatro eixos: semântica (parecido), sinais (uso/êxito), estrutura (ligações/autoridade) e tempo (frescor). O que transforma isso em resposta útil é um layer de raciocínio que orquestra, pesa e justifica. Cursor Quando você escreve um prompt no Cursor, ele não repassa o texto cru para a LLM. Antes, ele “raciocina”: entende a intenção, decide a tática, lê arquivos e usa MCP para...</description>
<media:content url="https://andreferreira.com.br/images/21f0843a512761c044ed690dfd408c96cb490104.png" medium="image"/>
<category>AI</category>
</item>
</channel>
</rss>