Les LLMs savent coder, mais peuvent-ils maintenir le code. Les LLMs peuvent écrire du code, mais restent-ils capables de le maintenir durablement sans aide humaine. Les LLMs savent coder, mais peuvent-ils maintenir le code dans le temps.
Les LLMs savent coder, mais peuvent-ils maintenir le code dans le temps ? Cette question est au cœur du benchmark SWE-CI, conçu pour tester la capacité des modèles à produire du code maintenable par les LLM sur le long terme, après de multiples itérations et évolutions. Contrairement aux évaluations classiques qui vérifient uniquement le fonctionnement immédiat, SWE-CI met en lumière la durabilité, la lisibilité et l’architecture du code sur la durée. Autrement dit, écrire du code qui passe des tests unitaires ne suffit pas si son socle technique n’évolue pas sans risque.
Ce que mesure SWE-CI et la différence entre écrire et maintenir
Le benchmark explore la distinction entre une solution qui marche aujourd’hui et une solution qui tient demain. Le code maintenable par les LLMs doit rester lisible, structuré et adaptable après des dizaines d’évolutions. Cela implique non seulement des choix d’implémentation robustes, mais aussi une documentation claire et des tests de régression qui suivent les changements du projet. Dans ce cadre, l’évaluation ne se contente pas d’une première passe fonctionnelle: elle scrute la longévité, la cohérence et la capacité du code à être refactorisé sans casse majeure.
Comment les LLMs se comportent face au maintien à long terme
Les modèles peuvent générer du code qui passe les tests initiaux, mais le maintien sur le long terme réclame des qualités souvent hors champ d’une simple génération: cohérence des conventions, modularité, choix de noms explicites et gestion efficace des dépendances. Sans supervision humaine, le code peut devenir fragile face à l’évolution des bibliothèques ou à des refactorings imprévus. Pour améliorer le maintien, plusieurs leviers s’avèrent utiles :
- Prompts axés sur la maintenabilité : encourager la modularité, le découpage en composants et la traçabilité des décisions.
- Outils de qualité : intégration de linting, génération de tests et vérifications de régression automatiquement associées au code produit.
- Documentation synchronisée : documentation et commentaires qui évoluent en parallèle du code pour faciliter les évolutions futures.
- Intégration continue : pipeline CI/CD qui teste régulièrement les régressions et les évolutions du code généré.
Limites et questions ouvertes
Il faut garder à l’esprit que les performances des LLMs dépendent des données d’entraînement, du contexte fourni et des contrôles humains. Le maintien du code est aussi une affaire de culture d’équipe: revues de code rigoureuses, conventions partagées et gestion des dépendances jouent un rôle majeur. Les prochaines expérimentations pourraient explorer la capacité des modèles à refactorer en sécurité, à proposer des améliorations structurelles et à limiter le drift lorsque les bibliothothèques évoluent.
Pour terminer
En fin de compte, savoir écrire du code qui fonctionne n’est pas suffisant. Le code maintenable par les LLMs existe, mais nécessite une approche robuste: prompts bien conçus, outils adaptés et supervision humaine. C’est à ce croisement entre IA et pratique DevOps que réside la vraie valeur de l’IA dans le développement logiciel, aujourd’hui comme demain.