Chiosa
Software & Code

Les fichiers entiers aident les agents à résoudre plus de problèmes

2 min
Publié sur Chiosa Mis à jour

En termes simples

Pour corriger un problème signalé, un programme de codage a besoin des bons fichiers et du code exact qu’ils contiennent. Une recherche fondée sur les mots peut manquer le fichier à modifier, et raccourcir le code peut changer le texte que le patch doit retrouver.

CQ2-CARE demande à un modèle quels fichiers doivent probablement changer, puis fournit ces fichiers en entier au modèle de programmation. Sur 300 problèmes Python, deux modèles testés en ont résolu une plus grande part avec ce contexte qu’avec le meilleur outil de recherche ou de compression testé, à budget égal. Le test utilisait un seul patch par problème.

La recherche

Quand un agent de programmation ne peut utiliser qu’une partie du dépôt, quel contexte l’aide à produire une modification qui fonctionne ?

Le patch doit inclure les fichiers à changer, mais aussi leur code exact pour correspondre à celui du dépôt. La recherche et la réduction du texte peuvent chacune faire perdre l’un de ces éléments.

CQ2-CARE sélectionne les fichiers du dépôt susceptibles de changer et les fournit en entier, afin que les agents de programmation puissent respecter un budget de contexte limité sans réduire le code à modifier.

Dans SWE-rebench, un banc d’essai vérifie si un patch résout un problème Python signalé en l’appliquant et en exécutant les tests requis ; le score correspond à la part des problèmes dont les tests réussissent.

Les auteurs comparent les méthodes de sélection du contexte au même budget de jetons pour chaque problème, avec un seul modèle fixe produisant un patch par contexte.

Avec CQ2-CARE, le taux de résolution était de 43,7 % pour GPT-5.6 et de 46,7 % pour Claude Opus 5. Pour chaque modèle, ces taux dépassaient de 6,3 points de pourcentage celui du meilleur compresseur testé, et de 9,3 ou 12,7 points celui du meilleur outil de recherche principal.

Ces résultats appuient le choix de fournir des fichiers entiers dans cette évaluation ; les diagnostics et un contrôle portant sur l’altération du texte aident à les expliquer.

L’évaluation porte sur un seul appel de génération de patch par contexte, pour des problèmes Python issus d’un seul benchmark. Elle ne couvre pas les agents qui peuvent ouvrir davantage de fichiers ou exécuter des tests au fil de plusieurs échanges.

Un second échantillon de patchs a modifié les résultats dans 8,7 à 18,9 % des cas ; les faibles écarts entre méthodes sont donc fragiles.

Analyse

Détails

Article suivantRondo tests compiler bugs that depend on earlier calls