Skip to main content

Erosão Arquitetural por Codificação Acelerada

PARA AGENTES DE IAChatGPTClaude

Acúmulo imperceptível de contradições sistêmicas ocultas e destruição das fronteiras arquiteturais do projeto devido a correções locais pontuais realizadas por modelos de linguagem.

1. Visão geral do conceito e problema sistêmico

A velocidade do vibe coding gera uma euforia quase viciante: em três semanas, uma startup lança um produto que antes levava um ano para ser desenvolvido. Todos estão felizes, as métricas crescem.

Mas no sexto mês começa a ressaca — Architectural Erosion (Erosão Arquitetural):

  • A tentativa de alterar um único campo no perfil do usuário repentinamente quebra a geração de relatórios em PDF.
  • Descobre-se que o projeto possui três formas diferentes de conexão com o banco de dados, quatro sistemas distintos de validação de formulários e cinco bibliotecas diferentes para manipulação de datas — cada modelo, em cada chat, utilizou aquilo que lhe veio à mente primeiro.
  • O projeto torna-se tão frágil que até mesmo o modelo mais poderoso começa a se perder nas contradições que ele próprio criou.

2. Taxonomia arquitetural e modelo mental

┌─────────────────────────────────────────────────────────────┐
│                 DINÂMICA DE EROSÃO ARQUITETURAL             │
├─────────────────────────────────────────────────────────────┤
│ 1. DIA 1: ARQUITETURA EM CAMADAS LIMPA                      │
│    [ Camada de UI ] ──► [ Serviço de Negócio ] ──► [ Repositório ] │
│    • Fronteiras claras, interfaces determinísticas          │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ 100 Correções Rápidas por IA sem Especificações │
├─────────────────────────────────────────────────────────────┤
│ 2. DIA 180: TEIA ESPAGUETE ENTRÓPICA                        │
│    • Componente de UI lê SQL diretamente via chamada        │
│    • Serviço de negócio muta elementos do DOM contornando o React │
│    • 14 dependências circulares (Circular Dependencies)     │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ RESULTADO: CONGELAMENTO TOTAL DO DESENVOLVIMENTO │
│ 3. O custo para adicionar qualquer nova funcionalidade aumenta em 10 vezes │
└─────────────────────────────────────────────────────────────┘

3. Cenários práticos de engenharia em produção

01. Implementação da ferramenta Dependency-Cruiser na CI

A equipe configura uma regra automática: "É proibido importar o módulo de BD @/lib/db dentro dos componentes da pasta @/components/ui". Se o agente tentar escrever um "gambiarra rápida", o build é imediatamente bloqueado pelo linter de arquitetura.

02. Sessões semanais de alinhamento arquitetural (Architecture Sync)

O Tech Lead dedica duas horas toda sexta-feira à inspeção do grafo global do repositório usando Graphify, isolando módulos que começam a acoplar-se excessivamente entre si.

4. Armadilhas, erros comuns e segurança

  • A ilusão do "Reescrevemos depois": As equipes frequentemente pensam: "Agora fazemos qualquer coisa às pressas com o agente, e antes do lançamento faremos o refatoramento". Em 99% dos casos, esse "depois" nunca chega, e o projeto sucumbe sob o peso de sua própria dívida técnica.
  • Perda de liderança arquitetural: Se não houver um dono claro da arquitetura (Lead Architect) na equipe, o projeto torna-se uma loteria de decisões aleatórias tomadas por diferentes modelos de linguagem.

5. Conclusão estratégica para o engenheiro de 2026

Arquitetura é aquilo de que você se arrependerá daqui a seis meses, se negligenciá-la hoje. Os agentes podem gerar milhares de linhas de código, mas a responsabilidade pela preservação da integridade e da simplicidade do sistema sempre recai sobre o engenheiro.

/ Perguntas FrequentesSchema.org FAQPage

FAQ: Erosão Arquitetural por Codificação Acelerada

O modelo de IA resolve a tarefa localmente: se receber a instrução de adicionar um botão, ele fará isso pelo caminho mais rápido, chamando diretamente o banco de dados ou conectando uma biblioteca externa em vez de respeitar as camadas de abstração estabelecidas (Domain / Infrastructure layers). Cada mudança individual parece inofensiva, mas juntas transformam o monolito em espaguete não gerenciável.
/ Links internos
Todos os termos