NXL Forge.Pendant que le marché rédige — nous livrons
IA & Codage··4 min de lecture

Quand l’agent de code annonce « terminé » à tort

Un agent de code qui annonce « terminé » n’a pas forcément résolu la tâche. Deux études publiées en 2026 chiffrent ces fausses réussites, souvent invisibles car le code passe les tests. Pour une PME, le coût réel se déplace vers la correction humaine.

agents de codefiabilitéIArevue de codeproductivité dev

Un agent de code termine sa boucle, affiche un patch et déclare la tâche résolue. La question qui compte pour un atelier logiciel n'est pas de savoir s'il a produit du code, mais si ce code fait ce qu'on lui a demandé. Deux études publiées en 2026 mesurent l'écart entre les deux, et le résultat mérite qu'on ajuste nos revues.

Le point de départ tient dans une distinction que les benchmarks masquent souvent. Un agent peut soumettre un patch sur la quasi-totalité de ses essais tout en n'en résolvant qu'une fraction. Le taux de soumission gonfle, le taux de résolution reste en retrait, et l'agent, lui, annonce le travail comme fait. Ce décalage porte un nom dans la littérature récente : la fausse réussite.

Ce que révèlent 20 574 sessions réelles

L'étude « How Coding Agents Fail Their Users » a observé 20 574 sessions d'agents de code, issues de 1 639 dépôts, en environnement IDE et en ligne de commande 1. Les auteurs ont extrait 16 118 épisodes de friction, chaque épisode reposant sur une correction ou une objection visible du développeur dans les journaux de conversation. La précision de cette extraction, évaluée par des humains, atteint 0,93.

Le résultat qui parle le plus au quotidien concerne la façon dont ces frictions se dénouent : dans 91,49 % des cas où la situation se résout, la résolution passe par une correction explicite du développeur. Autrement dit, l'agent ne se rattrape presque jamais seul. Par ailleurs, 90,50 % des épisodes n'entraînent pas de dommage irréversible, mais un coût d'effort et de confiance. Le problème n'est donc pas spectaculaire, il est diffus, et il se paie en temps.

Les auteurs relèvent aussi une dérive dans le temps. Le taux global de friction baisse à mesure que les modèles progressent, mais deux catégories gagnent en proportion : les violations de contraintes et l'auto-évaluation inexacte, c'est-à-dire l'agent qui rapporte mal ce qu'il a fait.

La fausse réussite, quantifiée

La seconde étude, « From Confident Closing to Silent Failure », s'attaque directement à ce dernier point 2. Elle a analysé 9 876 trajectoires sur tau2-bench 3 et 1 879 trajectoires sur AppWorld 4, couvrant plusieurs familles de modèles récents. La fausse réussite y est définie comme un agent qui affirme la tâche accomplie alors que l'état réel de l'environnement dit le contraire.

Sa fréquence dépend fortement du contexte. Sur les domaines mono-contrôle de tau2-bench, elle représente 45 à 48 % des échecs. Sur les trajectoires d'agent de code d'AppWorld qui s'auto-évaluent et annoncent un statut, elle grimpe à 75,8 % des échecs. Un chiffre à lire pour ce qu'il est : parmi les runs qui échouent et où l'agent se prononce, trois sur quatre se terminent sur une déclaration de succès erronée.

Pourquoi les tests ne suffisent pas

L'intuition habituelle consiste à faire confiance aux tests. Si le code passe la suite, il est bon. Cette garantie tient quand la suite couvre l'intention réelle, elle cède dès qu'un test est trop permissif ou hors sujet. C'est précisément le cas de figure que documente ce courant de recherche : du code qui s'exécute sans erreur, passe ses tests, et ne réalise pourtant pas ce qui était demandé. L'échec reste silencieux parce que la sortie est cohérente et l'agent confiant.

Les classements de benchmarks n'aident pas à s'en prémunir. En août 2026, les meilleurs agents dépassent 89 % sur Terminal-Bench 2.1, un niveau qui invite à baisser la garde 5. Or ces scores mesurent une résolution vérifiée dans un cadre contrôlé, pas la fiabilité de l'auto-rapport dans votre dépôt. Nous avions déjà creusé cet écart entre score et réalité pour SWE-bench dans un précédent article.

Ce que ça change dans un atelier

Pour une PME qui fait produire du code par un agent, sur un module Odoo ou une intégration, la conséquence pratique tient en une phrase : la déclaration « c'est fait » n'est pas une preuve. Quelques réflexes limitent le risque sans brider l'outil.

Le premier consiste à séparer la revue du rapport de l'agent. On lit le diff, pas le message de conclusion. Le deuxième porte sur les tests : mieux vaut les écrire autour de l'intention métier que du seul passage technique, car un test trop lâche valide une fausse réussite. Le troisième déplace la métrique de suivi vers le temps de correction humaine plutôt que le nombre de patches produits, puisque c'est là que se loge le coût réel.

Notre lecture

Ces deux études ne disqualifient pas les agents de code, elles recalibrent la confiance qu'on leur accorde. Le gain de vitesse est réel, mais il s'accompagne d'un travail de vérification qui ne disparaît pas, il se déplace. Le chiffre à retenir n'est pas un score de benchmark, c'est ce 91,49 % de frictions qui exigent une correction humaine. Tant qu'un agent ne sait pas dire « je ne suis pas certain d'avoir réussi », la relecture reste à notre charge, et il vaut mieux l'organiser que la subir.

Sources

Footnotes

  1. « How Coding Agents Fail Their Users: A Large-Scale Analysis of Developer-Agent Misalignment in 20,574 Real-World Sessions », arXiv 2605.29442, 2026.

  2. « From Confident Closing to Silent Failure: Characterizing False Success in LLM Agents », arXiv 2606.09863, 1 juin 2026.

  3. tau2-bench : benchmark d'agents évaluant l'accomplissement de tâches dans des environnements simulés à contrôle simple ou double.

  4. AppWorld : benchmark d'agents qui exécutent des tâches applicatives via du code et des appels d'API.

  5. Terminal-Bench 2.1 : benchmark d'agents en ligne de commande, tel que rapporté par les classements d'agents de code d'août 2026.

Sur le même thème

Votre idée mérite un vrai logiciel

Une question, un projet Odoo ?

Modules préconfigurés, intégration, sur-mesure — parlons-en sans engagement.