Da prompt engineering à frontier company: por que o modelo já não é o diferencial

Três anos atrás, a pergunta que eu mais ouvia era: “qual é o melhor prompt?” Dois anos atrás, mudou pra: “como faço RAG?” Ano passado: “como construo um agent?” Esse ano, a conversa é diferente. As pessoas estão perguntando como transformar uma organização inteira pra operar com agents. Não um chatbot no site. Dezenas de agents integrados nos processos, com governança, observabilidade, permissões granulares. Essa evolução conta uma história. E acho que poucos pararam pra conectar os pontos. ...

2 de julho de 2026 · 6 minutos · Ricardo Martins

Como RAG funciona: da teoria ao pipeline

O VP de produto chega na daily: “Quero que o chatbot responda perguntas sobre nossa documentação interna. Tem 2000 páginas de runbooks, políticas, e procedimentos. O ChatGPT não sabe nada disso.” O time de ML responde: “Vamos implementar RAG.” Todo mundo concorda. Você fica com a tarefa de provisionar a infra. Mas antes de subir recursos, vale entender o que RAG realmente faz por dentro. O mapa pro profissional de infra Conceito RAG O que faz Equivalente em infra Retrieval Buscar documentos relevantes Query no search engine Augmentation Adicionar docs ao prompt do LLM Montar o payload do request Generation LLM gera resposta usando o contexto O response do modelo Chunking Dividir documentos em pedaços menores Partition de dados, sharding Indexing pipeline Processar docs e gerar embeddings ETL/data pipeline Hybrid search Combinar busca semântica + keyword Usar CDN + origin server O problema que RAG resolve LLMs têm duas limitações fundamentais: ...

2 de julho de 2026 · 7 minutos · Ricardo Martins

Como vector databases funcionam por dentro

O time de ML acabou de te pedir um “vector database” em produção. Você sabe operar PostgreSQL, Redis, Cosmos DB. Mas isso? É um banco de dados ou um índice de busca? Precisa de backup? Tem replicação? Qual o modelo de consistência? Aqui dentro: o que é, como funciona por dentro, e como operar em produção. O mapa pro profissional de infra Conceito Vector DB O que faz Equivalente em infra Vector/Embedding Array de floats que representa significado Uma row com 1536 colunas numéricas Similarity search Buscar vetores parecidos Query com ORDER BY distance LIMIT K Index (HNSW, IVF) Estrutura pra busca rápida B-tree, hash index num banco relacional Dimension Tamanho do vetor (768, 1536, 3072) Largura da row (quantas colunas) Distance metric Como calcular “parecido” Cosine similarity, Euclidean, dot product Recall % de resultados corretos encontrados Taxa de acerto da recuperação (o que deveria aparecer apareceu?) O problema fundamental Num banco relacional, buscar é comparar valores exatos ou ranges. WHERE status = 'active' ou WHERE created_at > '2024-01-01'. Indexes como B-tree resolvem isso em O(log n). ...

29 de junho de 2026 · 8 minutos · Ricardo Martins

Reinforcement learning: o que é e por que importa pra LLMs

Você já se perguntou por que o ChatGPT responde educadamente em vez de cuspir texto incoerente? Um modelo base sem alignment gera texto estatisticamente provável. Ele completa frases. Não “quer” ajudar ninguém. O que transforma um gerador de texto num assistente útil é Reinforcement Learning from Human Feedback (RLHF). E entender isso explica muito do comportamento que você observa nos modelos em produção. O mapa pro profissional de infra Conceito RL O que faz Equivalente em infra Agent Quem toma ações O autoscaler, o controller Environment Onde as ações acontecem O cluster, a infra Reward Feedback numérico (bom/ruim) Métricas (latência, custo, uptime) Policy Estratégia de decisão Regras do autoscaler (quando escalar, quanto) Episode Uma sequência completa de ações Um ciclo de scaling (scale up → observa → scale down) Exploration vs Exploitation Tentar coisas novas vs usar o que funciona Canary deploy vs stable release Reinforcement learning em 5 minutos RL é uma das três formas de machine learning. As outras duas são: ...

26 de junho de 2026 · 6 minutos · Ricardo Martins

Conceitos de LLMs: o deep dive que faltava

Sexta-feira, 17h. Você recebe um ticket do time de data science: “O modelo está retornando respostas cortadas. Parece que o context window encheu. Pode aumentar?” Você olha pro ticket. Context window? Aumentar como? Isso é configuração de infra ou limitação do modelo? É memória? É disco? Onde isso vive? Se você já passou por isso, esse post é pra você. Aqui dentro: o que cada peça de um Large Language Model faz, explicado pra quem entende de sistemas. Não pra virar ML engineer, mas pra ter vocabulário e contexto pra resolver problemas reais no dia a dia. ...

23 de junho de 2026 · 8 minutos · Ricardo Martins

System design: URL Shortener, simplicidade em escala

“Design a URL shortening service like Bitly or TinyURL.” Essa é geralmente a primeira pergunta de system design que candidatos encontram. Parece simples: recebe URL longa, retorna URL curta, redireciona quando acessam. Dá pra fazer em 50 linhas de código, certo? Certo. Pra 100 usuários. Agora faz isso pra 100 bilhões de URLs com 100.000 redirects por segundo e vamos ver o quão “simples” é. O URL Shortener é o exercício perfeito pra fechar a série porque combina decisões aparentemente simples que revelam profundidade quando você puxa o fio: ...

30 de maio de 2026 · 16 minutos · Ricardo Martins

System design: Twitter/X, feed de notícias em escala

“Design a social media feed like Twitter.” Se YouTube é sobre arquivos grandes, WhatsApp sobre entrega garantida, e Uber sobre dados em movimento, Twitter é sobre o problema mais traiçoeiro de todos: fan-out. Um único tweet de alguém com 50 milhões de followers precisa aparecer na timeline de cada um deles, em segundos. O que parece simples (“mostrar posts de quem eu sigo em ordem cronológica”) se torna um monstro de engenharia quando a escala é: ...

28 de maio de 2026 · 17 minutos · Ricardo Martins

System design: Uber, geolocalização e matching em tempo real

“Design a ride-sharing platform like Uber.” Se YouTube é sobre throughput de dados e WhatsApp sobre latência de mensagens, Uber é sobre dados em movimento. Literalmente. Milhões de carros se movendo simultaneamente, e o sistema precisa saber onde cada um está, a cada segundo, pra conectar passageiros e motoristas em tempo real. O desafio do Uber é único porque combina: Geolocalização em tempo real (milhões de pontos se movendo) Matching otimizado (encontrar o melhor motorista, não apenas o mais próximo) Cálculo de rota e ETA (com condições de tráfego variando) Pricing dinâmico (oferta e demanda flutuando por região e minuto) Tudo isso com latência perceptível pro usuário de < 3 segundos entre apertar “pedir corrida” e ver o motorista atribuído. ...

26 de maio de 2026 · 16 minutos · Ricardo Martins

System design: WhatsApp, messaging em tempo real

“Design a messaging system like WhatsApp.” Se o YouTube é o exercício clássico de throughput e storage, WhatsApp é o exercício clássico de latência e conexões persistentes. O desafio muda completamente: em vez de entregar arquivos grandes pra milhões de viewers passivos, precisamos entregar mensagens pequenas pra bilhões de usuários em tempo real e garantir que nenhuma se perca. WhatsApp processa mais de 100 bilhões de mensagens por dia com uma equipe historicamente pequena (~50 engenheiros quando foi adquirido pelo Facebook em 2014). Esse é o poder de boas decisões arquiteturais. ...

24 de maio de 2026 · 14 minutos · Ricardo Martins

System design: YouTube, streaming de vídeo em escala

“Design a video-sharing platform like YouTube.” Essa é possivelmente a pergunta de system design mais clássica que existe. E o motivo é simples: um sistema de vídeo toca em quase todo conceito importante: upload de arquivos grandes, processamento assíncrono, storage massivo, CDN global, adaptive streaming, e leitura pesada com caching agressivo. Nesse artigo, vamos aplicar o framework do post anterior pra projetar uma plataforma de vídeo do zero. Não vou fingir que estamos inventando o YouTube. Vou explicar por que cada decisão arquitetural faz sentido no contexto de escala real. ...

22 de maio de 2026 · 11 minutos · Ricardo Martins