O dado que vai mudar sua próxima escolha de stack
A IA gasta o dobro no Next. E não é culpa do TypeScript.
Estamos próximos a entrar numa era de escassez de token, e uma decisão errada na escolha da sua stack pode custar muito caro.
TL;DR
🔥 Rails gastou metade dos tokens do Next.js pro mesmo CRUD. Mesmo prompt, mesma máquina.
🧪 NestJS ficou no meio, mais perto do Rails. O problema não é TypeScript, é falta de opinião do framework.
🧱 Framework com convenção forte economiza token porque a IA toma menos decisões.
💰 Na era de IA escrevendo código, escolha de stack virou escolha de custo.
💣 De onde veio esse teste
Semana passada um inscrito me perguntou numa live: “mano, tu tá usando alguma coisa pra economizar token? Teu consumo tá muito baixo.” Fiquei com isso na cabeça, fiz uma POC rápida comparando Rails contra Next.js e postei no LinkedIn. 80 mil views em 24 horas.
Rails: 26 centavos, 202 linhas, 18 testes. Next: 52 centavos, 457 linhas, 19 testes. Tudo 2x mais caro.
Aí o Igor mandou uma provocação boa nos comentários: “faz o teste definindo quais libs usar no TypeScript. Aí fica mais justo.” E ele tem razão. No primeiro teste o Next teve que decidir sozinho qual ORM usar, como estruturar os arquivos, onde botar a validação. O Rails não decide nada disso. Tá tudo lá por convenção há 20 anos.
Então a tese ficou clara: framework com opinião gasta menos token porque a IA toma menos decisões. E pra provar, adicionei o NestJS como variável de controle. TypeScript igual o Next, mas opinativo igual o Rails. Se o Nest ficasse perto do Rails, o problema não é a linguagem. É a falta de opinião.
🧪 As 4 regras do jogo
Pra esse teste valer alguma coisa, precisa de método. Sem isso é anedota, não dado. Quatro fases:
Fase 1: inicialização. Três projetos em branco. Rails com a flag --api (remove todo o frontend, começa enxuto). NestJS com o CLI padrão (já nasce com módulos, controllers, services). Next.js com create-next-app. E aqui já tem um detalhe: o Next não tem modo “só backend”. Ele nasce com frontend mesmo sem você pedir. Rails e Nest deixam você escolher o escopo. Next, não.
Fase 2: backend. Mesmo prompt nos três. Copia e cola. CRUD de Task com title, description, status e due_date. Rotas REST, validações, SQLite, testes e seed. Modelo fixado no Claude Sonnet 4.6. Sessão limpa. Zero intervenção. Se a IA travar, não ajudo.
Fase 3: frontend. Outro prompt idêntico nos três: adicionar interface web pro CRUD que já existe. Listagem com filtro, formulário, botão de deletar. Detalhe brabo: o Rails foi criado com --api, então não tem views. O Claude cria o frontend do zero. Intencional. Nivela o campo.
Fase 4: coleta. Pra cada execução: custo, tokens de output, cache read, cache write, linhas de código, arquivos criados, testes, tempo de API e se rodou sem erro de primeira.
🖥️ O que rolou no terminal
Rodei cada framework três vezes. Backend e frontend separados. Tudo gravado, tudo com /usage no final de cada sessão.
O Rails foi cirúrgico. Um prompt, uma execução, funcionou. O NestJS teve o mesmo comportamento: a estrutura de módulos do Nest deu pra IA exatamente o mapa que ela precisava. Já o Next.js precisou de mais tokens toda vez. Mais arquivos, mais linhas, mais decisões que a IA teve que tomar sozinha.
A diferença não é sutil. É o dobro. Em todas as rodadas.
📊 Os números: POC original (Backend)
Primeiro teste, sem controlar libs do TypeScript:
Mesmo prompt. Mesmo modelo (Claude Sonnet 4.6). Mesma máquina. A diferença tá no framework, não no dev.
🏆 O placar final: com NestJS na jogada
Quando o NestJS entrou como variável de controle (TypeScript, mas opinativo), o padrão ficou claro:
O NestJS ficou mais perto do Rails do que do Next. Isso mata a hipótese de “é culpa do TypeScript”. Não é. Os dois são TypeScript. A diferença é que o Nest tem opinião sobre onde cada coisa vai (módulos, controllers, services, pipes). O Next deixa você decidir. E quando “você” é uma IA, decidir custa token.
Os multiplicadores que importam:
Next vs Rails: ~2x mais caro
Next vs Nest: significativamente mais caro
Nest vs Rails: diferença menor, ambos opinativos
🔍 Por que isso acontece
O Rails tem 20 anos de “convention over configuration”. Quando o Claude Code recebe o prompt, ele já sabe: model vai em app/models/, controller vai em app/controllers/, migration vai em db/migrate/. Não precisa inventar estrutura. Não precisa escolher ORM (é ActiveRecord). Não precisa decidir onde botar validação (é no model).
O Nest faz a mesma coisa pro ecossistema TypeScript. O CLI já cria a estrutura de módulos. A IA sabe onde encaixar cada peça.
O Next? O Next é flexível. Isso é qualidade pra humano que sabe o que quer. Mas pra IA, flexibilidade vira custo. Cada decisão que o framework não toma, a IA precisa tomar. E cada decisão é token.
📐 O veredito
O ponto não é que Next é ruim, tá ligado? Next é brabo pra o que se propõe. Mas ele não se propõe a ter opinião sobre seu backend. E a IA sente essa falta. Quando o framework não define onde cada coisa vai, a IA precisa inventar. E inventar custa token.
Convenção economiza token. Vale pro Rails, pro Nest, pro Django, pro Laravel. Framework opinativo é LLM-friendly por natureza.
💡 E daí? (O Que Fazer Com Isso)
Escolha de stack sempre foi trade-off. Agora tem um trade-off novo na mesa: custo de token. Se você tá usando IA pra codar no dia a dia (e cada vez mais gente tá), o framework que você escolhe impacta diretamente quanto você gasta.
Isso não significa que todo mundo precisa migrar pra Rails amanhã. Significa que na hora de escolher stack pra um projeto novo, “quanto token a IA vai gastar aqui?” virou uma pergunta legítima. Frameworks com convenção forte (Rails, Nest, Django, Laravel) dão pra IA um mapa pronto. Frameworks flexíveis (Next, Express, Fastify) deixam a IA decidir, e decisão custa caro.
🔗 Referências
🎥 Assiste o vídeo completo
Se preferir vídeo, tá tudo aqui: os dados na tela e a cara de ceticismo na hora certa.
📍 Continua a resenha
Lives: terça e quinta, 10h da manhã (puro suco de chorume)
Instagram: @manodeyvin
X/Twitter: @manodeyvin
LinkedIn: linkedin.com/company/chorume
Qual framework você tá usando com IA e quanto tá gastando? Me conta aqui embaixo. 👇



