Madness Driven Design: Don Quijote, Sancho Panza e seu copiloto IA

TL;DR: Um modelo LLM é como Don Quijote — você não pode curá-lo, ele é estocástico por natureza. A solução não é corrigir o louco, mas colocar um Sancho Panza determinista ao lado. MDD tem duas camadas: primeiro você estuda os erros que ele comete para projetar ferramentas que os absorvam, e depois o solta com essas ferramentas para garantir que nenhuma brecha foi deixada. Projete para a loucura, não contra ela. ...

26 de março de 2026 · Fernando

Por que a saída da minha CLI não é XML (e como acabei reinventando o TOON sem saber disso)

TL;DR: Quando seu consumidor principal é um LLM, XML e JSON desperdiçam tokens repetindo estrutura em cada elemento. Um formato posicional compacto reduz o consumo em 50%. Descobri que essa ideia já tinha nome: TOON (Token-Oriented Object Notation). Mesma pressão seletiva — tokens caros e chaves repetitivas — mesma solução. Anthropic usa XML para tudo. Seus system prompts são envoltos em <instructions>, seus exemplos em <example>, suas ferramentas em <function>. Quem trabalha com o Claude está cercado por tags. ...

26 de março de 2026 · Fernando

Programação Adversarial: quando seu copiloto IA inventa a API

TL;DR: Sua IA vai inventar campos de API que parecem perfeitos, mas não existem. A solução não é cruzar os dedos para que funcione: é baixar o schema real antes de escrever o código, capturar respostas reais como fixtures e separar o fetch do processamento para poder testar sem dependência de rede. Programação adversarial: programe assumindo que seu copiloto mente. Você já escreveu código para uma API, tudo compilou, os testes passaram, a lógica fazia sentido… e ao conectar com a API real, nada funcionava? ...

26 de março de 2026 · Fernando

Linear Agent não é o que você precisa. Seu agente já estava no terminal

TL;DR: A Linear lançou um agente de IA integrado. Legal, mas não resolve o problema dos desenvolvedores que trabalham com coding agents no terminal. O que precisamos não é outro agente, mas sim uma CLI robusta que o agente que já temos possa usar. E se for para construir, que seja em Rust — por isso nasceu lql, uma CLI para Linear projetada para agentes. Ontem, a Linear anunciou seu agente de IA. Um chatbot integrado ao app que entende seu roadmap, seus issues e seu código. Você conversa com ele no Slack, o menciona em um comentário, e ele sintetiza contexto, sugere ações e até cria issues para você. ...

25 de março de 2026 · Fernando

Transforme e conquiste: como o Google comprime LLMs 6x mudando de coordenadas

Multiplicar é difícil. Somar é fácil. Todo mundo aprende isso na escola. O que quase ninguém sabe é que os logaritmos existem precisamente para explorar essa assimetria: eles transformam uma multiplicação em uma soma, processam o problema no mundo fácil e depois desfazem a transformação. O resultado é correto. O esforço, muito menor. Esse padrão — transformar o problema para um espaço onde resolvê-lo seja trivial, resolver e voltar ao original — é um dos mais poderosos em toda a engenharia. A transformada FFT faz isso com sinais. Os logaritmos fazem isso com produtos. Agora, o Google acaba de publicar um artigo mostrando como fazer isso com a compressão de modelos de linguagem. ...

25 de março de 2026 · Fernando

Sua IA escreve código que compila, mas não significa nada (e um linter pode pegá-la)

Imagine que você pede a alguém para construir uma estante. A pessoa entrega algo bonito, com prateleiras, parafusos, tudo no lugar. Você encosta na parede e ela desaba. Os parafusos são cenográficos. Parecem parafusos, mas são de plástico. É isso que um LLM faz quando abusa do sistema de tipos. Ele te entrega código que compila, passa os testes, e parece correto. Porém, por dentro, onde deveriam haver tipos com significado, há strings. Onde deveria haver um estado explícito, há um nil que pode ter três significados diferentes, dependendo de quem lê. E onde deveria haver um enum com dois casos, há um == "claude" que alguém eventualmente escreverá errado, sem ninguém perceber até chegar em produção. ...

23 de março de 2026 · Fernando

Seu plan.md precisa de um advogado do diabo (e Codex se oferece como voluntário)

Você já escreveu um plano técnico às onze da noite, convencido de que estava impecável, e então descobriu pela manhã que esqueceu da autenticação? Eu já passei por isso. Mais de uma vez. E o pior não é o fato de esquecer — é que, quando você usa uma IA para planejar, o plano parece tão coerente que seu cérebro para de procurar falhas. Claude gera um documento com seções, dependências, ordem de execução, e tudo se encaixa. Parece um plano feito por um engenheiro sênior. Mas ninguém o contestou. ...

23 de março de 2026 · Fernando

Mole: a ferramenta de limpeza para Mac que você não sabia que precisava (mas só dois comandos valem a pena)

Quantos gigabytes de lixo tem no seu Mac neste exato momento sem que você saiba? Não estou falando das fotos duplicadas do churrasco de 2019 nem da pasta de Downloads que mais parece um lixão da cidade. Estou falando de artefatos de compilação. node_modules de projetos que você não toca desde a pandemia. Caches de build de frameworks que você nem lembra ter instalado. Derived Data do Xcode acumulando poeira embaixo da cama. ...

23 de março de 2026 · Fernando

Trabalhar com um agente de IA é como conviver com o protagonista de Memento

Imagine que você tem um colega de trabalho brilhante. Ele resolve problemas complexos, escreve código limpo, entende o que você pede de primeira. Mas toda manhã, quando você diz “abra o projeto do curso”, ele te encara com cara de dúvida e pergunta: “Que curso? Onde está?” Todos os dias. Sem exceção. É exatamente como conviver com Leonard Shelby, o protagonista de Memento. O cara que não consegue formar novas memórias e precisa tatuar as informações importantes no corpo para não esquecê-las. ...

14 de março de 2026 · Fernando

Um filtro de Kalman para não incomodar o servidor (ou o prazer culposo da sobreengenharia)

Eu tenho um app de barra de menu que precisa saber de um número. Uma porcentagem de 0 a 100. Para obter isso, ele consulta um servidor a cada 30 segundos. Faça as contas: 30 segundos são 2 chamadas por minuto, 120 por hora, 960 em um dia de 8 horas. Quase mil requisições HTTP por dia para obter um número que às vezes não muda por 20 minutos. Isso não é monitoramento. É perseguição ao servidor. ...

12 de março de 2026 · Fernando