A reescrita de 18 meses da base de código da Autonoma: lições sobre testes, dívida técnica e Server Actions

Por que um produto bem-sucedido precisou de uma reescrita completa
A Autonoma, uma empresa que pivotou várias vezes (busca empresarial, geração de documentação, agente de programação, plataforma de testes de QA), desenvolveu um produto por mais de 1,5 ano, fechou clientes, captou recursos de um grande player do setor e contratou uma equipe de 14 pessoas. Apesar dessa tração, eles decidiram descartar toda a base de código e começar do zero.
A era sem testes e suas consequências
Inicialmente, a equipe usava um monorepositório TypeScript sem modo estrito e sem testes. Isso funcionou com 2 engenheiros que dominavam grandes partes da base de código, mas se tornou desastroso após as contratações. A base de código desenvolveu problemas de null, comportamento indefinido e tratamento de erros inadequado, levando a bugs que apareciam "do nada" e até à perda de um cliente. O fundador inicialmente proibiu testes para manter uma cultura de lançamento rápido, mas depois percebeu que isso afetava a qualidade do produto e a produtividade.
Decisões técnicas que motivaram a reescrita
O produto original foi construído durante a era GPT-4 (não 4o), quando os modelos exigiam extensas proteções. Eles construíram wrappers sofisticados de Playwright e Appium com inspeções complexas e 7 estratégias de clique que se autocuravam em tempo real. Com os avanços dos modelos, essa inspeção sofisticada não é mais necessária, tornando a base de código legada com dívida técnica menos valiosa.
Abandonando Next.js e Server Actions
A equipe está abandonando o Next.js e as Server Actions, citando vários problemas:
- Server Actions são assíncronas, exigindo blocos useEffect ou manipulação manual de estado no React
- São difíceis de testar - os testes exigem criar objetos Prisma com bancos de dados em memória ou mock
- Sem capacidade de injeção de dependência
- Executam sequencialmente globalmente, criando um "Python Global Interpreter Lock fabricado, mas em TypeScript"
A nova implementação começa com testes desde o início e usa o modo TypeScript mais estrito.
📖 Read the full source: HN AI Agents
👀 See Also

Comprovando a Identidade do Modelo com a Tecnologia Modelwrap da Tinfoil
O Modelwrap da Tinfoil garante que os provedores de inferência sirvam exatamente os pesos de modelo que afirmam, usando compromissos criptográficos verificados por enclaves seguros.

Tornando-se um Engenheiro de IA Completo: Não Tocando Mais em Código
Max Heyer descreve um fluxo de trabalho onde agentes escrevem todo o código, ele apenas lê diffs, escreve especificações e revisa. A habilidade que importa é o bom gosto — avaliar código é mais difícil do que produzi-lo.

Escolhendo o Melhor Provedor de Token para as Necessidades da Sua API
Explore os principais fatores a serem considerados ao selecionar um provedor para tokens e APIs em programação e automação de IA, com base em insights da comunidade OpenClaw.

Navegando pelos Essenciais: Novos Usuários Buscam Orientação sobre o OpenClaw
Iniciantes do OpenClaw estão buscando ajuda no Reddit enquanto exploram as complexidades dos agentes de IA para programação. A comunidade de tecnologia se mobiliza com conselhos e recursos.