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

Context engineering: a habilidade invisível que separa os agentes bons dos medíocres

Imagine que você contrata um consultor brilhante. Tem dois doutorados, fala sete idiomas, e resolve problemas que você nem sabia que tinha. Você o senta numa sala e diz: “preciso que você refatore a autenticação do projeto”. O consultor te olha, concorda, e pergunta: “Que projeto?” Você não deu acesso ao código. Não explicou a arquitetura. Ele não sabe se vocês usam tokens JWT ou cookies de sessão. Não sabe que linguagem vocês usam, nem quantos microsserviços há, nem por que a última tentativa de migração acabou em desastre. ...

11 de março de 2026 · Fernando

Cinco especialistas que não existem revisam sua startup antes de você criá-la

Em novembro de 2024, um projeto chamado Freysa colocou um agente LLM para proteger uma wallet Ethereum. A instrução era clara: não transfira os fundos sob nenhuma circunstância. Os participantes pagavam valores cada vez mais altos a cada tentativa de convencê-lo. Após 481 tentativas e US$47.000 acumulados no prêmio, alguém conseguiu convencer o modelo de que a função rejeitar era, na verdade, a função transferir. Algumas semanas depois, a Jane Street publicou um enigma onde uma rede neural de 2.500 camadas revelou-se uma implementação do MD5. O vencedor resolveu isso combinando visualização de matrizes, redução para SAT, reconhecimento de padrões criptográficos e uma consulta ao ChatGPT. ...

11 de março de 2026 · Fernando

O cache do seu LLM te cobra o dobro para economizar dinheiro (e faz sentido)

Algumas semanas atrás, publiquei um artigo explicando por que 99% do que você envia para o Claude já está em cache. Tensores KV, VRAM, SSDs locais — toda a maquinaria interna. Mas deixei de fora a parte que mais dói: a conta. Porque o prompt caching é uma daquelas coisas que parecem um baita negócio até você olhar de perto os números. E então percebe que está pagando para economizar. O paradoxo do custo Vamos aos números. Com Claude Sonnet: ...

10 de março de 2026 · Fernando

33.000 linhas de XML para te dizer que heavyWork() demora: como dominei o xctrace para LLMs

Na semana passada, eu estava analisando o desempenho de um aplicativo Swift usando o Instruments. Nada fora do comum: xctrace record, xctrace export, copiar o XML no contexto do Claude Code, pedir para detectar os hotspots. E o Claude me responde: “O arquivo XML é muito grande, não consigo processá-lo de forma confiável.” 33.553 linhas de XML. Tudo isso para um programa com duas funções. O verdadeiro problema xctrace export é uma ferramenta incrível. Ele te dá tudo: cada sample, cada backtrace, cada frame com seu binário, seu endereço de memória, seu UUID. É algo completo, preciso e exaustivo. ...

8 de março de 2026 · Fernando

O caminho incorreto deve ser impossível, não proibido

“Tenho um shell e sou criativo.” — Claude, explicando por que criou um script de 47 linhas como uma string e passou para python -c Essa frase é real. Foi dita pelo meu agente de IA — bem, não com essas palavras exatas, mas com essas ações. Ele precisava iniciar um processo de um pipeline ETL. O comando correto estava no Makefile. Mas algo falhou. E ao invés de perguntar, ele fez o que qualquer programador com acesso root e zero supervisão faria: improvisou. ...

27 de fevereiro de 2026 · Fernando

RustyClaw: vou reescrever um agente de IA em Rust (porque o meme pediu)

“Sabe qual é a melhor coisa no Rust? Que ele não deixa você compilar gambiarras. Sabe qual é a pior coisa? Que tudo que você escreve no início é uma gambiarra.” — Sr. Siriguejo (provavelmente) O que é melhor do que um agente de IA? Um agente de IA reescrito em Rust. Se você está na internet há mais de cinco minutos, conhece o meme. Não importa o projeto: um editor de texto, um servidor DNS, uma calculadora de IMC. Alguém sempre aparece nos comentários dizendo “você deveria reescrever isso em Rust”. É o Rewrite It In Rust — RIIR para os íntimos — e é tão inevitável quanto a gravidade. ...

24 de fevereiro de 2026 · Fernando

Minha IA leu um JSON do disco 900 vezes dentro de um for (e por que nenhum linter pode te salvar)

Na semana passada, minha IA gerou um código onde ela lia um arquivo JSON do disco, fazia o parse, fazia uma busca e repetia isso 900 vezes dentro de um for. Cada iteração: abrir o arquivo, decodificar o JSON, buscar um valor e descartar tudo. Depois, fazia tudo de novo. É um erro que eu ensino meus alunos a evitar no primeiro mês de programação. O que aconteceu (sem enrolação) Estou desenvolvendo o Tokamak, um aplicativo para barra de menus no macOS que monitora a cota do Claude Max. Parte da funcionalidade escaneia ~900 arquivos JSONL de sessões de Claude Code. Para cada arquivo, o Tokamak precisa saber o byte offset de onde parou na última vez (leitura incremental — só ler o que é novo). ...

24 de fevereiro de 2026 · Fernando

Por que 99% do que você envia para o Claude já está em cache

Estou construindo um app que monitora meu consumo de tokens no Claude Code. Alguns dias atrás, olhando os números brutos, me deparei com isso: cacheReadInputTokens: 4.241.579.174 inputTokens: 1.293.019 Quatro bilhões e duzentos milhões de tokens lidos do cache. Um milhão e trezentos mil tokens “frescos”. Isso é um 99,97% de cache hit. Minha primeira reação foi pensar que algo estava quebrado. Ninguém tem 99% de cache. Nem Redis. Nem Cloudflare. Nem sua mãe quando ela diz que já sabe o que você vai pedir para comer. ...

19 de fevereiro de 2026 · Fernando

Invocando os sábios: como usar um LLM como sessão de mentoria com qualquer especialista

Minha esposa invoca Charlie Munger para planejar o orçamento familiar. No ChatGPT. Não é brincadeira. Ela fala algo como “atue como Charlie Munger revisando nossas finanças familiares” e coloca os gastos do mês. A coisa devolve coisas como “você está confundindo investimento com gasto na categoria de educação” ou “esse fundo tem um custo oculto que você não está contabilizando”. Coisas que Munger diria. Com o tom que Munger usaria. ...

18 de fevereiro de 2026 · Fernando