35 points par GN⁺ 2026-02-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Des tests menés sur plusieurs LLM dans des conditions identiques montrent que les performances peuvent fortement progresser en ne changeant que l’outil de modification de code
  • À la place des méthodes classiques Patch·Replace, l’application du format « Hashline », qui attribue un hash tag à chaque ligne de code, améliore la précision des modifications
  • Hashline a montré une précision supérieure aux méthodes existantes sur 14 modèles sur 16, avec en plus une réduction moyenne de 20 à 30 % des tokens
  • En particulier, le modèle Grok Code Fast 1 a vu son taux de réussite bondir de 6,7 % à 68,3 %, soit une amélioration par 10 grâce à un simple changement de harness
  • L’étude montre que le véritable goulet d’étranglement des performances n’est pas le modèle lui-même mais le « harness », et souligne la nécessité d’une collaboration dans l’écosystème open source

Aperçu du benchmark d’édition de code

  • L’expérience a comparé trois formats d’édition : Patch, Replace, Hashline
    • 16 modèles ont été soumis aux mêmes tâches de correction de code
    • Chaque modèle a été testé en corrigeant des bugs dans des fichiers sélectionnés aléatoirement au sein d’une base de code React
  • Le format Hashline a obtenu de meilleurs résultats que Patch sur 14 modèles, tout en économisant en moyenne 20 à 30 % de tokens
    • L’amélioration la plus marquée concerne le modèle Grok Code Fast 1, dont le taux de réussite est passé de 6,7 % à 68,3 % (+61,6 points)
    • Gemini 3 Flash a progressé de 5,0 points, Claude Sonnet 4.5 de 1,6 point

Le problème du harness

  • Les discussions actuelles se concentrent surtout sur la question de savoir « quel modèle code le mieux », alors que le véritable goulet d’étranglement est le harness, pas le modèle
    • Le harness est l’interface centrale qui gère les tokens d’entrée et relie la sortie du modèle aux modifications du workspace
    • La plupart des échecs proviennent non pas du modèle, mais de limites structurelles du harness
  • L’auteur a cherché à améliorer cela via oh-my-pi, un projet personnel dérivé de l’agent de codage open source Pi, avec environ 1 300 commits
    • Cet environnement est indépendant du modèle et permet des expériences où seul le harness varie

Les limites des outils d’édition existants

  • La méthode apply_patch de Codex utilise un format diff spécifique à OpenAI, ce qui entraîne un taux d’échec élevé avec d’autres modèles
    • Exemple : taux d’échec des patchs de 50,7 % pour Grok 4, et de 46,2 % pour GLM-4.7
  • La méthode str_replace de Claude Code exige une correspondance parfaite de la chaîne, ce qui provoque des erreurs à cause des différences d’espaces ou d’indentation
    • L’erreur « String to replace not found in file » a été signalée à de nombreuses reprises sur GitHub
  • Cursor entraîne un modèle 70B distinct pour gérer la fusion, mais sur des fichiers de moins de 400 lignes, une réécriture complète (full rewrite) donne de meilleurs résultats
  • Les recherches Diff-XYZ de JetBrains et EDIT-Bench ont également confirmé que les performances varient fortement selon le format d’édition

Le principe de la méthode Hashline

  • Chaque ligne de code reçoit un hash de contenu de 2 à 3 caractères, afin que le modèle puisse désigner clairement la cible à modifier
    • Exemple : 22:f1| return "world";
    • Le modèle formule ensuite la demande de modification sur la base du hash, par exemple « replace line 2:f1 »
  • Si le fichier a changé et que le hash ne correspond plus, la modification est refusée pour éviter toute corruption
  • Cette méthode évite au modèle d’avoir à reproduire le contenu existant, ce qui réduit les erreurs d’espacement et d’indentation et permet des modifications plus stables

Résultats du benchmark

  • Les tests comprenaient 180 tâches de correction de bugs, répétées 3 fois, avec 4 outils (read, edit, write, etc.)
  • Au final, le format Patch est le pire sur presque tous les modèles, tandis que Hashline est au moins équivalent à Replace, voire meilleur
    • Plus le modèle est faible, plus le gain est important
    • Grok 4 Fast a réduit ses tokens de sortie de 61 %, et MiniMax a plus que doublé ses performances
  • Le gain de +8 % de Gemini est supérieur à ce qu’on observe généralement avec une mise à niveau de modèle, et a été obtenu sans entraînement supplémentaire

Politique des éditeurs et écosystème open source

  • Anthropic a bloqué l’accès à Claude Code pour l’agent de codage open source OpenCode
    • La raison invoquée est la « rétro-ingénierie d’API privées », mais cela a été interprété dans les faits comme un signal : « utilisez uniquement notre propre harness »
  • Google a bloqué le compte de l’auteur, coupant l’accès à Gemini
    • Cela s’est produit juste après un benchmark montrant que Gemini 3 Flash atteignait 78,3 % avec l’application de Hashline
  • L’auteur estime que ces mesures sont contre-productives car elles bloquent des opportunités d’amélioration des modèles
    • L’optimisation du harness relève d’une recherche d’intérêt public qui améliore la qualité de tous les modèles, et non d’un seul en particulier
    • Avec la formule « le modèle est le fossé défensif, le harness est le pont », il souligne qu’une approche fermée freine le développement de l’écosystème

Conclusion

  • Le problème du harness apparaît comme un facteur mesurable qui affecte directement les performances réelles
  • Un simple changement de format peut produire un effet comparable à une mise à niveau de modèle
  • La voie de progrès à suivre ne devrait pas être une amélioration fermée par une entreprise unique, mais une coopération ouverte fondée sur la communauté
  • L’ensemble du code, des benchmarks et des résultats d’exécution est publié dans le dépôt GitHub oh-my-pi

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.