Cet article aborde la localisation des problèmes logiciels, le processus d'identification des emplacements de code nécessitant des modifications pour résoudre les problèmes logiciels. L'écart sémantique entre les descriptions de problèmes en langage naturel et le code défectueux nécessite un raisonnement complexe en plusieurs étapes via les dépendances de code. Les agents LLM existants tentent de résoudre ce problème en intégrant des outils de recherche dans les référentiels, mais cela se traduit par une tâche complexe appelée « Recherche approfondie dans les référentiels », exigeant des agents LLM qu'ils exploitent efficacement plusieurs outils de recherche dans les référentiels tout au long du processus d'inférence et d'exploration en plusieurs étapes. Pour relever ce défi, cet article présente ToolTrain, un cadre d'apprentissage par intégration d'outils en deux étapes qui combine le réglage fin supervisé par échantillonnage par rejet et l'apprentissage par renforcement intégré aux outils. Les résultats expérimentaux démontrent que les modèles entraînés avec ToolTrain atteignent des performances de pointe, le modèle 32B surpassant Claude-3.7 en localisation fonctionnelle. De plus, nous démontrons qu'une amélioration des performances de localisation se traduit par une meilleure résolution des problèmes de bout en bout, démontrant que l'apprentissage pour la localisation des problèmes est une stratégie viable et efficace pour améliorer le développement logiciel automatisé.