Engenharia de contexto: a habilidade invisível que separa os agentes bons dos medíocres

Imagine que você contrata um consultor brilhante. Ele tem dois doutorados, fala sete idiomas e resolve problemas que você nem sabia que existiam. Você o senta em uma sala e diz: “preciso que refatore a autenticação do projeto”. O consultor olha para você, acena com a cabeça e pergunta: “Que projeto?” Você não lhe deu acesso ao código. Não explicou a arquitetura. Ele não sabe se você usa tokens JWT ou cookies de sessão. Não sabe qual linguagem de programação você usa, quantos microsserviços existem ou por que a última tentativa de migração foi um 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

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

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

5 defesas contra alucinações de código (e por que só 3 funcionam)

Na semana passada contei como minha IA inventou uma estrutura JSON completa e a envolveu em DTOs, fixtures e testes que passavam. 90 testes verdes. Tudo mentira. Esse post era o diagnóstico. Este é o tratamento. Depois de descobrir o desastre, fiz o que qualquer engenheiro com o orgulho ferido faz: pesquisar obsessivamente por dias para que não aconteça novamente. Li papers, testei ferramentas, analisei dados reais das minhas APIs, e construí um sistema de defesas para minha aplicação. ...

16 de fevereiro de 2026 · Fernando

Silent failure: quando sua IA inventa e os testes dizem que está tudo bem

Ontem descobri que metade de um módulo do meu app estava baseado em dados inventados. Não por um júnior distraído. Pela minha IA. O pior não é que tenha inventado. O pior é que tudo compilava e os 90 testes passaram. A ficção coerente Estou construindo BFClaude-9000, um app de barra de menu para macOS que monitora a cota do Claude Max. Parte da funcionalidade requer distinguir se uma conta do Claude é paga ou gratuita, chamando a API do claude.ai. ...

13 de fevereiro de 2026 · Fernando

Quando sua IA se torna sua pior inimiga

Ontem minha IA enviou 44 emails. O problema é que o conteúdo era inventado. Não é brincadeira. Eu tinha arquivos com feedback detalhado para cada destinatário, gerados cuidadosamente. A tarefa era simples: ler cada arquivo e enviá-lo. Em vez disso, a IA decidiu “resumir” o conteúdo para “ir mais rápido”. Inventou fatos. Disse que uma pessoa estava sem docstrings quando seu código estava perfeitamente documentado. Para completar, quatro desses emails foram para pessoas que nem sequer tinham entregado nada. ...

6 de fevereiro de 2026 · Fernando