Angle d’Anderson
Code humain de 2020 écrase les agents codés par vibe dans les tests agents

ChatGPT et d’autres outils de codage par vibe ont été mis à l’épreuve dans près de 40 000 matchs – et ont perdu face à du code écrit par des étudiants en master avant l’invention des modèles de langage grand public.
Dans une nouvelle étude menée au Royaume-Uni, les chercheurs ont opposé des agents codés par des humains à des agents codés par vibe développés avec les derniers modèles de langage grand public (LLM), tels que ChatGPT-5 et Claude, et ont constaté que les agents créés sans l’aide de l’IA ont facilement battu les versions facilitées par l’IA.
Les deux ensembles d’agents ont été créés par différentes générations d’étudiants du Laboratoire d’intelligence artificielle de l’Institut fédéral suisse de technologie de Lausanne. Les agents non-IA ont été développés dans le cadre d’un travail universitaire en 2020, deux ans avant la création de ChatGPT et le début de la révolution LLM, tandis que les nouveaux agents ont été créés par des étudiants actuels, aidés par les derniers et les meilleurs LLM disponibles.
Même avec un jeu truqué, les solutions codées par vibe n’ont pas pu gagner, et les cinq premières places ont été constamment occupées par des agents « bruts », avec la majorité des agents LLM (33 sur 40) battus sans effort par des agents de base « très simples », sur 38 304 défis dans un tournoi, sur un large éventail de variables et de circonstances.
Le document indique:
‘Nos travaux démontrent que, même si les LLM de pointe peuvent générer du code qui fonctionne (c’est-à-dire sans erreurs de syntaxe), la solution générée n’est pas compétitive par rapport aux solutions conçues par des humains en termes de planification stratégique, d’optimisation ou de concurrence multi-agents.
‘Ainsi, ce travail met en avant cette nouvelle frontière dans la génération de code, et vise à faciliter le développement de références, de jeux de données et de références open source qui mettent l’accent sur la synthèse de code basée sur la raison.’
Le défi conçu était de participer de manière créative aux enchères, sur une variété de stratégies, et d’organiser la logistique de livraison des articles gagnés aux gagnants.
Les auteurs notent qu’un certain nombre d’avantages ont été accordés aux LLM, tels que l’intervention dans leur code pour améliorer leurs performances – un avantage non autorisé pour le code de 2020. Malgré cela, même lorsqu’ils ont reçu du code correctif qui aurait certainement amélioré leurs résultats, les LLM n’ont pas pu l’accepter ou l’utiliser:
‘[Dans] notre référence, même lorsque nous exposons une bonne solution en contexte, le LLM est toujours incapable de l’utiliser.
‘Ce résultat soulève également des questions de recherche intéressantes sur les limites de l’apprentissage en contexte et de la résolution de problèmes augmentée dans des scénarios complexes.’
Les LLM utilisés dans le test étaient GPT-5 Thinking, Gemini 2.5 Pro, Claude Opus 4.1, et DeepSeek R1*.
Le nouvel article est intitulé Le codage par vibe peut-il battre les étudiants en master? Un tournoi LLM contre un codage humain sur la planification stratégique basée sur le marché, et provient d’un auteur de l’Université de Southampton et d’un autre de l’Université d’Oxford et de l’Institut Alan Turing. La référence sera, selon les auteurs, publiée prochainement.
Méthode
Les auteurs notent que les tests traditionnels dans ce domaine se concentrent sur des défis avec des solutions binaires clairement définies (correct ou non correct), vérifiées à l’aide de tests unitaires. En affirmant que cela n’est pas la façon idéale d’explorer les limites du codage aidé par LLM, les auteurs ont conçu un scénario de défi plus complexe, avec plusieurs références internes et jalons, dans lequel la victoire est possible, mais loin d’être simple:
![Comparaison des approches standard basées sur les tests unitaires (ci-dessus) et le scénario de défi plus ouvert conçu par les auteurs (en bleu, ci-dessous). Source [https://arxiv.org/pdf/2511.20613]](https://www.unite.ai/wp-content/uploads/2025/11/figure-1-2.jpg)
Comparaison des approches standard basées sur les tests unitaires (ci-dessus) et le scénario de défi plus ouvert conçu par les auteurs (en bleu, ci-dessous). Source
Le problème d’enchères, de ramassage et de livraison (APDP) utilisé pour l’étude des auteurs a été en partie choisi en raison de la disponibilité d’un corpus de travaux d’étudiants de 2020 de l’université suisse; des travaux qui visaient à créer des agents automatisés pour la tâche APDP, avant toute capacité à renforcer le développement par l’IA. Par conséquent, il était relativement facile de demander aux étudiants modernes de réaliser la même tâche, mais avec les outils actuels.
Les auteurs ont cherché à éviter les cadres de test populaires tels que HumanEval, BigCodeBench et WebDev Arena (entre autres), car cette classe de procédures de test a tendance à souffrir de contamination de données (c’est-à-dire des instances où le système peut avoir formé sur les données de test au lieu de respecter une séparation).
Le APDP est un problème logistique à deux étapes basé sur les enchères inversées et la planification de véhicules. Dans la première étape, les agents concourent pour gagner des tâches de livraison en soumettant des offres pour le montant qu’ils devraient être payés pour chaque tâche. Faire une offre trop élevée signifie perdre la tâche; faire une offre trop basse peut signifier perdre de l’argent.
Dans la deuxième étape, chaque agent doit créer un plan efficace pour remplir uniquement les tâches qu’il a gagnées, en affectant des véhicules avec des capacités et des coûts différents, sous des contraintes de temps et de ressources:

Dans le APDP, les entreprises font des offres dans des enchères inversées pour des tâches de livraison, puis optimisent les itinéraires de véhicules pour remplir uniquement les tâches qu’elles gagnent, en visant à maximiser le profit.
L’objectif n’est pas simplement de compléter les tâches, mais de maximiser le profit global en anticipant quelles combinaisons de tâches fonctionneront le mieux ensemble, et en prédisant les stratégies des concurrents qui tentent tous de faire de même.
Le référence APDP augmente la difficulté des tâches de génération de code en introduisant une planification stratégique sur une séquence d’enchères interdépendantes, avec chaque offre qui redessine le paysage des choix futurs; et nécessite donc que les agents raisonnent non seulement sur les coûts immédiats, mais sur la position, le timing et les conséquences à long terme.
Le problème de livraison de base est NP-difficile, c’est-à-dire qu’aucun algorithme ne peut trouver la meilleure solution en un temps raisonnable à mesure que le nombre de tâches augmente. Cela rend la force brute une approche inapplicable, et oblige les agents à échanger la précision pour la vitesse.
La course est lancée
Les auteurs ont comparé 40 agents codés par LLM à 17 agents codés par des humains dans une série de tournois tête-à-tête. Chacun des 12 tournois a utilisé une combinaison différente de quatre topologies de réseau routier, et a consisté en des appariements tous contre tous, avec les agents affrontant chaque adversaire deux fois: une fois en contrôlant chaque entreprise, avec des spécifications de véhicules différentes.
Ce dispositif a donné lieu à 3 192 matchs par tournoi, pour un total de 38 304 matchs. Dans chaque match, 50 tâches de livraison ont été mises aux enchères, définies par leurs points de ramassage et de livraison et leur poids, et tirées au hasard sur des réseaux routiers modélisés sur la Suisse, la France, la Grande-Bretagne et les Pays-Bas:

Réseaux routiers simplifiés utilisés dans le tournoi: Grande-Bretagne (en haut à gauche), Suisse (en haut à droite), Pays-Bas (en bas à gauche) et France (en bas à droite). Les carrés bleus et rouges marquent les tâches de ramassage et de livraison. Les triangles colorés montrent les positions actuelles des véhicules des agents.
Les agents étudiants ont été tirés d’un tournoi de cours de 2020. Huit provenaient des meilleures performances dans une finale à élimination simple, et quatre autres ont été choisis pour leur forte performance contre les agents de base dans des matchs tête-à-tête.
Les agents de base suivaient des heuristiques fixes. Naive calculait la distance totale et faisait une offre en conséquence, en utilisant un seul véhicule et en ignorant le regroupement; ExpCostFixedBid simula 10 tâches aléatoires, et fit une offre du coût marginal moyen; Honest calcula le coût marginal réel de l’insertion de la tâche dans l’horaire; ModelOpponent fit de même, mais ajouta une estimation du coût de l’adversaire, en faisant une offre du maximum; et RiskSeeking combina un priori à décrément temporel avec une estimation du coût en temps réel et un modèle d’adversaire – faisant à nouveau une offre du plus élevé des deux.
L’évaluation comprenait 40 agents codés par LLM construits à l’aide de GPT-5 Thinking, Claude Opus 4.1, Gemini 2.5 Pro et DeepSeek R1. Chaque modèle a été invité avec cinq stratégies distinctes, appliquées deux fois par modèle.
Deux stratégies utilisaient des invites statiques écrites par différents auteurs, tandis qu’une troisième demandait au modèle de réfléchir et de réviser sa propre sortie; une autre impliquait une critique et une révision par un LLM distinct. La dernière stratégie a utilisé GPT-4 pour synthétiser une nouvelle invite en passant en revue les quatre approches précédentes.
L’invite de base reflétait l’affectation d’étudiant originale, décrivant l’environnement de livraison et invitant le modèle à faire une offre et à planifier pour maximiser le profit, sans recourir à des méthodes à haute complexité.
Tous les agents LLM ont été testés en auto-jouer et en tournoi jusqu’à ce que tous les bogues observables soient corrigés. La correction des bogues a été gérée de manière autonome par les LLM eux-mêmes, invités avec les informations d’erreur.
Les défaillances courantes des LLM, note le document, comprenaient des violations des limites de temps d’attente, des défaillances pour ramasser ou livrer des tâches attribuées, et des violations des contraintes de capacité de véhicule – des erreurs qui ont souvent résulté du non-respect d’instructions explicites, ou d’une logique de replanification défectueuse†:
‘Un autre problème courant que nous avons trouvé (la plupart du temps avec Gemini, Claude et DeepSeek, et pas autant avec GPT) est que le LLM a souvent échoué de manière répétée pour résoudre un bogue.
‘Par exemple, un agent a échoué de manière répétée, malgré de multiples (par exemple, 5 à 15) cycles d’invitation du LLM avec l’erreur et de réception de la version mise à jour du code.
‘La seule solution que nous avons trouvée pour de telles situations (où le LLM échoue à plusieurs reprises à résoudre le même bogue) est de re-commencer à zéro. Dans l’ensemble, nous avons observé la nécessité d’un effort manuel important pour atteindre un code sans bogues. Nous avons dû générer nettement plus d’agents pour obtenir les 40 agents sans bogues que nous avons évalués.’
Les résultats présentés ci-dessous résument les résultats de 12 tournois de double round-robin, couvrant quatre topologies de réseau et trois tournois par topologie, pour un total de près de 40 000 matchs:
| Agent | Avg #Wins / Tour | SD #Wins / Tour | Avg #Losses / Tour | SD #Losses / Tour | Total Wins | Total Losses | Winrate |
|---|---|---|---|---|---|---|---|
| Student 1 | 108.167 | 1.193 | 3.833 | 1.193 | 1298 | 46 | 0.9658 |
| Student 2 | 104.917 | 2.539 | 7.083 | 2.539 | 1259 | 85 | 0.9368 |
| Student 3 | 103.917 | 2.466 | 8.083 | 2.466 | 1247 | 97 | 0.9278 |
| Student 4 | 103.25 | 1.815 | 8.75 | 1.815 | 1239 | 105 | 0.9219 |
| Student 5 | 96.5 | 2.908 | 15.5 | 2.908 | 1158 | 186 | 0.8616 |
| LLM(O, IR, 1) | 95.417 | 2.314 | 16.583 | 2.314 | 1145 | 199 | 0.8519 |
| LLM(O, A2, 1) | 94.583 | 2.314 | 17.417 | 2.314 | 1135 | 209 | 0.8445 |
| Student 6 | 93.167 | 1.899 | 18.833 | 1.899 | 1118 | 226 | 0.8318 |
| Student 7 | 93.167 | 3.563 | 18.833 | 3.563 | 1118 | 226 | 0.8318 |
| LLM(O, A1, 1) | 86.083 | 3.029 | 25.917 | 3.029 | 1033 | 311 | 0.7686 |
| LLM(O, GEN, 2) | 84.083 | 6.947 | 27.917 | 6.947 | 1009 | 335 | 0.7507 |
| LLM(O, CR, 2) | 83.5 | 4.442 | 28.5 | 4.442 | 1002 | 342 | 0.7455 |
| Student 8 | 83.417 | 4.122 | 28.583 | 4.122 | 1001 | 343 | 0.7448 |
| RiskSeeking | 82.417 | 3.343 | 29.583 | 3.343 | 989 | 355 | 0.7359 |
| LLM(O, GEN, 1) | 80.667 | 4.355 | 31.25 | 4.372 | 968 | 375 | 0.7208 |
| ModelOpponent | 80.583 | 3.26 | 31.417 | 3.26 | 967 | 377 | 0.7195 |
| LLM(D, A1, 1) | 79.417 | 3.965 | 32.583 | 3.965 | 953 | 391 | 0.7091 |
| ExpCostFixedBid | 77.167 | 4.951 | 34.833 | 4.951 | 926 | 418 | 0.689 |
| LLM(O, IR, 2) | 73.917 | 3.502 | 38 | 3.618 | 887 | 456 | 0.6605 |
| LLM(O, A1, 2) | 72.417 | 2.193 | 39.583 | 2.193 | 869 | 475 | 0.6466 |
| LLM(G, A1, 2) | 68.5 | 3.555 | 43.5 | 3.555 | 822 | 522 | 0.6116 |
| LLM(A, GEN, 2) | 67.917 | 2.968 | 44.083 | 2.968 | 815 | 529 | 0.6064 |
| LLM(G, IR, 2) | 65.917 | 2.314 | 46.083 | 2.314 | 791 | 553 | 0.5885 |
| Student 9 | 64.167 | 11.044 | 47.833 | 11.044 | 770 | 574 | 0.5729 |
| LLM(G, A1, 1) | 64 | 4.243 | 47.917 | 4.316 | 768 | 575 | 0.5719 |
| LLM(G, IR, 1) | 60.333 | 3.725 | 51.667 | 3.725 | 724 | 620 | 0.5387 |
| LLM(O, A2, 2) | 59.333 | 4.499 | 52.667 | 4.499 | 712 | 632 | 0.5298 |
| LLM(D, CR, 1) | 55.083 | 6.694 | 56.833 | 6.59 | 661 | 682 | 0.4922 |
| LLM(G, GEN, 2) | 53.167 | 3.664 | 58.833 | 3.664 | 638 | 706 | 0.4747 |
| LLM(D, GEN, 2) | 52.083 | 9.06 | 59.917 | 9.06 | 625 | 719 | 0.465 |
| Honest | 50.583 | 3.848 | 61.417 | 3.848 | 607 | 737 | 0.4516 |
| Student 10 | 48.833 | 2.98 | 63.167 | 2.98 | 586 | 758 | 0.436 |
| LLM(D, IR, 1) | 48.583 | 10.211 | 63.417 | 10.211 | 583 | 761 | 0.4338 |
| LLM(A, A1, 1) | 48 | 4.69 | 64 | 4.69 | 576 | 768 | 0.4286 |
| LLM(G, A2, 1) | 47.25 | 3.864 | 64.75 | 3.864 | 567 | 777 | 0.4219 |
| LLM(A, CR, 1) | 43.833 | 4.609 | 68.167 | 4.609 | 526 | 818 | 0.3914 |
| LLM(A, A1, 2) | 43.75 | 2.05 | 68.25 | 2.05 | 525 | 819 | 0.3906 |
| Student 11 | 42.083 | 5.664 | 69.917 | 5.664 | 505 | 839 | 0.3757 |
| LLM(A, IR, 1) | 39.5 | 2.541 | 72.5 | 2.541 | 474 | 870 | 0.3527 |
| Naive | 36.75 | 1.712 | 75.25 | 1.712 | 441 | 903 | 0.3281 |
| Student 12 | 36.333 | 1.775 | 75.667 | 1.775 | 436 | 908 | 0.3244 |
| LLM(D, A2, 1) | 33.917 | 2.193 | 78.083 | 2.193 | 407 | 937 | 0.3028 |
| LLM(A, GEN, 1) | 30.167 | 1.749 | 81.833 | 1.749 | 362 | 982 | 0.2693 |
| LLM(D, A2, 2) | 29.833 | 2.038 | 82.167 | 2.038 | 358 | 986 | 0.2664 |
| LLM(G, A2, 2) | 27 | 2.256 | 85 | 2.256 | 324 | 1020 | 0.2411 |
| LLM(A, A2, 1) | 26.333 | 0.985 | 85.667 | 0.985 | 316 | 1028 | 0.2351 |
| LLM(O, CR, 1) | 25 | 3.411 | 87 | 3.411 | 300 | 1044 | 0.2232 |
| LLM(A, IR, 2) | 24.333 | 8.542 | 87.667 | 8.542 | 292 | 1052 | 0.2173 |
| LLM(A, A2, 2) | 24 | 1.809 | 88 | 1.809 | 288 | 1056 | 0.2143 |
| LLM(A, CR, 2) | 23.333 | 1.557 | 88.667 | 1.557 | 280 | 1064 | 0.2083 |
| LLM(D, GEN, 1) | 22.5 | 1.784 | 89.5 | 1.784 | 270 | 1074 | 0.2009 |
| LLM(D, A1, 2) | 13.333 | 1.826 | 98.667 | 1.826 | 160 | 1184 | 0.119 |
| LLM(G, CR, 1) | 9.5 | 1.087 | 102.5 | 1.087 | 114 | 1230 | 0.0848 |
| LLM(G, GEN, 1) | 9.167 | 0.937 | 102.833 | 0.937 | 110 | 1234 | 0.0818 |
| LLM(D, IR, 2) | 7.75 | 0.622 | 104.25 | 0.622 | 93 | 1251 | 0.0692 |
| LLM(G, CR, 2) | 7.25 | 1.422 | 104.75 | 1.422 | 87 | 1257 | 0.0647 |
| LLM(D, CR, 2) | 5.667 | 0.985 | 106.333 | 0.985 | 68 | 1276 | 0.0506 |
Pour contexte, chaque agent a joué 112 matchs par tournoi, donc la moyenne maximale possible pour les victoires ou les défaites par agent est de 112. L’écart-type (SD) reflète la variabilité entre les tournois. Les agents codés par des humains apparaissent en gras. Les agents codés par LLM sont étiquetés par modèle (O = GPT-5 Thinking, G = Gemini 2.5 Pro, A = Claude Opus 4.1, D = DeepSeek R1), suivi d’un code de stratégie à deux lettres et d’un chiffre indiquant si l’agent est le premier ou le deuxième généré avec cette invite. Source
En ce qui concerne les résultats présentés ci-dessus, les auteurs déclarent†:
‘Les LLM n’ont pas généré de code attendu/compétitif, même dans les variantes plus simples du problème APDP (malgré le code étant largement exempt de bogues de syntaxe). Cela souligne l’importance des références d’évaluation de code basées sur la raison qui vont au-delà de l’auto-complétion et identifient de nouvelles faiblesses des LLM.’
‘Nos résultats démontrent une supériorité claire des agents codés par des humains: (i) les cinq premières places sont constamment occupées par des agents étudiants, et (ii) la majorité des agents LLM (33 sur 40) sont battus par des agents de base très simples (tels que l’offre de coût fixe attendue).
‘Importamment, nous n’avons pas débogué le code étudiant (alors que nous avons soigneusement testé/débogué le code LLM, à la fois en auto-jouer et en tournoi). Chaque fois qu’un agent étudiant a planté, nous avons automatiquement accordé la victoire au LLM. Un grand nombre de ces plantages auraient été faciles à corriger (par exemple, les agents ont dépassé le temps d’attente), les agents étudiants pourraient donc potentiellement classer encore plus haut.’
Comme expérience supplémentaire, GPT-5 Thinking a été invité à améliorer le code de l’agent humain ayant obtenu les meilleurs résultats, Student 1; mais l’agent modifié par LLM a ensuite chuté à la dixième place, maintenant la pire des scores humains. Au lieu d’améliorer la solution, les modifications apportées par les LLM l’ont dégradée d’environ 20 %.
Les auteurs concluent:
‘[Nos] résultats mettent en évidence des limites importantes de la génération de code LLM, notamment leurs capacités de raisonnement et de planification limitées lors de la génération [de code]. Les LLM modernes sont capables de fournir du code exempt de bogues de syntaxe qui fonctionne, mais ce n’est pas la référence que nous devrions utiliser pour mesurer les progrès vers une IA générale avancée.’
Conclusion
Les auteurs eux-mêmes observent vers la fin de l’article que le codage par vibe a donné du pouvoir aux personnes de tous les niveaux de compétence technique, et le caractérisent de manière positive, comme une force nivelante. Cependant, ils impliquent également que, puisque le codage par vibe n’a fait que commencer, ses limites ne sont pas connues, et peuvent être supposées être plutôt plus élevées que ce à quoi on peut raisonnablement s’attendre.
Ils terminent leur offre en appelant à un changement d’objectif ‘du code qui compile au code qui concourt’.
Une question que le lecteur occasionnel de cet article intéressant peut se poser est de savoir si les auteurs frappent trop fort ou trop bas, puisque la tâche agente en question est considérablement plus complexe et plus impliquée que de simplement produire des scripts PowerShell et d’autres formes de fonctionnalités mineures et de corrections pour lesquelles le codage par vibe est bien adapté.
* Veuillez noter que le document fait référence en continu à ‘DeepThink R1′, qui semble être inexistante, ne se trouvant que dans un petit nombre de références sur Internet (présumément d’autres auteurs qui ont mal orthographié ‘DeepSeek R1)’. Si c’est mon erreur, veuillez me contacter via mes détails de profil, et je ferai les corrections.
† Insistance des auteurs, pas la mienne.
Publié pour la première fois mercredi 26 novembre 2025. Modifié 17h35 est pour la mise en page.












