Offro il mio punto di vista, ma potrebbe non essere molto universale: la mia soluzione è quella di modularizzare in modo radicale le varie parti. Non si tratta solo di suddividerle per funzionalità; quando sento che l'llm non riesce più a gestire il codice e potrebbe andare fuori controllo, divido alcune funzionalità in microservizi diversi e li sposto direttamente in altri repository. Gli svantaggi sono evidenti, aumentando la larghezza di banda e i costi di distribuzione.