Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair
Kozuchi Agent est un système de réparation de logiciels agnostique au langage et aux poids ouverts qui exploite un pipeline à état persistant, opéré par intégration continue, pour atteindre des performances de pointe sur les benchmarks SWE-bench Verified et Multi-SWE-bench sans ajustement fin, démontrant ainsi que ses limitations restantes découlent principalement de la correction sémantique et d'erreurs de sélection plutôt que du formatage ou de l'accès à des modèles propriétaires.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Dans le monde vaste et complexe du génie logiciel, le code est le fondement sur lequel la vie moderne est construite, pourtant il est sujet aux défaillances. Lorsqu'un programme dysfonctionne, il génère un rapport décrivant l'erreur, et un développateur humain doit alors diagnostiquer le problème, localiser la faille parmi des milliers de lignes de texte, et écrire une correction qui résout le problème sans rien casser d'autre. Ce processus est lent, difficile et coûteux. Récemment, une nouvelle génération d'intelligence artificielle est apparue, capable de lire ces rapports et de tenter d'écrire elle-même les corrections. Ces systèmes, souvent appelés agents, agissent comme des apprentis numériques capables de naviguer dans le système de fichiers d'un ordinateur, d'exécuter des tests et de modifier du code. Cependant, apprendre à ces agents à travailler de manière fiable sur de longues périodes a été un obstacle majeur. Ils se perdent souvent dans les détails, oublient ce qu'ils ont appris lors des étapes précédentes, ou commettent des erreurs lorsqu'ils tentent d'utiliser les outils nécessaires pour corriger le code. Le défi pour les chercheurs a été de construire un système qui maintienne ces travailleurs numériques concentrés, organisés et responsables, leur permettant de résoudre des problèmes complexes sans supervision humaine constante.
Une équipe de chercheurs de Fujitsu Research a relevé ce défi en créant un système appelé Kozuchi Agent. Leurs travaux se concentrent sur un type spécifique d'intelligence artificielle qui ne nécessite pas d'entraînement spécial sur de nouvelles données, mais repose plutôt sur un cadre soigneusement conçu pour guider son comportement. Les chercheurs ont construit un environnement numérique où l'agent opère selon des étapes distinctes et clairement définies. Au lieu de laisser l'agent errer librement à travers un problème, le système le force à suivre une séquence d'étapes : d'abord reproduire l'erreur pour confirmer son existence, puis localiser la source exacte du problème, et enfin écrire et tester la correction. À chaque étape, l'agent doit produire un résultat spécifique avant de passer à l'étape suivante, et le système tient un registre permanent de tout ce que fait l'agent. Cette structure empêche l'agent de s'embrouiller ou de répéter les mêmes erreurs, transformant une recherche chaotique en un processus discipliné et auditable.
L'équipe a testé ce système sur une large collection de problèmes logiciels réels, ciblant spécifiquement un ensemble de cinq cents problèmes du langage de programmation Python. Ils ont utilisé un modèle d'intelligence artificielle puissant et open-source qui n'a été ni modifié ni réentraîné pour cette tâche spécifique. Pour garantir la robustesse des résultats, ils ont fait passer l'agent huit fois séparément sur chaque problème, générant ainsi huit solutions potentielles différentes. Le système a ensuite comparé ces solutions entre elles en utilisant une méthode de sélection ingénieuse. Au lieu de s'appuyer sur une clé de réponse cachée pour choisir la meilleure correction, le système a utilisé les tests générés par chacun des huit passages pour évaluer les autres. Si une correction passait les tests créés par un autre essai, elle était considérée comme un candidat solide. Cette approche a permis au système d'identifier la solution la plus fiable sans avoir besoin de connaître la réponse correcte à l'avance.
Les résultats ont été significatifs. Le Kozuchi Agent a résolu avec succès trois cent soixante-quatorze des cinq cents problèmes Python, soit un taux de réussite de près de soixante-quinze pour cent. Cette performance a placé le système parmi les meilleurs de sa catégorie, se classant douzième au total par rapport à toutes les soumissions, mais se classant premier parmi les systèmes utilisant des modèles ouverts et publics. Les chercheurs ont également testé le même système sur un autre ensemble de problèmes écrits dans le langage de programmation Java. Malgré les différences entre les deux langages, le système a performé avec une constance similaire, résolvant quarante et un des cent vingt-huit problèmes Java. Cela a démontré que le cadre n'était pas lié à un seul langage, mais pouvait être appliqué largement à différents types de logiciels.
Une conclusion clé de l'étude est que les échecs survenus n'étaient pas dus au fait que l'agent écrivait du code désordonné ou défectueux. En fait, la quasi-totalité des correctifs produits par l'agent ont été appliqués proprement au logiciel. Les problèmes résidaient dans la logique même de la correction ; l'agent écrivait souvent une correction qui semblait correcte mais qui ne résolvait pas réellement le problème sous-jacent. Cette distinction est cruciale car elle suggère que la principale barrière à l'amélioration n'est pas le format du code ou la capacité à utiliser des outils, mais plutôt la compréhension profonde du sens du problème. Les chercheurs ont également constaté que le système était très efficace dans ses opérations. En automatisant le flux de travail et en permettant la réutilisation de différentes parties du processus, ils ont réduit l'effort humain nécessaire pour exécuter ces tests de cinq étapes manuelles distinctes à une seule action automatisée.
L'étude a explicitement écarté l'idée que le succès du système provienne du simple hasard ou de l'utilisation d'un modèle propriétaire massif accessible à de seules quelques entreprises. L'agent a utilisé un modèle de vingt-sept milliards de paramètres, ce qui est important mais bien plus petit que les modèles les plus puissants disponibles aujourd'hui, et il a obtenu ses résultats sans aucun ajustement spécial (fine-tuning). Les chercheurs ont également montré que le système ne reposait pas sur la chance ; la performance était constante à travers différents passages et différents types de dépôts de logiciels. Bien que le système ne soit pas parfait et lutte encore avec les problèmes sémantiques les plus difficiles, il représente une étape majeure vers la transformation de l'intelligence artificielle en un partenaire fiable pour le génie logiciel. En combinant un flux de travail structuré avec un processus de sélection intelligent, le Kozuchi Agent a démontré que la technologie ouverte et accessible peut rivaliser avec les systèmes les plus avancés pour résoudre des défis de codage du monde réel.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.