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

A semana em que a disciplina venceu a magia

Publiquei seis artigos esta semana. Um sobre PostgreSQL. Outro sobre agentes de IA. Outro sobre gestão de contexto. Um tutorial de automação. Uma análise de debugging. E um design de conselho adversarial para avaliar MVPs. Não foi algo planejado. Cada artigo surgiu a partir de um paper, uma palestra ou um projeto que achei interessante de forma isolada. Mas, ao vê-los juntos, há um fio condutor que eu não tinha percebido enquanto escrevia. ...

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

Uma rede neural de 2.500 camadas que é na verdade MD5: o que isso ensina sobre debugging

A Jane Street, uma das firmas de trading quantitativo mais seletivas do mundo, publicou algumas semanas atrás um desafio de interpretabilidade mecanística. Eles projetaram manualmente uma rede neural com aproximadamente 2.500 camadas lineares, pesos inteiros, e a lançaram para o público com uma pergunta: qual função esta rede está computando? A resposta: MD5. Um algoritmo de hash criptográfico de 1992, implementado inteiramente como multiplicações de matrizes e funções ReLU. O interessante não é a resposta. É o caminho que o vencedor seguiu para chegar até ela. Porque esse caminho é, sem exageros, um manual de debugging de sistemas opacos que se aplica muito além do aprendizado de máquina. ...

11 de março de 2026 · Fernando

De /simplify ao conselho Jedi: como criei um code review com Kent Beck, Martin Fowler e Mike Acton

Claude Code possui um slash command chamado /simplify, que analisa seu código automaticamente. Eu passei um diff gigante — cerca de 500 linhas em 8 arquivos. O resultado foi… interessante. Encontrou coisas que eu não teria notado. Mas também me fez perder tempo com problemas irrelevantes. Então, desmontamos tudo e reconstruímos peça por peça. O que faz o /simplify É um skill que já vem embutido no Claude Code (não é necessário instalar). Ele executa três agentes em paralelo, cada um analisando o mesmo diff sob um ângulo diferente: ...

9 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

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