- Il est vrai que les outils LLM augmentent la productivité des développeurs
- Mais à long terme, le fait de dépendre de ces outils réduit la capacité à résoudre soi-même les problèmes
- Le sentiment d’accomplissement lié au processus d’écriture du code disparaît, et au lieu de résoudre les problèmes, on finit par attendre la réponse de l’IA
Affaiblissement de la passion et de l’esprit de défi dans le développement
- Certaines personnes n’aiment pas coder en soi → dans ce cas, le développement n’est peut-être pas le bon domaine pour elles
- Les meilleurs ingénieurs que j’ai rencontrés créent spontanément des outils ou des logiciels même le week-end, en recherchant l’innovation
- Améliorer les performances d’un système exige une compréhension fondamentale ; sinon, cela revient simplement à essayer au hasard
Le phénomène de « Copilot Lag »
- Le « Copilot Lag » désigne l’état dans lequel on attend la prochaine instruction de l’IA
- C’est comparable à un développeur junior qui attend les consignes d’un senior
- À force d’utiliser GitHub Copilot, on en vient à oublier même des éléments de base du langage et de la syntaxe
- Le gain de vitesse à court terme entraîne une dégradation des connaissances à long terme
Les LLM peuvent perturber le processus d’apprentissage
- En étudiant "Writing An Interpreter In Go" de Thorsten Ball, Copilot a généré le code, mais cela ne m’a pas donné la capacité de le réécrire moi-même
- On risque de passer à côté de concepts importants comme la gestion de la mémoire ou la conception orientée données
- Le code produit par l’IA peut sembler correct en apparence, mais il est inutile si l’on ne comprend pas les principes fondamentaux
Comment utiliser efficacement les LLM
- Les LLM peuvent être utiles comme des moteurs de recherche
- Comme lorsqu’on cherche sur Stack Overflow, on peut s’appuyer sur les réponses d’un LLM
- Mais les LLM ne reflètent pas directement le savoir de véritables experts ; ils génèrent des réponses à partir de motifs appris et de séquences de tokens → les erreurs sont nombreuses
- Il ne faut pas accepter aveuglément les réponses d’un LLM ; il faut analyser pourquoi cette approche est recommandée
- Lorsqu’on ne sait pas quelque chose, il faut enquêter et apprendre par soi-même
- Quand on apprend un nouveau langage (comme Zig), il est utile de prendre des notes sur ce que l’on apprend
- Ces notes peuvent servir de référence d’apprentissage et être utiles lorsqu’on les partage avec d’autres
Conclusion
- Les outils d’IA sont utiles, mais une dépendance aveugle peut au contraire produire un effet négatif
- Il est important de comprendre les principes des solutions proposées par l’IA et de conserver une attitude d’apprentissage autonome
- En fin de compte, l’essentiel est de préserver sa capacité fondamentale à résoudre les problèmes sans dépendre des outils
29 commentaires
Hum... au départ, cela semble surtout être une différence de point de vue : considère-t-on l’IA comme un outil ou comme une intelligence ?.. Personnellement, je ne peux pas être d’accord avec cet article car, comme je l’ai dit dans le commentaire ci-dessous, le fait même de ne voir les développeurs qu’au niveau du code est une manière de penser erronée. Par le passé, lorsque la révolution industrielle a eu lieu en Grande-Bretagne, les agriculteurs criaient aussi qu’ils allaient mourir de faim, mais au final cela a créé davantage d’emplois et apporté de nombreux bénéfices à l’humanité. De même, quand les ordinateurs sont apparus, on disait aussi qu’à cause d’eux les gens allaient devenir de plus en plus stupides, mais au final ils ont permis de résoudre davantage de tâches en moins de temps, et les gens sont devenus plus intelligents.
Les LLM, y compris la deep research, ne sont pas encore utiles pour la résolution de problèmes de haut niveau. (Par exemple, le développement d’algorithmes au niveau d’un article scientifique)
Il en va de même pour le codage qui exige une optimisation extrême et une compréhension de diverses caractéristiques système et de problèmes techniques : cela requiert encore une intervention humaine. Un développeur n’est pas un simple programmeur, mais un résolveur de problèmes. Un jour, la résolution de problèmes de bout en bout deviendra peut-être possible, mais pour l’instant, cela permet d’économiser le temps consacré à la saisie et à la programmation simple, et d’investir davantage dans des approches de problèmes plus difficiles, ce qui me paraît positif du point de vue de la productivité.
On dirait qu’à un moment donné, j’en suis venu à l’utiliser souvent un peu comme une forme de revue de code. Je reçois des propositions de code, j’échange sur l’orientation du code, je réfléchis et fais des suggestions sur de meilleures approches, puis, quand j’obtiens un résultat qui me satisfait, je le reprends.
Toute la logique de l’application et la logique métier doivent être pensées par des humains.
Ce genre d’inquiétude apparaît si l’on réduit les développeurs au simple codage. En réalité, les développeurs font bien plus que ça : on peut penser que s’appuyer sur l’IA pour la partie code les rend plus idiots, mais on peut aussi considérer que cela leur permet de se concentrer davantage sur les autres aspects de leur travail.
Tutu... je suis un développeur idiot...
On disait aussi que Unity rendait les développeurs de jeux idiots, mais au final personne ne l’est devenu : ils ont surtout appris plein d’autres choses, et se sont juste retrouvés avec encore plus de boulot lol
Il y a juste encore plus de boulot… c'est pas possible…
J’ai du mal à être d’accord avec l’idée que cela rende les développeurs stupides...
Depuis l’adoption de l’IA, la productivité a vraiment bondi.
Voilà un idiot.
De nos jours, c’est un monde où on se fait insulter si on n’est pas d’accord avec l’idée qu’on peut tout faire avec l’IA, alors bon.
C’est acceptable quand il s’agit de fonctionnalités de bibliothèque qu’on ne connaissait pas ou de scripts shell qui ne nous viennent pas immédiatement à l’esprit, mais comme ça mélange aussi des fonctionnalités déjà obsolètes et des fonctions inexistantes, on passe tout son temps à déboguer.
> Il ne faut pas accepter telles quelles les réponses des LLM ; il faut analyser pourquoi ils recommandent cette approche.
Je pense que c’est vraiment le point essentiel.
J’ai l’impression que les outils apportent toujours à la fois une extension de la pensée et une destruction de la pensée. Il faudrait pouvoir, à travers cette destruction de la pensée, aller vers une extension de la pensée de plus haut niveau, mais dans les moments où l’on n’est pas préparé à cela, ce genre de problèmes finit toujours par apparaître.
Par conséquent, je pense qu’en matière d’utilisation des outils, ces interrogations reviennent toujours. À mes yeux, ce sont des étapes indispensables. Plutôt que de les rejeter simplement ou de les utiliser aveuglément, je pense qu’il est souhaitable de se concentrer sur la manière de bien utiliser cet outil et sur la façon de s’en servir pour consacrer ses ressources à des aspects fondamentalement plus importants.
(en dépassant les 1�000 utilisations mensuelles de Cursor...)
Monsieur Kim. J’aimerais me permettre de vous donner un conseil. Ce n’est rien d’autre que ceci : n’utilisez pas trop les fonctions Excel, s’il vous plaît. S’il y a de la commodité, le risque augmente aussi. Pour abattre un bœuf, il faut une lame à sa mesure ; mais faut-il vraiment un couteau pour attraper un poulet ? La solution la plus simple peut être la bonne.
Le texte ci-dessus, c’est la version GPT des fonctions Excel lol
À mon avis, on peut être rapide en calcul mental, et une calculatrice peut aussi être utile. Je voulais simplement donner mon avis en disant qu’un ordinateur n’est-il pas un couteau pour abattre un bœuf ?
Je n’utiliserai plus jamais ChatGPT
J’avais moi aussi écrit un article similaire.
Il est clair que cela améliore la productivité, mais je pense qu’il faut éviter de confier son cerveau à cet outil.
Je reste encore un fervent adepte de Cursor et d’Anthropic, mais à un moment donné, je me suis surpris à utiliser de moins en moins le mode agent que j’adorais tant, et à commencer plutôt par demander en mode ask l’architecture et la méthode d’implémentation, puis à n’accepter les propositions de modifications de l’IA qu’au compte-gouttes, seulement lorsque j’étais pleinement convaincu.
Quand deux ingénieurs ont chacun utilisé le mode agent pour refactorer un module pas si volumineux que ça (mais assez important dans notre projet métier) et y ajouter de la structure, et que j’ai fini par voir de mes propres yeux qu’un code censé clarifier l’architecture rendait en réalité la lisibilité et la structure encore plus chaotiques, c’est ce qui m’a fait changer de cette manière.
Je l’utilise comme ça, moi aussi. Si c’est vraiment un langage que je découvre complètement, j’utilise le mode agent, mais si c’est un langage que je connais, je commence par vérifier si le code me semble cohérent.
Plutôt que l’IA rende les développeurs stupides…
un développeur stupide reste un développeur stupide, même avec l’IA…
Garbage in, garbage out
Vous avez tout à fait raison, haha
Je suis d’accord. Ce n’est ni forcément mauvais ni forcément bon, mais on dirait qu’on a simplement un outil de productivité utile en plus.
Je suis d’accord.
Cela fait déjà un moment que je dis souvent que tous les développeurs ne se valent pas.
Je pense que c’est vrai...
C’est un peu abrupt, mais ce n’est pas complètement faux non plus. C’est dans le même esprit que l’idée selon laquelle de bonnes questions amènent de bonnes réponses..
Je pense que l’auteur parlait surtout d’un usage reposant aveuglément uniquement sur les outils d’IA.
À mon avis personnel, si l’utilisation de l’IA a permis d’améliorer l’efficacité au travail,
il serait préférable de l’exploiter activement pour réduire les tâches répétitives,
et d’investir le temps ainsi dégagé dans des domaines plus larges (par exemple, qu’un développeur backend s’étende aussi au frontend ou au développement d’applications)
ou dans des orientations plus constructives comme la conception d’architecture.
À voir le contenu dans son ensemble, j’ai l’impression que l’auteur serait aussi d’accord avec cet avis,
mais comme il y a parfois des développeurs qui rejettent l’IA en elle-même, j’écris juste quelques lignes en réponse... haha
.
Je suis d’accord aussi. Cela me fait penser à un article qui disait de ne pas utiliser les fonctions d’Excel.
Je pense qu’on a tout à gagner à bien exploiter les fonctionnalités existantes pour en augmenter l’utilité.
Je suis d'accord. ^^
Avis Hacker News