SWE-Critix : post-entraîner des vérificateurs généralistes pour les trajectoires d'agents de codage, juger du succès et expliquer pourquoi, de 57 % à 78 % d'exactitude
L'article 2610.13356 vise un manque : sans oracle disponible, comment savoir si un agent de codage a réussi ? Un modèle enseignant compare les trajectoires réussies et ratées d'un même problème pour produire peu de données annotées de raisonnement, puis un apprentissage par renforcement sur des trajectoires sans annotation entraîne un vérificateur de classe 30 B. Sur un jeu de test réservé de plus de 43 000 longues trajectoires, le modèle de raisonnement Qwen3-30B-A3B de base atteint 57 % d'exactitude, 66 % après SFT et 78 % après RL. Modèles, jeux de données et code d'entraînement sont publiés.
L'article 2610.13356 est paru sur arXiv à la mi-octobre 2026 sous le titre « SWE-Critix : post-entraîner des vérificateurs généralistes pour évaluer les trajectoires d'agents de codage ». Le problème s'aiguise à mesure que les agents de codage progressent. Ils ne se contentent plus d'écrire un extrait : ils inspectent des dépôts, modifient des fichiers, lancent commandes et tests, interprètent les retours et affinent, de la synthèse d'une fonction à la résolution de tickets à l'échelle d'un dépôt et au développement logiciel de longue haleine. Plus ils sont autonomes, plus il importe de vérifier leurs trajectoires d'exécution, le journal pas à pas de la résolution d'une tâche. Or, dans les tâches réalistes de bout en bout, il n'existe souvent pas d'oracle prêt à l'emploi définissant le succès. Il faut un vérificateur qui décide si l'agent a terminé et, en cas d'échec, dise pourquoi. La difficulté est la trajectoire elle-même. Elle peut contenir des centaines d'entrées utilisateur, de retours d'environnement et de réponses du modèle entremêlés, bien plus difficile à inspecter qu'une réponse d'un seul tenant. L'article cite un exemple où les trajectoires de tâches de LoLBench vont de 53 à 532 tours. Les auteurs classent les travaux existants selon deux axes : le vérificateur ne regarde-t-il que le résultat final (par exemple le correctif soumis) ou examine-t-il aussi le processus pour repérer des comportements intermédiaires indésirables, et est-il construit avec ou sans entraînement. Les méthodes sans entraînement emploient des LLM généralistes ou des juges à règles, tandis que celles avec entraînement apprennent des critiques dédiés, que l'on peut encore distinguer selon qu'ils ne produisent que des récompenses scalaires. Dans cette taxonomie, la vérification généraliste, entraînée et centrée sur le processus est peu explorée. SWE-Critix veut combler ce vide : étant donné une tâche et sa trajectoire, le vérificateur appris prédit l'achèvement et génère une analyse en langage naturel qui explique son jugement.
La chaîne d'entraînement comporte plusieurs étapes. Les données viennent de CoderForge-Preview (écrit CodeForge-Preview dans le résumé), grand jeu de données ouvert de 258 000 trajectoires (155 000 réussies, 103 000 ratées) couvrant 51 000 tickets de 1 655 dépôts. Elles ont été produites avec l'échafaudage OpenHands et Qwen3-Coder-480B sur trois sources de tâches fournissant des environnements exécutables. Les auteurs écartent toute trajectoire de plus de 64 000 jetons ou sans correctif soumis, par exemple parce que la tâche est inachevée, ce qui retire 16 % des données, puis répartissent le reste en jeux SFT, RL et test. Pour le SFT, ils choisissent une trajectoire réussie et une ratée par ticket qui possède les deux ; le jeu RL comprend toutes les trajectoires ratées restantes et échantillonne les réussies en tourniquet entre tickets jusqu'à équilibrer les classes, pour couvrir un maximum de tickets distincts. La clé de l'étape SFT est l'origine des chaînes de raisonnement. Un modèle enseignant plus fort (GPT-5.5) compare chaque paire réussie-ratée en résumant procédures, schémas d'erreur et facteurs décisifs ; les chaînes sont ensuite retravaillées pour un jugement individuel et assemblées en échantillons SFT. La comparaison par paires est choisie parce que des travaux antérieurs indiquent que les LLM jugent mieux par paires qu'individuellement. Le réglage part de Qwen3-30B-A3B-Thinking-2507, avec MindSpeed-LLM sur 128 NPU Huawei Ascend 910B répartis sur 16 nœuds, trois époques et 975 itérations, environ 15 heures. La phase RL utilise les 91,3 % de données restantes, qui ont des résultats de tests unitaires mais pas de chaînes de raisonnement, avec une récompense de résultat simple à base de règles : +1 si le jugement prédit concorde avec la vérité issue des tests unitaires, -1 sinon. L'entraînement emploie VeRL et GRPO avec une taille de groupe de 8, sur 128 NPU Ascend 910C répartis sur 8 nœuds, avec 3 396 itérations par époque pour environ 533 heures.
L'évaluation est directe : le modèle distingue-t-il trajectoires réussies et ratées ? Le jeu de test compte plus de 43 000 longues trajectoires, chaque modèle est évalué une fois par échantillon avec vLLM Ascend sur un nœud de 16 NPU Ascend 910C, et les auteurs rapportent l'exactitude ainsi que précision, rappel et F1 pour les classes positive (réussie) et négative (ratée). Les résultats montrent une progression nette. Le modèle MoE Qwen3 de base penche fortement pour des trajectoires jugées correctes, avec un rappel négatif quasi nul sur tous les sous-ensembles, et 9,6 % de ses réponses ne respectent pas le format de sortie requis, empêchant d'extraire fiablement les jugements. Le SFT atténue les deux problèmes : toutes les réponses suivent le format de la consigne et le biais positif diminue nettement. Le RL porte ensuite l'exactitude globale de 66 % à 78 %. Le SFT corrige surtout le fort biais positif, tandis que le RL renforce la discrimination en faisant passer le rappel positif de 67 % à 85 % sans sacrifier sensiblement le rappel négatif.
Les auteurs sont francs sur les insuffisances. D'abord, les performances sur R2E-Gym sont nettement plus basses que sur SWE-Rebench et SWE-Smith, peut-être à cause d'un volume de données moindre. Ensuite, le modèle reconnaît encore mal les trajectoires ratées, avec un rappel négatif global de 64 % seulement, ce qui suggère des motifs d'échec plus variés et des signaux plus subtils. Pour la suite, ils prévoient d'ajouter d'autres sources comme Open-SWE-Traces, de synthétiser des trajectoires avec d'autres combinaisons de modèles et d'échafaudages, et d'étudier des ratios de classes tels que 2:1, 1:2 et 4:1 au-delà du mélange équilibré. À noter : toutes les trajectoires proviennent d'un seul échafaudage et d'un seul modèle, on n'a donc aucune preuve du comportement du vérificateur avec d'autres échafaudages ou modèles. Notre lecture : SWE-Critix montre qu'un jugement motivé peut s'apprendre par une recette en deux temps assez simple, et la publication des modèles et du code d'entraînement permet de le reproduire et de l'améliorer. Ses limites sont nettes : évaluation que ses auteurs disent préliminaire, chaque échantillon testé une fois ; 78 % d'exactitude laisse encore des erreurs de jugement visibles ; et il est plus faible sur les trajectoires ratées, alors qu'en pratique rater un échec est souvent plus dangereux qu'une fausse alerte. Une équipe qui voudrait ce type de vérificateur dans sa chaîne d'agents de codage devrait le traiter comme un signal d'appoint, avec les tests unitaires, des contrôles par sondage et des environnements d'évaluation indépendants, et mesurer sa classification sur ses propres trajectoires avant de choisir où le placer.
Sources
FAQ
Quel problème SWE-Critix traite-t-il ?
Dans les tâches réalistes de génie logiciel de bout en bout, il n'existe souvent pas d'oracle définissant le succès. Il faut un vérificateur qui juge si l'agent a terminé et, en cas d'échec, explique pourquoi. La difficulté : les trajectoires peuvent contenir des centaines d'interactions avec des dépôts et des outils. Les vérificateurs existants emploient soit des LLM généralistes, soit des critiques entraînés qui produisent surtout une récompense scalaire.
Comment est-il entraîné ?
Un modèle enseignant plus fort (GPT-5.5) compare une trajectoire réussie et une trajectoire ratée du même problème et résume procédures, schémas d'erreur et facteurs clés, d'où un petit jeu d'échantillons SFT annotés de raisonnement. Un apprentissage par renforcement utilise ensuite les 91,3 % restants, qui ont des résultats de tests unitaires mais pas d'annotations, avec une récompense +1/-1 selon l'accord avec le test, via GRPO.
Quels sont les résultats et les limites ?
Sur un jeu de test réservé de plus de 43 000 longues trajectoires, l'exactitude passe de 57 % pour le modèle de base à 66 % après SFT puis 78 % après RL ; le rappel positif passe de 67 % à 85 %, mais le rappel sur les trajectoires ratées n'est que de 64 %. Le sous-ensemble R2E-Gym est nettement plus bas, peut-être faute de données. Les auteurs parlent d'une évaluation préliminaire, chaque échantillon n'étant évalué qu'une fois.