> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/pt-br/2026/w02-rethinking-complex-abstractions.md).

# W02-Repensando abstrações complexas

À medida que a programação com IA avança, vale repensar as abstrações complexas.

Nos últimos dez anos, construímos muitos sistemas complexos na engenharia de frontend, como bibliotecas de componentes, soluções de atualização dinâmica e sistemas orientados a configuração. Tudo isso parte de uma hipótese: código de qualidade é caro, o tempo dos desenvolvedores é escasso e a capacidade cognitiva humana é limitada. Por isso seguimos o princípio Don't Repeat Yourself (DRY), para evitar trabalho repetido, reduzir custos de manutenção e construir grandes sistemas com equipes limitadas. Podemos chamar isso de modelo econômico da escassez.

As abstrações humanas complexas, por outro lado, criam obstáculos para a IA. Diante de um projeto muito encapsulado, com vários componentes de ordem superior (HOC) e Hooks personalizados, ela tende a alucinar se o conteúdo dessas caixas-pretas não estiver claramente definido. Quando o código segue Write Everything Twice (WET), é direto, explícito e até redundante, a IA costuma lidar melhor com ele. Hoje já podemos fazer uma aproximação: se tivéssemos uma oferta ilimitada de estagiários, que novas soluções surgiriam para os problemas técnicos do passado? Podemos chamar isso de modelo econômico da abundância.

Na semana passada, por coincidência, vi uma notícia sobre o Tailwind, a conhecida biblioteca de frontend de código aberto. O caso é interessante e merece uma conversa mais detalhada.

Tudo começou no repositório do Tailwind CSS no GitHub. Um desenvolvedor abriu um [PR](https://github.com/tailwindlabs/tailwindcss.com/pull/2388) propondo adicionar um endpoint /llms.txt ao site oficial. É um padrão de texto simples voltado a grandes modelos de linguagem (LLM), pensado para permitir que a IA assimile a documentação técnica com mais eficiência e precisão e, assim, sugira código melhor. Do ponto de vista técnico, a proposta era extremamente “correta”. Hoje, com a programação assistida por IA já disseminada, aderir aos LLMs é quase uma obrigação ideológica para projetos de código aberto.

Mas Adam Wathan, criador do Tailwind, fechou pessoalmente o PR em 6 de janeiro, alegando sustentabilidade comercial. Se a IA conseguir ler a documentação e dar respostas diretas com muita facilidade, os desenvolvedores deixarão de visitar o site. Menos tráfego significa menos exposição para produtos pagos como o Tailwind UI, ameaçando diretamente a receita da empresa.

A decisão de Adam recebeu várias críticas na comunidade, sob o argumento de contrariar o espírito do código aberto. Para explicar a situação, [Adam publicou uma gravação de 33 minutos](https://x.com/adamwathan/status/2008909129591443925): um monólogo gravado no celular durante sua caminhada matinal. O caixa cobria apenas seis meses de despesas, e eles tinham acabado de demitir 75% da equipe de engenharia — na prática, três de quatro pessoas, todas muito boas. Recomendo ouvir, se houver tempo. Dá para sentir o peso e a impotência transmitidos pela voz.

Um pouco da história do Tailwind. Ele surgiu em 2017 e, na minha avaliação, chegou ao auge em 2020. Naquele ano, Adam Wathan anunciou, animado, que [o primeiro produto comercial da empresa, Tailwind UI, havia ultrapassado US$ 2 milhões de receita menos de cinco meses depois do lançamento](https://adamwathan.me/tailwindcss-from-side-project-byproduct-to-multi-mullion-dollar-business/). Olhando para trás, se houve um auge no setor de frontend, acho que em grande parte ele pode ser situado em 2020.

Antes do Tailwind, a biblioteca de componentes mais popular no frontend era o Bootstrap. O Tailwind conseguiu superá-lo porque atacou o custo de manutenção do CSS. Sua filosofia é Utility-First: em vez de componentes prontos, oferece blocos básicos como p-4, flex e text-red-500. No fundo, foi uma vitória de “composição em vez de herança” no CSS. O Bootstrap parte da herança de componentes predefinidos; o Tailwind parte da combinação de classes atômicas para criar estilos novos.

Por fim, o código aberto. Alguém na comunidade disse: “No fim, só restarão dois tipos de software de código aberto: projetos com prazo contado até o abandono, à espera de que voluntários não remunerados esgotem suas forças; e projetos apoiados por grandes empresas.”

Pelo que vemos hoje, o Tailwind está no primeiro grupo e o Bun, no segundo. A raiz é o problema do carona. Antes da era da IA, embora a maioria dos usuários não pagasse, pelo menos contribuía com tráfego, reputação e possíveis oportunidades de contratação. Na era da IA, os agentes se tornaram os caronas definitivos. Extraem conhecimento de código aberto com enorme eficiência e o convertem em valor para serviços comerciais, enquanto os mantenedores não recebem nada.

O Tailwind ao menos deixa claro que o modelo clássico de trocar software de código aberto por atenção e converter atenção em receita precisa se transformar.

Mas o mundo não pode se resumir a apenas essas duas opções. Veja o Stack Overflow, uma plataforma que também tem espírito de código aberto. Outra notícia da semana passada: depois do surgimento do ChatGPT, o número mensal de perguntas caiu de 300 mil para quase zero, mas a receita anual dobrou para US$ 115 milhões graças ao licenciamento de conteúdo e a produtos de IA para empresas.
