A Reescrita em Rust e a Era do Pay-to-Win Explícito

Eu escrevi um post há poucos dias chamando a reescrita em Rust do Bun de um experimento. Hoje, o PR #30412 foi mergeado. Um milhão de linhas de código Zig foram portadas para Rust em seis dias. Enquanto a comunidade discute se isso é uma traição ao Zig ou um “flex” técnico massivo, estão ignorando o detalhe mais importante. Esta reescrita foi uma manifestação industrial alimentada por tokens infinitos e um policial muito rigoroso, não um esforço humano.

Precisamos parar de fingir que o Bun era um projeto artesanal, feito à mão. Jarred Sumner nunca escondeu o fato de que já estava usando agentes de IA para escrever de 80 a 90% da base de código em Zig. Os vazamentos de memória, os segfaults e os constantes problemas de estabilidade que assolavam o Bun eram o resultado natural de dar a um agente de IA uma faca afiada como o Zig sem nenhuma guarda de segurança. Quando você deixa um agente codar baseado no “vibe” através de gerenciamento manual de memória, você obtém uma bagunça que nenhum humano consegue auditar. O próprio Jarred abordou o sentimento de “má notícia” no Twitter, notando que a maioria dos feedbacks envolvia relatórios de crash que um borrow checker teria simplesmente evitado.

A mudança para Rust é um pivô em direção ao Alinhamento de Modelo. Costumávamos escolher linguagens baseados em como elas pareciam para os humanos ou quão rápido rodavam no hardware. Agora, temos que escolhê-las baseados em quão bem uma IA consegue raciocinar sobre elas. Rust é a linguagem perfeita para um agente porque o borrow checker atua como um motor de lógica formal. Se o código não compila, o agente tem uma mensagem de erro determinística para iterar. Rust é o policial na sala que impede a IA de alucinar um bug de use-after-free. Até que os agentes sejam 100% capazes de um código perfeito, quanto mais rigorosa a linguagem e as ferramentas, melhor.

Testes de alta qualidade não são o código-fonte, mas se tornaram a restrição mais valiosa que temos. Se você quer que um modelo reproduza uma base de código ou a porte entre linguagens, os testes são a única maneira de impedir que a IA fique vagando sem rumo. Você precisa de um teste para cada característica individual que deseja replicar. Sem essa verdade fundamental, o modelo não tem um alvo. A taxa de aprovação de 99.8% na suíte de testes do Bun é a única razão pela qual este porte teve sucesso. Os testes são os trilhos obrigatórios para um mundo onde a IA faz o trabalho pesado.

A vida sempre foi pay-to-win, e o software não é exceção. Estamos apenas vendo essa realidade se tornar muito mais explícita. Jarred tem o que a maioria de nós não tem: tokens infinitos e acesso a modelos que o resto do mundo não consegue tocar. Estamos entrando em um mundo de engenharia de software de dois níveis, um sentimento ecoado nos debates acalorados no Hacker News. Existem os Arquitetos, que sentam no topo de empresas como a Anthropic e usam modelos de nível divino para manifestar sistemas inteiros da noite para o dia. E existem o resto de nós, os camponeses dev, que temos que trabalhar duro com modelos mais baratos e burros enquanto a vida continua a favorecer aqueles com mais computação.

A mesclagem do PR #30412 é a linha de chegada para a era da programação de sistemas manual. A alma do projeto vive na escala da computação e na qualidade das restrições usadas para gerá-lo, em vez do artesanato dos bytes. Ainda estou observando para ver se esse código será revertido ou como ele realmente performará em produção, mas a mensagem é clara. A era do artesão acabou, e a era do Arquiteto gerado por máquina começou.