Logo NascimentoIgor Nascimento / Blog
Notas de engenharia

Decisões, trade-offs e o que sobra depois que o sistema vai para produção.

Não é um blog de tutoriais. É o lugar onde escrevo sobre as escolhas que aparecem no dia a dia de quem desenha e sustenta sistemas: arquitetura, dados, modelos de IA e o custo real de cada caminho. Cada texto parte de um problema que enfrentei e discute as alternativas como numa conversa entre engenheiros, com os prós, os contras e o que eu faria diferente.

Artigos

23 conversas até agora: como organizar código que precisa durar, como colocar IA em produção sem se enganar sobre o que ela faz, como cuidar dos dados antes do modelo, o que a geometria interna dos Transformers ensina sobre alinhamento, a física de servir modelos em GPU, e projetos abertos dissecados decisão por decisão.

23 artigos

Clean Architecture: onde ela paga a conta e onde só adiciona pasta

Camadas não são o objetivo. Uma conversa sobre quando o seguro da Clean Architecture vale o prêmio e quando você só está pagando burocracia.

ArquiteturaBackend9 min de leitura

Ports & Adapters: o core é cego, e isso tem um preço

O domínio não sabe quem o chama nem de onde vêm os dados. O que você paga por essa cegueira e quais portas vazam de qualquer jeito.

ArquiteturaBackend9 min de leitura

A LLM não resolve o seu problema. E tudo bem.

O que um modelo de linguagem realmente faz, o que custa e o que você perde em previsibilidade. Com um caso real em que a resposta foi "não".

IA aplicadaArquitetura10 min de leitura

Prompt2Drawio: o modelo escreve o JSON, o código desenha o diagrama nativo do draw.io

Nem Mermaid, nem XML pelo modelo. Uma especificação JSON pequena, estilos colhidos de dentro do draw.io, layout por camadas determinístico, e o que sobra para o modelo errar quando só o conteúdo é dele.

AgentesIA aplicada14 min de leitura

Atenção: o que a fórmula não conta sobre custo

Todo mundo conhece a fórmula. Poucos olham o que ela faz com memória, latência e custo quando o contexto cresce. As decisões que vêm depois.

Deep LearningIA aplicada10 min de leitura

Spectro: um espectrograma inteiro no navegador, sem dependências, e as contas que cada parâmetro esconde

De um Float32Array a um canvas, sem dependências. A janela BH7 como aposta, o pico global como referência, Mel como remapeamento de exibição, a FFT própria como limite real, e o que entra na próxima versão maior.

ÁudioProcessamento de sinaisFrontend17 min de leitura

Pomodoro além do 25/5: o que a técnica pede de verdade, onde ela não serve, e o timer que fiz para rodá-la

Atenção contínua é o recurso escasso. A técnica Pomodoro inteira, não só o timer, onde ela não serve e o que eu ajusto, e o PomoFocus: uma página sem servidor que decide a pausa por você e registra o dia.

ProdutividadeFrontend15 min de leitura

SNS Security: o notebook foi para a assistência, e os segredos ficaram cifrados

Cifrar os .env antes de entregar o notebook virou uma ferramenta: núcleo no age, frase que nunca entra no Python, sessão em RAM que se destrói, o arquivo tratado como adversário, e a lista honesta do que não protege.

SegurançaSistemas17 min de leitura

Trello Agentic: um agente rodando na sua máquina, com Ollama, LangGraph e cinco ferramentas

Uma frase vira um card completo no Trello, com o modelo rodando local pelo Ollama. A docstring é a interface, o segredo nunca entra no contexto, e o que precisa ser exato fica no código. Onde o modelo tropeça e o que vem a seguir.

AgentesIA aplicada15 min de leitura

Nahas: uma bancada para prever preço em três frameworks, e o que ela cobra em troca

LSTM e Transformer em três frameworks atrás de uma interface só. O que a bancada entrega, o que cobra, e o que custou pegar os problemas de metodologia a tempo: semanas de execuções descartadas e refeitas.

Séries temporaisDeep Learning21 min de leitura

Stratosphere: por que separar "onde" de "quem" funciona, e o que apodrece quando o banco é mal cuidado

Detector agnóstico mais busca vetorial, sem retreino. As decisões que fazem a pipeline acertar, os números por trás de cada uma, e como o banco de referências se deteriora em silêncio.

Visão computacionalIA aplicada22 min de leitura

PhotonProtocol: um arquivo atravessando o ar como luz, e o que a câmera real ensinou ao modelo

Um canal sem volta, um simulador gentil demais, a decisão de uma linha que impediu qualquer transferência real e o formato denso que nasceu de ouvir o telefone.

ProtocolosSistemas20 min de leitura

O dataset que cresce torto: deduplicar, podar e balancear sem abrir pasta por pasta

Classes que engordam tortas, pastas cheias de cópias e quase-cópias. Três problemas que parecem um só, uma camada de ferramenta para cada, e a decisão que nenhum limiar toma por você.

DadosVisão computacional17 min de leitura

A recusa mora numa direção: o que a geometria do residual stream ensina sobre alinhamento

Recusar uma instrução não está espalhado por bilhões de pesos. Está numa direção do residual stream. O que isso revela sobre a fragilidade do alinhamento, e o que muda para quem opera modelos.

Deep LearningIA aplicada15 min de leitura

IA, dívida técnica e a ilusão de que gerar código é resolver problema

Quatro registros por segundo num código que funcionava. A correção não foi trocar de linguagem nem pedir outro prompt. Foi complexidade algorítmica, e sobre o que a IA acelera em quem não a tem.

EngenhariaIA aplicada12 min de leitura

Tela cinza, monitor que apaga e uma linha de C: consertando um driver USB de vídeo sem tocar no binário fechado

Instalador que aborta, tela cinza no boot, monitor que apaga. Três causas na camada aberta, nenhuma no firmware. Como se acha a camada certa para mexer e por que tudo precisa ter volta.

SistemasLinux15 min de leitura

TTFT e TPOT: as duas físicas que governam a latência de um LLM

Prefill é cálculo, decode é leitura de memória. 12.968 tokens por segundo de um lado, 95 do outro, no mesmo silício. As alavancas de cada fase e o trade-off de que ninguém escapa.

InferênciaInfraestrutura13 min de leitura

Janela de contexto é VRAM: a conta do KV cache que derruba servidores

Dimensionar pelo peso do modelo é o erro mais comum. A fórmula do KV cache, a tabela que explica por que GQA existe, o que as preempções denunciam, e a correção sobre FlashAttention.

InferênciaInfraestrutura13 min de leitura

VRAM é o estacionamento, Tensor Cores são o motor: por que placa antiga cheia de memória não roda formato novo

Gigabytes carregam o modelo; Tensor Cores calculam. O que cada geração entende nativamente, o que acontece quando o formato não é suportado, e a regra para escolher entre custo por GB e geração.

InfraestruturaInferência13 min de leitura

Por que uma CPU de 5 GHz passa vergonha em IA perto de uma GPU intermediária

Poucos núcleos cirúrgicos contra milhares de operários e blocos dedicados a multiplicar matrizes. Onde a CPU perde, onde ela ainda serve, e por que a banda de memória decide antes do clock.

InfraestruturaInferência12 min de leitura

A hierarquia de largura de banda: VRAM, RAM, NVMe, PCIe e o que acontece quando o modelo transborda

360 GB/s, 60 GB/s, 7 GB/s, 30 GB/s: a VRAM, a RAM, o NVMe e o PCIe. A conta de Amdahl que explica o transbordo, e a escolha entre paralelismo de tensor e de pipeline em duas placas sem NVLink.

InfraestruturaInferência13 min de leitura

Termodinâmica da inferência: por que o servidor perde metade da velocidade em vinte minutos sem mudar uma vírgula

Thermal throttling, placas que respiram o ar quente da vizinha, curvas de ventoinha de desktop num servidor 24/7. Os números do nosso painel sob carga, e por que limitar potência quase não custa em decode.

InfraestruturaSistemas12 min de leitura

Do Ollama ao vLLM: servindo um time inteiro em duas RTX 3060, com o painel aberto

Por que o Ollama não bastou para o time, o que o vLLM mudou, e a leitura do painel real: 88% de VRAM, 97% de cache hit, zero preempções, 12.968 tokens por segundo lendo e 95 gerando.

InfraestruturaInferência15 min de leitura
Nenhum artigo encontrado Tente outro termo ou limpe os filtros.