Estou pagando $15 por milhão de tokens para escrever 'fix: typo'

Ontem, escrevi uma mensagem de commit com o Claude Code. O diff era uma alteração de uma linha: um erro de digitação em um comentário. Claude Opus leu o diff, pensou por dois segundos e gerou fix: correct typo in auth comment. Para isso, consumiu cerca de 800 tokens de entrada e 30 de saída, a $15 e $75 por milhão, respectivamente. Custo: uma fração de centavo. Mas multiplique isso por 40 commits por dia, 250 dias por ano, em uma empresa com 200 desenvolvedores usando agentes de codificação, e a fração de centavo se transforma em milhares de dólares gastos em uma tarefa intelectual equivalente a colocar band-aids. ...

5 de abril de 2026 · Fernando

Seu Mac tem um LLM gratuito e você não está usando

Você está pagando entre 20 e 200 dólares por mês para acessar LLMs. Claude, GPT, Gemini, o que seja. E a maioria das consultas feitas a partir de seus scripts e ferramentas de desenvolvimento é uma variação disto: “Classifique este erro em uma dessas cinco categorias.” “Dê um nome para essa variável.” “Diga se este commit é um fix, feat ou refactor.” “Resuma este bloco de texto em duas frases.” Enquanto isso, seu Mac com Apple Silicon tem um modelo de linguagem com 3 bilhões de parâmetros, integrado ao sistema operacional, sem custo, sem necessidade de conexão à internet, sem chave de API e sem latência de rede. E provavelmente você não está aproveitando isso. ...

4 de abril de 2026 · Fernando

Três agentes entram num bar: meu experimento para programar mais e gastar menos

Chega um momento na vida de todo programador com copilotos em que você olha a fatura mensal e pensa: “Tudo bem, mas tem mais assinatura aqui do que no meu plano da academia do bairro”. Esse momento chegou para mim com uma combinação bastante séria: Claude Max 5, Codex Plus e a tentação de experimentar Z.AI com OpenCode para os trabalhos mais baratos. A ideia parecia ótima. Mas o problema é outro: se você coloca três agentes no seu fluxo sem regras, acaba como aquele chefe de obra que tem todo mundo correndo de um lado para outro, mas ninguém segurando o projeto. ...

30 de março de 2026 · Fernando

NLTagger e análise de sentimento: por que a Apple acha que seu código é deprimente

Imagine que você está construindo um app que analisa conversas de uma equipe de desenvolvimento. A ideia é detectar se o tom da equipe é saudável ou se há sinais de estresse. Você utiliza o NLTagger da Apple porque ele está disponível, é gratuito, funciona on-device e não precisa de servidor. Três linhas de código e tudo parece resolvido. Primeira surpresa: a frase “kill the process and restart the daemon” recebe uma pontuação de -0.6. Negativa. Quase hostil. “Fatal error in memory allocation” ganha um -0.8. E “crash report uploaded successfully” — que literalmente é uma boa notícia — gera um -0.4. ...

28 de março de 2026 · Fernando

Claude de manhã, Codex à tarde: o fluxo dos dois agentes que você não sabia que precisava

TL;DR: Depois de 165 sessões com Claude Code e 27 com Codex CLI, o padrão é claro: Claude para o trabalho interativo em que você precisa pensar em voz alta, Codex para tarefas autônomas que você delega e esquece. Não é sobre qual é melhor, mas sobre quando usar cada um. Meus dados mostram que a combinação é mais eficiente do que qualquer um isoladamente. São nove da manhã, café na mão, e eu tenho uma ideia ainda meio-formada sobre como reestruturar um módulo. Não sei exatamente o que quero. Só sei que o estado atual não me agrada. ...

26 de março de 2026 · Fernando

A melhor coisa que aconteceu ao Python em décadas está escrita em Rust

TL;DR: As ferramentas do Python são há anos um desastre fragmentado e lento. A revolução não veio de dentro do ecossistema: veio do Rust. uv, Ruff e ty — todas escritas em Rust pela Astral — substituíram meia dúzia de ferramentas e são entre 10x e 100x mais rápidas. Parece que afinal o culto do Ferris tinha razão. Você já tentou explicar para alguém como instalar dependências em Python? “Use o pip. Bom, mas dentro de um virtualenv. Ou venv, que é o novo. Mas se você tem várias versões do Python, precisa do pyenv. E para gerenciar o projeto, use o poetry. Ou o pipenv. Ou o pdm. Ou o conda se faz ciência de dados. Ah, e o lock file é gerado por cada ferramenta em um formato diferente. E não esqueça do setup.py. Bom, agora é pyproject.toml. Bom, às vezes as duas coisas.” ...

26 de março de 2026 · Fernando

150 linhas de desculpas eliminadas

TL;DR: Meu agente de IA tinha um arquivo de instruções com 246 linhas para gerenciar issues no Linear. Dentre elas, 150 eram gambiarras: UUIDs hardcoded, alternativas com curl, notas explicando “a CLI não suporta X”. Em vez de reescrevê-las, criei uma ferramenta que tornou essas linhas desnecessárias. Agora, essas 150 linhas se reduziram a zero. Você já escreveu um documento de instruções tão longo que a própria extensão dele é prova de que algo está errado? ...

26 de março de 2026 · Fernando

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