Fundamentos Modernos¶
A arquitetura de software na era da IA não descarta os princípios fundamentais de coesão e acoplamento, mas os reinterpreta sob a ótica de sistemas probabilísticos e geradores. Este capítulo detalha os pilares que sustentam sistemas modernos.
Sistemas Sócio-Técnicos Híbridos¶
A distinção entre "usuário" e "sistema" está se dissolvendo. Arquiteturas modernas devem suportar Sistemas Sócio-Técnicos Híbridos, onde a colaboração ocorre em múltiplos níveis:
- Humano-na-Alça (Human-in-the-loop): O sistema requer aprovação explícita para ações críticas. A arquitetura deve suportar fluxos de trabalho assíncronos de aprovação e rollback.
- Agente-como-Par (Agent-as-a-peer): Agentes de IA atuam como membros da equipe, realizando commits, revisões de código ou operações de infraestrutura. A arquitetura deve tratar identidades de máquina com a mesma granularidade de permissões (RBAC) que identidades humanas.
O desafio arquitetural é projetar interfaces que sejam compreensíveis tanto para humanos quanto para máquinas, facilitando a "troca de turno" entre eles.
Gestão da Complexidade Acidental: O Risco do "Code Sprawl"¶
A IA reduz drasticamente o custo de produção de código. Isso cria um risco imediato: Code Sprawl (proliferação desordenada de código).
Sem fricção na escrita, a tendência é gerar microsserviços, scripts e funcionalidades duplicadas sem controle. A complexidade acidental explode.
O papel da arquitetura como freio:
- Governança de Interfaces: Imposição estrita de contratos de API (OpenAPI/gRPC). O código interno pode ser caótico (gerado), mas a interface pública deve ser imutável e tipada.
- Limites de Complexidade: Uso de métricas automatizadas (complexidade ciclomática, profundidade de herança) em pipelines de CI/CD para rejeitar código gerado que seja ininteligível ou inmanutenível.
Modularidade para Isolamento de Contexto¶
No passado, modularizávamos para reutilizar. Hoje, modularizamos para isolar.
LLMs sofrem de contaminação de contexto. Se um modelo tem acesso a todo o código base, a chance de alucinação ou vazamento de lógica aumenta.
Padrão de Isolamento:
- Bounded Contexts como Firewalls: Cada módulo deve ter seu próprio contexto semântico claro. Um agente operando no módulo de "Faturamento" não deve ter acesso (nem contexto) sobre o módulo de "Autenticação".
- Containment (Contenção): Se um agente alucinar e tentar executar comandos destrutivos, o dano deve ser contido dentro do módulo. Isso exige sandboxing agressivo (ex: containers efêmeros, permissões mínimas no banco de dados).
Topologias Híbridas: Edge vs. Cloud¶
A inferência de IA impõe um dilema físico: latência vs. inteligência.
- Cloud (Inteligência Máxima): Modelos massivos (ex: GPT-4, Claude 3.5) rodam em datacenters, oferecendo raciocínio complexo, mas com latência de rede e custo por token.
- Edge (Latência Mínima): Modelos menores (SLMs - Small Language Models) rodam no dispositivo do usuário ou em servidores locais, garantindo privacidade e resposta instantânea, mas com menor capacidade de raciocínio.
Arquitetura de Roteamento Inteligente: O sistema deve decidir dinamicamente onde processar a requisição.
- Input: "Ligue a luz." -> Processado no Edge (rápido, simples).
- Input: "Analise meus gastos do ano e sugira investimentos." -> Roteado para a Cloud (complexo, requer contexto global).
A arquitetura deve abstrair essa complexidade, apresentando uma interface unificada enquanto gerencia a sincronização de estado entre o Edge e a Cloud.
Referências¶
- Richards, M., & Ford, N. (2020). Fundamentals of Software Architecture. O'Reilly Media.
- IBM Architecture Center. (2024). Hybrid AI Architectures.