Koda a Montré Comment Elle a Entraîné le Modèle Next Edit Suggestions pour Prédire les Modifications de Code
Koda a expliqué comment elle a entraîné un modèle Next Edit Suggestions pour IDE : au lieu de prédire la continuation de la ligne, il prédit la prochaine…
Traité par IA depuis Habr AI ; édité par Hamidun News
Koda a partagé comment elle a entraîné un modèle Next Edit Suggestions pour l'autocomplétion qui tente de prédire non pas le prochain token, mais la prochaine correction de code significative par un développeur. Cette approche transforme l'IDE d'une simple complétion en un assistant qui comprend le flux de refactorisation, le renommage et les petites corrections par lots. NES diffère de l'autocomplétion classique car elle tient compte de l'historique des changements récents et fonctionne non seulement sous le curseur, mais n'importe où dans le fichier.
Le modèle peut non seulement ajouter du code, mais aussi supprimer ou remplacer des fragments. Les scénarios pratiques pour ce mode sont clairs : renommage en masse, mise à jour des appels après changement de signature, continuation d'une refactorisation en cours, réplication de corrections similaires, alignement de style, suppression de code mort et même de petites corrections de lint. Chez Koda, ils considèrent que face au boom des agents d'IA, un tel outil reste utile : de nombreuses petites corrections sont plus rapides à confirmer avec une seule touche que de formuler une invite distincte.
Lors de l'entraînement, l'équipe a d'abord sélectionné un modèle de base sous des contraintes strictes de latence. Sur leurs serveurs GPU cibles, les développeurs ont mesuré la vitesse d'inférence et ont réduit la sélection à Qwen2.5-Coder-1.
5B et DeepSeek-Coder-1.3B. Sur la base des métriques combinées, Qwen a été choisi comme base pour le fine-tuning supervisé.
La source de données était des journaux partiels anonymisés de leur propre modèle de complétion de code accumulés pendant un an. Ces journaux FIM ont été regroupés par utilisateur, session et fichier pour reconstruire les chaînes de changements de code locaux. Le problème était qu'une véritable correction de programmeur dans les journaux se divisait souvent en dizaines de micro-événements.
Les ingénieurs ont donc collé ces sous-séquences en changements uniques significatifs à l'aide de l'algorithme Incremental Difference Detecting décrit dans l'article de recherche NES. Après cela, ils ont filtré séparément les exemples où la correction cible était réellement liée causalement à l'historique d'édition, plutôt que d'être simplement un autre morceau logique de code. En fin de compte, parmi des millions d'échantillons candidats, il ne restait que plusieurs dizaines de milliers.
De plus, l'équipe a suréchantiloné les éditions de remplacement pour mieux équilibrer les types d'insertion, de remplacement et de suppression. Ensuite, Koda a comparé son modèle de 1,5 milliard de paramètres avec des solutions NES ouvertes de Continue, Zed et Sweep, et a mentionné Cursor Tab, GitHub Copilot NES et JetBrains AI Assistant comme points de référence fermés. Sur son propre ensemble de test de 500 exemples, Koda-next-edit a montré 27,2% pour Exact Match et 28,2% pour Judge, tandis que Zeta 2 a obtenu 17,0% et 20,4% respectivement.
Sur plusieurs ensembles de données, l'entreprise accorde une plus haute priorité à l'évaluation Judge, car elle est mieux adaptée à la comparaison de modèles avec des formats de réponse différents. Par moyenne simple, leur modèle s'est classé premier, et par résultat de moyenne pondérée, il est resté parmi les chefs de file même face aux modèles plus grands de 7B et 8B paramètres. Séparément, Koda souligne l'ensemble de données NEP comme un benchmark plus indépendant, car il n'est « natif » d'aucun des systèmes comparés.
La fonctionnalité est déjà apparue en mode bêta dans le plugin KodaCode 0.9.0 pour VS Code.
L'équipe prévoit d'enrichir davantage le contexte avec des fragments de code similaires et des suggestions de linter, et de tester des modèles plus grands s'ils peuvent maintenir la latence requise. Une autre direction de développement est l'interface du plugin : pour NES, il est important non seulement de prédire la correction, mais aussi de la montrer de manière à permettre au développeur d'accepter ou rejeter rapidement la suggestion sans perdre de rythme. L'histoire de Koda montre que le marché des outils d'IA pour les programmeurs ne se limite pas aux agents qui tentent de tout faire à la fois.
Entre l'édition manuelle et l'exécution entièrement autonome, il existe une grande couche de tâches où la plus grande valeur provient de conseils rapides, locaux et prévisibles directement dans l'éditeur. Si de tels modèles continuent à croître en qualité sans perdre de vitesse, cette classe d'assistants pourrait devenir le format le plus répandu de l'IA dans le développement quotidien.
Vous voulez cesser de lire sur l'IA et commencer à l'utiliser?
AI News est un fil d'actualité IA. Hamidun Academy vous apprend à utiliser l'IA dans votre travail.