
illustrant les dangers entourant une dépendance excessive à l'égard de la technologie
Dans un rebondissement qui soulève des questions sur l'équilibre entre technologie et gestion humaine, un chef d’entreprise a récemment pris une décision radicale : remplacer toute son équipe par une solution d’intelligence artificielle (IA). Cette décision, apparemment motivée par des gains d'efficacité et des économies budgétaires, s'est retournée contre lui, le forçant à publier des offres d’emploi sur LinkedIn pour reconstituer son équipe. Mais que s'est-il passé réellement ?
Une décision motivée par l'automatisation
Wes Winder, un développeur de logiciels canadien, a fait sensation après avoir décidé de licencier son équipe de développement et de la remplacer par des outils d'IA. Winder a d'abord utilisé les médias sociaux pour se vanter de sa décision, affirmant qu'elle lui permettait de « livrer 100 fois plus vite avec un code 10 fois plus propre ». Auparavant, une telle agressivité lui aurait valu de l'influence, mais aujourd'hui, elle s'est retournée contre lui et il est devenu un mème sur Reddit.
L’idée d’automatiser certains postes grâce à l’IA n’est pas nouvelle. De nombreuses entreprises explorent l’utilisation de modèles IA pour optimiser leurs opérations et réduire les coûts. Cependant, ce dirigeant semble avoir pris cette approche à l’extrême en licenciant l’intégralité de son équipe de développeurs, croyant que l’IA pourrait accomplir leurs tâches sans intervention humaine.
Le tweet disait : « J'ai viré toute mon équipe de développeurs. Je les ai remplacés par O1, Lovable et Cursor. Maintenant, je livre 100X plus vite avec un code qui est 10X plus propre. OpenAI o3 arrive et 90 % des emplois de développeurs ne survivront pas. »
Cette décision s’est heurtée à la réalité. Bien que les technologies d’IA soient performantes dans certains contextes, elles ne remplacent pas totalement l'expertise humaine, notamment pour des tâches complexes ou nécessitant un jugement nuancé. Les problèmes techniques, le manque de personnalisation et les limites dans la gestion des imprévus ont rapidement montré les failles de cette approche.
Les conséquences inattendues
Winder s'est ensuite rendu sur LinkedIn pour annoncer qu'il avait besoin de développeurs web pour rejoindre son entreprise. Cette disparité a suscité de nombreuses moqueries, aussi bien sur les réseaux sociaux que sur son annonce.
Les critiques ont soulevé des objections raisonnables quant à la possibilité d'utiliser l'IA dans le développement de logiciels. Bien qu'il existe des IA telles que GPT-4 d'OpenAI et d'autres qui peuvent résoudre des problèmes simples et générer du code rapidement ou de manière créative, elles ne sont pas très utiles pour construire des systèmes massifs et cohérents ou pour résoudre de nouveaux problèmes. Un commentaire disait par exemple : « L'IA est précieuse car elle rend le travail des ingénieurs plus productif ». Un exercice d'inventaire, qui pouvait prendre plusieurs heures, peut désormais être réalisé facilement ; par exemple, l'IA propose un format de code possible qui peut être développé par les ingénieurs. Cependant, rien n'indique que l'IA remplacera un jour totalement la nécessité de faire appel à des ingénieurs.
Oui... mais
Si les internautes et les médias ont pris cette histoire à bras le corps, il convient de rétablir quelque chose de fondamental : le narratif des médias et sur les réseaux sociaux ne correspond pas à la chronologie des évènements. En effet, la publication de l'offre a eu lieu avant la publication sur X; impossible donc de déclarer qu'il s'est ravisé après l'échec de l'utilisation de l'IA pour remplacer son équipe. D'ailleurs, certains se gardent bien de laisser visible la date lorsqu'ils font la capture d'écran de ses propos sur X. De plus, il n'est pas exclu que l'individu tente juste de faire du buzz sur le sujet du moment pour profiter de l'élan dans ses activités ; rien ne dit donc que c'est réel.
Nonobstant cela, le tableau met en lumière un problème plus large pour l'industrie technologique d'aujourd'hui, qui cherche à surcompenser sa dépendance à l'IA par un mépris inconsidéré de l'importance de l'expérience humaine. Même si l'IA peut profiter aux développeurs en prenant en charge les tâches banales et en optimisant les tâches utiles, elle ne peut pas remplacer un développeur. La créativité et les capacités de résolution de problèmes, la prise de décision qui fait partie de la réflexion stratégique, ne peuvent être reproduites par l'IA ou les ingénieurs humains.
Il est absolument nécessaire de combler le fossé entre ce que les outils d'IA peuvent faire et ce qu'un Winder attend d'eux, car cette expérience est une illustration parfaite de ce qui peut se passer lorsque l'IA n'est pas correctement comprise et abordée
Elle souligne également de manière très pertinente l'utilisation d'aspects analytiques et technologiques approfondis et la nécessité d'attribuer une grande valeur au capital humain compte tenu de la transformation continue des environnements de travail, marquée notamment par des taux plus élevés de mondialisation et de progrès technologiques. En effet, un internaute a noté : « L'élément humain restera toujours nécessaire, quel que soit le degré d'IA. »
Une startup raconte comment une ligne de code généré par l'IA a entraîné 10 000 dollars de perte
Les startups s’appuient de plus en plus sur des outils automatisés pour accélérer leur développement. Cependant, cette dépendance peut parfois se retourner contre elles, comme l’a appris à ses dépens une startup qui a vu une simple erreur de ChatGPT lui coûter plus de 10 000 dollars.
La startup en question a raconté ses débuts et les défis qu'elle a dû relever lorsqu'elle s'est tournée pour la première fois vers la monétisation. Malgré ses faibles attentes, l'entreprise a été agréablement surprise d'avoir son premier client dans l'heure qui a suivi son lancement. Cependant, elle s'est rapidement trouvée confrontée à un problème majeur : elle a commencé à recevoir de nombreuses plaintes d'utilisateurs qui ne parvenaient pas à s'abonner. Malgré ses efforts, l'équipe n'a pas réussi à reproduire le problème, qui semblait se produire principalement en dehors des heures de travail.
Le problème, qualifié « d'hallucination à 10 000 dollars », a finalement été retracé jusqu'à une seule ligne de code qui provoquait des collisions d'identifiants uniques pendant le processus d'abonnement. Ce problème était caché en raison de la configuration de leur backend et a pris de l'ampleur lorsqu'ils ont cessé d'effectuer des modifications la nuit. L’erreur a été retracée jusqu’à une seule ligne de code qui provoquait des collisions d’ID uniques pendant le processus d’abonnement. Le problème a finalement été résolu et, malgré les difficultés et les ventes perdues, l'équipe considère cette expérience comme une leçon précieuse tirée de son parcours de startup.
Dans le cadre de la migration de notre backend, nous traduisions les modèles de base de données de Prisma/Typescript en Python/SQLAlchemy. C'était vraiment fastidieux. Nous avons trouvé que ChatGPT faisait un travail assez exceptionnel pour cette traduction et nous l'avons donc utilisé pour la quasi-totalité de la migration. Nous avons copié-collé le code qu'il générait, nous avons vu que tout fonctionnait bien, nous l'avons essayé en production, nous avons vu que cela fonctionnait aussi, et nous avons poursuivi notre chemin.
Cependant, à ce stade, nous utilisions toujours notre API Next pour toutes les insertions dans la base de données. Python ne faisait que lire dans la base de données. La première fois que nous avons commencé à insérer des enregistrements dans la base de données en Python, c'est lorsque nous avons mis en place les abonnements. Bien que nous ayons créé à la main de nouveaux modèles SQLAlchemy pendant le processus, nous avons fini par copier le même format que ChatGPT a écrit pour nos modèles existants. Ce que nous n'avons pas remarqué, c'est que nous copiions le même problème avec la façon dont nous générions les identifiants dans tous nos modèles.
Cependant, à ce stade, nous utilisions toujours notre API Next pour toutes les insertions dans la base de données. Python ne faisait que lire dans la base de données. La première fois que nous avons commencé à insérer des enregistrements dans la base de données en Python, c'est lorsque nous avons mis en place les abonnements. Bien que nous ayons créé à la main de nouveaux modèles SQLAlchemy pendant le processus, nous avons fini par copier le même format que ChatGPT a écrit pour nos modèles existants. Ce que nous n'avons pas remarqué, c'est que nous copiions le même problème avec la façon dont nous générions les identifiants dans tous nos modèles.
L'augmentation du volume de code généré par les outils d'intelligence artificielle pose un défi majeur en termes de sécurité et de gestion des vulnérabilités. Bien que l'automatisation et la génération de code puissent considérablement accélérer le processus de développement, elles introduisent également de nouveaux risques. Si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués à chaque étape du cycle de vie du développement logiciel, il devient presque inévitable que des failles passent inaperçues et soient déployées en production.
La rapidité avec laquelle le code est produit grâce à l'IA peut surpasser la capacité des développeurs à effectuer des tests approfondis et à assurer la sécurité de chaque ligne de code. Sans une infrastructure solide pour la détection et la correction des failles, les erreurs et les vulnérabilités peuvent s'accumuler, augmentant le risque d'exploits et de temps d'arrêt coûteux. La complexité accrue et la vitesse du développement exigent des outils de tests automatisés et des processus de sécurité intégrés pour compenser les limitations humaines.
Cette dépendance accrue aux outils d'IA pour la génération de code peut entraîner une réduction de la vigilance humaine, où les développeurs pourraient faire excessivement confiance aux suggestions de l'IA sans une vérification rigoureuse. Cette approche peut devenir dangereuse, car même les systèmes d'IA avancés peuvent générer du code défectueux ou vulnérable. Une approche équilibrée, combinant l'efficacité de l'IA avec une supervision humaine minutieuse, est essentielle pour garantir la qualité et la sécurité du code.
Les assistants d'IA de codage font-ils vraiment gagner du temps aux développeurs ?
Les outils de codage ont été un cas d'utilisation précoce évident dans la ruée vers l'IA générative. Cependant, une étude publiée récemment par la société d'analyse Uplevel indique que les améliorations de productivité promises sont loin d'être au rendez-vous, si tant est qu'elles existent. Uplevel, qui fournit des informations sur les données de codage et de collaboration, rapporte que l'utilisation de GitHub Copilot a également introduit 41 % de bogues supplémentaires.
« Cela suggère que Copilot peut avoir un impact négatif sur la qualité du code. Les responsables de l'ingénierie peuvent souhaiter creuser davantage pour trouver les PR avec des bogues et mettre en place des garde-fous pour l'utilisation responsable de l'IA générative », indique le rapport intitulé "Can Generative AI Improve Developer...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.