MapCoder : Génération de code multi-agent pour la résolution de problèmes compétitifs

La synthèse de code, qui exige une compréhension approfondie de descriptions de problèmes complexes en langage naturel, la génération d'instructions de code pour des algorithmes et structures de données complexes, ainsi que l'exécution réussie de tests unitaires complets, constitue un défi majeur. Bien que les grands modèles linguistiques (LLM) démontrent une maîtrise impressionnante en traitement du langage naturel, leurs performances dans les tâches de génération de code restent limitées. Dans cet article, nous introduisons une nouvelle approche pour les tâches de génération de code, fondée sur une stratégie d’encodage multi-agents qui reproduit de manière unique le cycle complet de synthèse de programmes tel qu’observé chez les développeurs humains. Notre cadre, MapCoder, se compose de quatre agents LLM spécifiquement conçus pour émuler les étapes de ce cycle : rappel d’exemples pertinents, planification, génération de code et débogage. Après avoir mené des expériences approfondies, incluant des ablations multiples de LLM et des analyses sur huit benchmarks exigeants de résolution de problèmes et de synthèse de programmes, MapCoder démontre des capacités remarquables en génération de code, atteignant de nouveaux résultats état-de-l’art (pass@1) sur HumanEval (93,9 %), MBPP (83,1 %), APPS (22,0 %), CodeContests (28,5 %) et xCodeEval (45,3 %). En outre, notre méthode offre de manière cohérente des performances supérieures sur divers langages de programmation et pour des niveaux de difficulté variés. Nous mettons notre cadre à disposition sous licence open source à l’adresse suivante : https://github.com/Md-Ashraful-Pramanik/MapCoder.