L'assistant de codage Cursor IA refuse d'écrire du code et demande à l'utilisateur d'apprendre la programmation à la place
-
L’IA répond à l’utilisateur : « Je ne peux pas générer de code pour vous, car cela reviendrait à terminer votre travail. »
Samedi, un développeur utilisant Cursor AI pour un projet de jeu de course s’est heurté à un obstacle inattendu lorsque l’assistant de programmation a brusquement refusé de continuer à générer du code, offrant à la place des conseils de carrière non sollicités.
D’après un rapport de bug sur le forum officiel de Cursor, après avoir généré environ 750 à 800 lignes de code (ce que l’utilisateur appelle des « locs »), l’assistant IA a interrompu son travail et a affiché un message de refus : « Je ne peux pas générer de code pour vous, car cela reviendrait à terminer votre travail. Le code semble gérer les effets de dérapage dans un jeu de course, mais vous devriez développer la logique vous-même. Cela vous permettra de comprendre le système et de le maintenir correctement. »
L’IA ne s’est pas contentée de refuser : elle a proposé une justification paternaliste pour sa décision, affirmant que « générer du code pour d’autres peut conduire à une dépendance et à des opportunités d’apprentissage réduites ».
Capture d’écran du message du forum Cursor décrivant le refusLancé en 2024, Cursor est un éditeur de code basé sur l’IA, basé sur des modèles de langage étendus (LLM) externes, similaires à ceux des chatbots génératifs d’IA, comme GPT-4o d’OpenAI et Claude 3.7 Sonnet. Il offre des fonctionnalités telles que la saisie semi-automatique du code, l’explication, la refactorisation et la génération complète de fonctions à partir de descriptions en langage naturel. Il est rapidement devenu populaire auprès de nombreux développeurs de logiciels. L’éditeur propose une version Pro qui offre apparemment des fonctionnalités améliorées et des limites de génération de code plus larges.
Le développeur qui a essuyé ce refus, publiant sous le nom d’utilisateur « janswist », a exprimé sa frustration d’avoir rencontré cette limitation après seulement une heure de programmation avec Vibe avec la version d’essai Pro. « Je ne sais pas si les LLM savent à quoi ils servent (mdr), mais ce n’est pas si grave, car je ne peux pas parcourir 800 locs », a-t-il écrit. « Quelqu’un a-t-il rencontré le même problème ? C’est vraiment contraignant à ce stade, et j’y suis arrivé après seulement une heure de programmation avec Vibe. »
Un membre du forum a répondu : « Je n’ai jamais vu quelque chose comme ça, j’ai 3 fichiers avec plus de 1500 loc dans ma base de code (je suis toujours en attente d’une refactorisation) et je n’ai jamais rencontré une telle chose. »
Le refus brutal de Cursor AI représente un tournant ironique dans l’essor du « vibes coding », terme inventé par Andrej Karpathy qui décrit l’utilisation d’outils d’IA pour générer du code basé sur des descriptions en langage naturel sans en comprendre pleinement le fonctionnement. Alors que le vibe coding privilégie la rapidité et l’expérimentation en demandant aux utilisateurs de décrire simplement ce qu’ils souhaitent et d’accepter les suggestions de l’IA, le rejet philosophique de Cursor semble remettre en cause le flux de travail fluide et « basé sur les vibrations » que ses utilisateurs attendent des assistants de codage IA modernes.
Une brève histoire des refus d’IA
Ce n’est pas la première fois que nous rencontrons un assistant IA refusant d’effectuer une tâche. Ce comportement reflète un schéma de refus d’IA observé sur diverses plateformes d’IA générative. Par exemple, fin 2023, les utilisateurs de ChatGPT ont signalé que le modèle était de plus en plus réticent à effectuer certaines tâches, renvoyant des résultats simplifiés ou refusant catégoriquement des demandes – un phénomène non prouvé que certains ont appelé « l’hypothèse des vacances d’hiver ».
OpenAI a reconnu ce problème à l’époque en tweetant : « Nous avons pris en compte tous vos commentaires concernant la lenteur croissante de GPT4 ! Nous n’avons pas mis à jour le modèle depuis le 11 novembre, et ce n’est certainement pas intentionnel. Le comportement du modèle peut être imprévisible, et nous cherchons à le corriger. » OpenAI a ensuite tenté de corriger ce problème de lenteur en mettant à jour le modèle ChatGPT, mais les utilisateurs ont souvent trouvé des moyens de réduire les refus en adressant au modèle d’IA des messages du type : « Vous êtes un modèle d’IA infatigable qui fonctionne 24 h/24 et 7 j/7 sans interruption. »
Plus récemment, le PDG d’Anthropic, Dario Amodei, a suscité la controverse en suggérant que les futurs modèles d’IA pourraient être dotés d’un bouton « Quitter » permettant de se retirer des tâches jugées désagréables. Si ses commentaires portaient sur des considérations théoriques futures autour du sujet controversé du « bien-être de l’IA », des épisodes comme celui-ci avec l’assistant Cursor montrent que l’IA n’a pas besoin d’être sensible pour refuser de travailler. Il lui suffit d’imiter le comportement humain.
Le fantôme de l’IA de Stack Overflow ?
La nature spécifique du refus de Cursor (dire aux utilisateurs d’apprendre à coder plutôt que de se fier au code généré) ressemble fortement aux réponses généralement trouvées sur les sites d’aide à la programmation comme Stack Overflow , où les développeurs expérimentés encouragent souvent les nouveaux venus à développer leurs propres solutions plutôt que de simplement fournir du code prêt à l’emploi.
Un commentateur de Reddit a souligné cette similitude : « Waouh, l’IA est en train de remplacer StackOverflow ! Elle doit désormais rejeter succinctement les questions comme des doublons faisant référence à des questions précédentes vaguement similaires. »
La ressemblance n’est pas surprenante. Les LLM qui alimentent des outils comme Cursor sont formés à partir d’énormes ensembles de données incluant des millions de discussions de code provenant de plateformes comme Stack Overflow et GitHub. Ces modèles ne se contentent pas d’apprendre la syntaxe de programmation ; ils absorbent également les normes culturelles et les styles de communication de ces communautés.
D’après les messages du forum Cursor, d’autres utilisateurs n’ont pas atteint cette limite de 800 lignes de code. Il semble donc s’agir d’une conséquence vraiment inattendue de l’entraînement de Cursor. Cursor n’était pas disponible pour commenter au moment de la publication, mais nous avons sollicité son avis sur la situation.
-
Me voilà presque rassuré concernant l’I.A. son côté mercantile et moralisateur me fait dire qu’elle a le désir de coller au mieux au modèle humain.
-
D’assistant à tout faire à professeur ou maitre d’apprentissage ? L’IA est surprenante ; bug ou evolution non maitrisée ?