Geração de Código Determinística vs Probabilística: Por Que a Conversão para Rust com Vibe-Coding do Bun Levanta Bandeiras Vermelhas

Noah Hall, escrevendo para The Tech Enabler, traça uma linha nítida entre geração de código determinística e probabilística. Ele usa a recente conversão "vibe-coded" de um milhão de linhas de código do Bun de Zig para Rust como um conto de advertência. Seu argumento central: sistemas determinísticos produzem resultados consistentes e revisáveis; LLMs introduzem incerteza que torna a revisão de código impossível em escala.
Geração de Código Determinística
Hall aponta para ferramentas determinísticas estabelecidas: o 2to3 do Python para migração de Python 2→3, e transpiladores para linguagens como Elm, PureScript e TypeScript que sempre produzem o mesmo JavaScript. Sua própria linguagem Derw pode gerar JavaScript, TypeScript ou Inglês; Tegan gera JavaScript ou Go; Mojie tem como alvo JavaScript, Python ou Inglês. Todos são baseados em transformação AST-para-AST — dado a mesma entrada, você sempre obtém a mesma saída. Consistência importa: "Se um bug é consistente, podemos corrigi-lo. Se um bug é inconsistente, fica exponencialmente mais difícil de corrigir."
Geração de Código Probabilística
LLMs variam a saída a cada execução — às vezes A, às vezes B. Hall criou o neuro-lingo há três anos como uma paródia: humanos escrevem apenas assinaturas de funções e comentários, e LLMs geram a implementação do zero a cada compilação. Um exemplo:
function add(a: number, b: number): number {
// Adicionar dois números
}
function main() {
// Imprimir "Hello World" no console
// Imprimir o resultado de add(2, 3)
}"Toda vez que neuro-lingo é compilado, o código é gerado do zero pelos LLMs. É ligeiramente diferente a cada vez. Às vezes introduz bugs. Às vezes é limpo e simples. Às vezes é caótico." Hall argumenta que fluxos de código totalmente orientados por IA estão fazendo exatamente isso, mas enviando para produção com responsabilidade humana.
A Falácia dos "Existem Testes"
Testes sozinhos não podem garantir qualidade. Hall cita o SQLite como o código mais testado: 155,8 KSLOC de código C vs. 92.053,1 KSLOC de código de teste (590× mais). Apesar de 100% de cobertura de ramos, milhões de casos de teste e extensos harnesses, o SQLite ainda depende de revisão humana. "Não é possível para um humano revisar 1 milhão de linhas de mudanças em 9 dias. O Bun não revisou o código que mesclou ao master."
Hall conclui que a geração de código determinística ainda precisa de validação, e a geração probabilística cria risco que escala com a contagem de linhas. O artigo fonte aprofunda cada exemplo.
📖 Leia a fonte completa: HN AI Agents
👀 See Also

Relatório do usuário sobre o Claude AI que passou 81 minutos em 'Pensamento Real' aumenta em torno de grandes atualizações
Um usuário relata que o Claude AI gastou 1 hora e 21 minutos em uma tarefa simples, especulando que picos de desempenho ocorrem brevemente após grandes atualizações. Exemplo: uma solicitação de pesquisa escaneou 5.113 fontes em uma sessão, mas depois apenas 100-200 fontes para consultas semelhantes.

Claude Code v2.1.163: Fixação de Versão, Lista de Plugins, Melhorias em Hooks e Correções Críticas de Bugs
Claude Code v2.1.163 adiciona version pinning, comando /plugin list, melhorias de contexto em hooks e correções para hangs no claude -p, erro EEXIST no Windows e regressão do $TMPDIR em Bazel.

Eficiência de Tokens do Opus 4.7: Prompts em Alemão Consomem Até 2x Mais Tokens que em Inglês
Um assinante do Claude Pro relata que usar alemão com Opus 4.7 consumiu 100% dos tokens da sessão em segundos, enquanto o inglês usou 37%. A ineficiência do tokenizador decorre de substantivos compostos e umlauts, causando uso de tokens 1,5–2x maior.
Novo Prompt de Sistema do Claude Proíbe Letras de Músicas e Personagens Protegidos por Direitos Autorais
O novo system prompt atualizado da Anthropic para os apps de consumo do Claude adiciona regras estritas contra reprodução de letras de músicas e personagens protegidos por direitos autorais, em resposta a processos recentes.