O Instagram Direct completou a migração de sua interface Android do sistema legado Android View para Jetpack Compose, implementando uma arquitetura de codebase nativa para IA que facilita a compreensão, modificação e manutenção por agentes de código. Segundo engenheiros do Instagram, a migração resultou em redução de 50% no volume de código UI e diminuição de 33% nos custos de token por sessão de agente de IA.
Princípios de Arquitetura AI-Nativa
Os engenheiros do Instagram destacam que "projetar uma arquitetura nativa para IA levou a ganhos significativos". Ao invés de uma abordagem fragmentada em que agentes são orientados a migrar componentes individuais, a ênfase recaiu sobre a avaliação se a arquitetura subjacente facilita implementações corretas.
O desafio fundamental identificado é que "ferramentas de IA frequentemente tomam o caminho de menor resistência", o que pode introduzir bugs sutis, débito técnico e regressões de performance. O objetivo da otimização foi estruturar o codebase de forma que o caminho de menor resistência leve a código correto e de alta qualidade, enquanto torna más decisões de design caras e difíceis de expressar.
Outro princípio-chave foi a minimização de dependência de contexto, favorecendo padrões estabelecidos e práticas familiares sobre conhecimento específico do codebase. Isso permite que agentes de IA produzam resultados mais confiáveis sem depender de nuances particulares do projeto.
Resultados da Migração
A migração foi executada sem interrupção do trabalho da equipe mais ampla, permitindo que engenheiros continuassem entregando novos recursos. Os workflows assistidos por IA foram padronizados para promover consistência e garantir alinhamento com convenções arquiteturais compartilhadas.
Os números alcançados incluem:
- Redução de 50% no volume de código UI
- Redução de 35% no tempo de execução de agentes de IA
- Redução de 33% em custos de token por sessão de agente
- Redução de 32% em trocas entre engenheiro e agente
Desafios e Estratégia de Performance
O maior desafio foi garantir que a migração não introduzisse regressões de performance. A equipe monitorou três métricas de produção críticas: time to interact (tempo para a tela ficar utilizável), time to fully load (tempo para todo conteúdo carregar) e scroll performance (suavidade de rolagem).
Essas métricas foram rastreadas em runtime na produção, permitindo testes A/B comparando a UI Compose migrada contra a interface legada. Um achado significativo foi que a performance só podia ser avaliada confiável quando telas inteiras eram portadas para Compose, eliminando Views legados que podiam distorcer medições.
Componentes Compose foram abstraídos do framework envolvente mantendo compatibilidade com RecyclerView e LazyColumn simultaneamente. A equipe implementou capacidade de alternância entre os dois em runtime via feature flags, viabilizando testes A/B rigorosos.










