stamatios
← Voltar ao feed
Claude não é um compilador: força do modelo está na stack vertical
IA & Modelos · Dev & Engenharia

Claude não é um compilador: força do modelo está na stack vertical

resumo de ~3 min

Claude não é um compilador - é melhor que um

Josh Bleecher Snyder, fundador da exe.dev, argumenta que o modelo mental de LLMs como "compiladores de linguagem natural para código" é um erro de categoria. A força real está na capacidade de operar verticalmente em toda a stack - estratégia, produto, arquitetura, código e machine code - sem precisar de reuniões ou permissões entre camadas.

O problema das camadas rígidas

Software é construído em camadas que adicionam especificação: visão vira estratégia, que vira plano de produto, que vira código, que vira binário. Cada camada é tratada por um papel diferente. Mas abstrações vazam e camadas se atritam. Trabalhar entre camadas é extremamente valioso - o Empire State Building foi construído em menos de um ano e abaixo do orçamento justamente por promover consulta cruzada entre todos os níveis (arquitetos, construtores, subcontratados, metalúrgicos).

Na prática, falhamos nisso por ignorância do que vale perguntar, por desdém hierárquico e por overhead de comunicação.

O exemplo concreto: DNS distribuído

A exe.dev precisava de um servidor DNS distribuído e consistente para suas VMs que iniciam em segundos. Snyder usou LLMs para pesquisar designs padrão, explorar falhas de segurança históricas, avaliar alternativas de implementação e planejar testes. Depois, disparou múltiplos loops de agentes concorrentes para construir o sistema inteiro, incluindo testes e code review adversarial.

Os agentes levantaram perguntas em todos os níveis de detalhe. Decisões importantes foram tomadas sem consulta - e de formas radicalmente diferentes entre agentes. Por exemplo, para lidar com rollbacks de banco de dados (que quebram o contrato append-only da replicação), cada agente propôs soluções distintas. Snyder escolheu um campo "timeline" por linha: se houver mismatch, o sistema faz re-sync completo.

O processo iterativo

Snyder repetiu o processo de análise diferencial de especificação duas vezes, acumulando um "documento de cicatriz" - guidance empírica suficiente para guiar agentes nas decisões importantes em todas as camadas. O resultado final incluiu testes unitários, testes end-to-end, shadow-mode para rollout e documentação concisa escrita por e para agentes.

O processo levou cerca de uma semana de atenção. Ele leu uma quantidade insignificante do código real, mas conseguia responder com confiança todas as perguntas da equipe sobre o funcionamento do sistema. Um mês depois: zero incidentes de DNS.

Vibe-engineering vs. vibe-coding

A distinção central: vibe-coding é entregar uma tarefa e deixar o agente decidir. Vibe-engineering é usar o LLM como recurso verticalmente integrado que acelera e aumenta a capacidade do engenheiro de tomar decisões em diferentes níveis - incluindo quais decisões importam.

Snyder conclui que camadas de software que oferecem apenas conveniência estão morrendo (cita Tailwind como exemplo), mas camadas que permitem expressar decisões importantes de forma compreensível vão permanecer. Engenheiros estão sendo esticados para cima na stack sem abandonar completamente as camadas inferiores. No futuro próximo, vibe-engineering será simplesmente... engenharia.