Contexte humain et modularité
Les développeurs sont limités par la capacité de mémoire de travail d'un être humain, estimée à quelques dizaines d'éléments actifs. Cette contrainte a conduit historiquement à la création de modules, d’interfaces et de couches qui tiennent chacun dans la tête d’un développeur. La modularité n’est donc pas une préférence esthétique, mais une concession aux limites cognitives : chaque composant doit pouvoir être compris, modifié et revu sans dépasser la charge mentale maximale.
Le réflexe de refactorisation
Lorsque le code accumule des branches d’exception, le développeur senior ressent « je me perds », ce qui déclenche un arrêt et une refactorisation. Ce signal, décrit comme le « refactoring reflex », a longtemps été le garde‑fou principal contre la dérive de la dette technique. Sans ce moment d’arrêt, les équipes continuent d’ajouter des cas particuliers, augmentant la complexité exponentielle du graphe d’appels.
Impact des agents IA sur le cycle de refactorisation
Les agents d’IA ne subissent pas la même contrainte de mémoire : ils peuvent charger des dizaines de fichiers, tracer chaque appel et proposer des ajouts de branches sans « se perdre ». Cette capacité, bien que bénéfique à court terme, élimine le déclencheur humain qui indiquait qu’une partie du système était devenue ingérable. L’article montre que, tant que l’on ne programme pas explicitement un prompt ou un critère de revue demandant une remise en question de la structure, l’agent poursuit indéfiniment les modifications dans un code déjà enchevêtré.
Conséquences économiques et risques
Un code désordonné impose un coût supplémentaire aux agents : chaque modification nécessite la lecture de plus de fichiers, le suivi de plus de branches et, par conséquent, la consommation de davantage de tokens. Cette hausse du coût de traitement se traduit directement en dépenses d’infrastructure. De plus, plus le contexte à charger est large, plus le risque d’hallucination augmente, car l’agent peut interpréter à tort une branche profonde ou ignorer une exception cachée. Enfin, la perte du signal humain conduit à des revues de code superficielles, où les développeurs ne peuvent plus valider les changements, créant une dépendance circulaire à l’agent et affaiblissant la capacité de l’équipe à raisonner sur son propre produit.