← Derniers articles
💬 NLP

CodeEvo: Interaction-Driven Synthesis of Code-centric Data through Hybrid and Iterative Feedback

Cet article présente CodeEvo, un cadre à double agent qui synthétise des paires instruction-code de haute qualité et logiquement complexes grâce à un feedback hybride itératif, aboutissant au jeu de données CodeEvo-100K qui améliore significativement les performances des modèles de génération de code.

Auteurs originaux : Qiushi Sun, Jinyang Gong, Lei Li, Qipeng Guo, Fei Yuan

Publié 2026-07-28
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Qiushi Sun, Jinyang Gong, Lei Li, Qipeng Guo, Fei Yuan

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

Imaginez que vous essayez d'apprendre à un robot comment devenir un programmeur brillant. Vous ne pouvez pas simplement vous asseoir et écrire un million de problèmes de codage à la main ; cela prendrait une éternité et vous manqueriez d'idées. Ainsi, les scientifiques ont commencé à utiliser d'autres robots plus intelligents (appelés Modèles de Langage de Grande Taille) pour écrire ces problèmes d'entraînement pour le robot étudiant. Mais il y a un pièéra : lorsque ces professeurs IA essaient de créer de nouveaux problèmes, ils se trompent souvent. Ils peuvent rédiger une question mathématique qui n'a pas de réponse, ou une tâche de codage qui fait planter l'ordinateur dès que vous tentez de l'exécuter. C'est comme si un professeur distribuait un examen où la moitié des questions sont absurdes. Ce document, intitulé CodeEvo, s'attaque à ce problème complexe en inventant une nouvelle façon pour l'IA de s'apprendre à elle-même comment rédiger des défis de codage parfaits et solubles sans avoir besoin qu'un humain vérifie chacun d'entre eux.

L'idée centrale repose sur deux concepts principaux. Premièrement, il y a l'instruction, qui est l'énoncé du problème (comme « Écrivez une fonction qui trie une liste »). Deuxièmement, il y a le code, qui est la solution. L'objectif est de générer des paires de ces éléments qui soient non seulement corrects, mais qui deviennent progressivement plus difficiles et plus intéressants. Les auteurs suggèrent que l'ancienne méthode consistant à simplement demander à une IA de « rendre cela plus difficile » est trop vague et mène à des résultats défectueux. Au lieu de cela, ils proposent un système où l'IA agit comme une équipe de deux : un Codeur qui tente de résoudre le problème, et un Réviseur qui évalue le travail et conçoit le défi suivant.

La danse des deux agents : Codeur et Réviseur

Les auteurs ont construit un cadre appelé CodeEvo, qui est essentiellement un atelier automatisé de haute technologie où deux agents IA travaillent ensemble en boucle. Voyez cela comme un jeu vidéo où un joueur (le Codeur) tente de réussir un niveau, et un second joueur (le Réviseur) agit à la fois comme concepteur de niveau et arbitre.

Dans les anciennes méthodes, le « concepteur de niveau » se contentait de crier : « Rends ce niveau plus difficile ! » et espérait le meilleur. Souvent, le résultat était un niveau impossible à battre ou qui n'avait aucun sens. CodeEvo change la donne. Avant même que le Réviseur ne rédige un nouveau problème, il crée un Schéma. Imaginez cela comme un plan ou une fiche de recette. Le Réviseur examine le problème actuel et choisit des « ingrédients » spécifiques (comme des mots-clés : Matrice, Récursion, Grand Entier) pour les mélanger. Le Schéma est un plan qui dit : « D'accord, nous allons prendre la logique actuelle et ajouter une étape de multiplication de matrice pour rendre cela complexe, mais nous devons veiller à ce que cela reste soluble. » Cela garantit que le nouveau problème est ancré dans une logique réelle, et non dans un simple mélange de mots aléatoires.

Une fois que le Réviseur a conçu le plan, le Codeur tente d'écrire le code pour le résoudre. Mais c'est ici que la magie opère : le système n'accepte pas simplement le code. Il soumet le code à une boucle de Feedback Hybride.

Le système de double vérification

Habituellement, lorsqu'une IA écrit du code, celui-ci peut sembler correct mais échouer lorsque vous l'exécutez réellement. Pour corriger cela, CodeEvo utilise un processus de vérification en deux étapes. D'abord, il fait passer le code par un compilateur (un outil qui vérifie si le code respecte les règles strictes du langage de programmation). Si le code plante ou présente une erreur de syntaxe, le compilateur dit « Non ». Mais parfois, le code s'exécute sans planter, mais donne tout de même une mauvaise réponse.

Le Réviseur intervient alors à nouveau. Cette fois, il agit comme un juge humain, lisant le code et la description du problème pour voir si la logique correspond réellement. Il demande : « As-tu vraiment résolu le problème, ou as-tu juste eu de la chance ? » En combinant la vérification stricte et insensible du compilateur avec la vérification contextuelle intelligente du Réviseur IA, le système filtre les mauvaises données. Si le code échoue, le Codeur reçoit un rapport détaillé sur ce qui n'a pas fonctionné et essaie à nouveau. Cela se répète jusqu'à ce que le code soit parfait.

Construire une montagne de données

En utilisant cette méthode, les auteurs ont créé un immense ensemble de données appelé CodeEvo-100K. Il ne s'agit pas d'un tas aléatoire de 100 000 problèmes ; c'est une collection soigneusement organisée avec une « difficulté par paliers ». Ils ont commencé par des problèmes de base simples et ont laissé les agents les faire évoluer. Certains problèmes sont restés faciles, certains sont devenus de niveau moyen, et un ensemble spécial « Difficile » a été créé en poussant les agents à travers trois cycles ou plus de raffinement.

Les résultats sont impressionnants. Lorsqu'ils ont pris d'autres modèles d'IA et les ont entraînés sur ce nouveau jeu de données, ces modèles sont devenus nettement meilleurs pour résoudre des problèmes de codage que les modèles entraînés sur d'autres données synthétiques. En fait, une quantité plus petite de données de haute qualité provenant de CodeEvo (environ 17 000 problèmes difficiles) a en réalité mieux fonctionné qu'un ensemble de données beaucoup plus vaste (75 000 problèmes) produit par les anciennes méthodes. Cela suggère que la qualité des données d'entraînement compte plus que le simple fait d'avoir un énorme volume de données.

Pourquoi cela importe

Le document argumente explicitement contre l'idée que l'on puisse simplement utiliser des règles simples et rigides (heuristiques) pour générer de bonnes données de codage. Ils démontrent que sans un plan structuré (le Schéma) et un système de vérification rigoureux (le Feedback Hybride), les données générées sont souvent truffées d'erreurs ou de tâches impossibles. Ils ont également constaté que, bien que le processus soit plus lent que de simplement demander à une IA de recracher du code une seule fois, les données résultantes sont bien supérieures.

En résumé, CodeEvo suggère que si vous voulez construire une IA de codage intelligente, vous ne devriez pas simplement la nourrir avec un million de problèmes aléatoires. Au lieu de cela, vous devriez construire un système où des agents IA s'enseignent mutuellement, planifient soigneusement leurs leçons et corrigent leurs devoirs avec une attention méticuleuse. Le résultat est un ensemble de données qui est non seulement immense, mais aussi logiquement cohérent, exécutable et prêt à entraîner la prochaine génération de robots générateurs de code.

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.

Essayer Digest →