L’essor de l’intelligence artificielle (IA) a indéniablement transformé notre monde, devenant un outil indispensable dans divers domaines, y compris le développement de logiciels. Bien que l’IA offre de nombreux avantages et soit devenue partie intégrante des pratiques de développement modernes, il est crucial de considérer les ramifications potentielles de sa surutilisation, en particulier pour les développeurs.
Cet article se penche sur mes réflexions philosophiques sur le développement et l’IA, explorant l’impact profond que la présence croissante de l’IA pourrait avoir sur le paysage des développeurs.
L’attrait de l’IA
Devrions-nous considérer l’IA comme une force malveillante menaçant nos moyens de subsistance ? Je ne crois pas.
Depuis l’émergence de ChatGPT 3.0, je suis de près les articles liés à l’IA depuis plus de trois ans. Cet intérêt soutenu découle de l’évolution rapide du domaine, avec de nouveaux développements et actualités émergeant quotidiennement.
Il est concevable que l’IA domine les prix Nobel à l’avenir, et le monde est déjà captivé par les capacités de ChatGPT.
L’IA progresse de façon exponentielle, semblant sur le point d’atteindre l’intelligence artificielle générale (IAG). Bien que les grands modèles de langage (LLM) soient actuellement le fer de lance des avancées de l’IA, l’essor de l’IA générative suit un modèle observé lors de précédentes percées dans l’apprentissage automatique (ML) et l’apprentissage profond (DL), qui ont démontré un immense potentiel dans le traitement des images et des vidéos.
Avant cela, l’adoption généralisée d’Internet a marqué le début de l’Ère de l’information.
Avant cela, la prolifération des machines a déclenché la Révolution industrielle.
Et bien avant cela, l’introduction d’outils a conduit à la Révolution agricole.
Il est essentiel d’examiner de manière critique si ces transitions se sont déroulées sans heurts et ont été universellement bénéfiques.
(Remarque : les références ultérieures à l’IA feront spécifiquement référence à l’IA générative alimentée par LLM.)
Échos de la Révolution industrielle
Quel héritage la Révolution industrielle nous a-t-elle laissé ?
Production accélérée de biens manufacturés innovants, amélioration des conditions de travail et immense richesse.
Ce sont là quelques-uns des nombreux avantages dont nous profitons aujourd’hui grâce à la Révolution industrielle. Mais les personnes qui ont vécu cette époque ont-elles partagé ces avantages ?
Le côté obscur du progrès
Les conditions de travail se sont-elles améliorées immédiatement avec l’introduction des machines ?
Dans de nombreux cas, les tâches qui nécessitaient autrefois une force physique importante ont été simplifiées en opérations de base sur des machines, ce qui a conduit au remplacement des travailleurs adultes par des enfants. Les usines ont commencé à fonctionner 24 heures sur 24 pour maximiser l’efficacité, et la richesse qui en a résulté a été concentrée de manière disproportionnée entre les mains des propriétaires d’usines (la bourgeoisie). Les travailleurs ont-ils accepté passivement cette situation ? Non. Cela a donné naissance au mouvement luddite.
Malgré ces défis, pensons-nous que l’introduction des machines a finalement transformé la vie des gens pour le mieux ?
Je dirais que la réponse est « oui ». Les changements ont été extrêmement positifs.
Attendez, vous avez dressé un tableau négatif de la Révolution industrielle, alors pourquoi dites-vous soudainement que c’était positif ?
Bien que nos vies se soient indéniablement améliorées, de nombreux problèmes associés à la Révolution industrielle découlaient d’un manque d’anticipation et d’atténuation des perturbations sociales causées par l’introduction rapide des machines. Si un filet de sécurité sociale avait été en place, moins de personnes auraient souffert et les conséquences négatives auraient été minimisées.
D’accord, mais qu’est-ce que tout cela a à voir avec l’IA ?
L’IA : La deuxième Révolution industrielle
L’ancien président américain Donald Trump a annoncé son intention d’investir 700 000 milliards de wons dans des sociétés d’IA comme SoftBank et OpenAI.
Les LLM nécessitent des quantités considérables d’énergie. Les entreprises qui produisent cette énergie se développent régulièrement, et Nvidia, qui développe des puces d’IA pour le calcul, a atteint la capitalisation boursière la plus élevée au monde.
Où ces entreprises vont-elles investir ? Naturellement, elles investiront là où elles peuvent gagner de l’argent.
Et où le monde investit-il actuellement ? Dans l’IA.
La rentabilité de l’IA
Mais d’où viendra la rentabilité de l’IA ?
L’IA ne produit pas de produits. L’IA ne fait pas fonctionner d’usines.
Cependant, l’IA peut potentiellement réduire les coûts de main-d’œuvre des entreprises en automatisant les tâches qui sont actuellement effectuées par des humains.
D’un point de vue économique, quel est le coût d’un seul employé ? En supposant une durée de carrière moyenne de 30 ans (de 30 à 60 ans) et un salaire annuel moyen de 45 millions de wons, une entreprise paiera un seul employé 1,35 milliard de wons au cours de sa carrière.
En d’autres termes, une entreprise « achète » un seul employé pour 1,35 milliard de wons. Une entreprise de plus de 300 employés dépenserait 400 milliards de wons en main-d’œuvre sur 30 ans.
Croyez-vous toujours que l’IA n’est pas rentable ? Ne voyez-vous toujours pas pourquoi le monde investit dans l’IA ?
Les réductions d’effectifs basées sur l’IA généreront des profits importants pour les entreprises. C’est l’alpha et l’oméga de l’investissement dans l’IA.
Les limites de l’IA
L’IA ne garantit pas 100 % de succès ou 100 % d’échec.
J’ai déjà présenté un modèle d’apprentissage profond pour détecter la conduite en état de somnolence. Bien que le modèle ait finalement classé certaines situations comme « conduite en état de somnolence », nous, en tant que développeurs, l’avons défini comme « une forte probabilité de conduite en état de somnolence ».
Permettez-moi de le répéter : l’IA n’offre pas de garanties de succès ou d’échec absolu.
Les hallucinations sont un concept similaire. Parce que les modèles font des inférences, ils peuvent générer des réponses incorrectes. Il s’agit à la fois d’une voie potentielle pour le développement de l’IA et d’un inconvénient.
Si le modèle m’identifie à tort comme étant somnolent alors que je ne le suis pas, qui est responsable ?
La responsabilité incombe à nous, l’équipe qui a défini les critères du modèle.
L’IA n’assume pas la responsabilité. Nous sommes ceux qui prennent des décisions basées sur les réponses fournies par l’IA.
Et alors ? Que sommes-nous censés faire maintenant ? Est-ce que cela signifie que l’IA va prendre nos emplois ?
Approcher l’IA
Oui, c’est exact. L’IA va prendre nos emplois.
Le monde est en concurrence acharnée pour utiliser l’IA afin de prendre nos emplois.
Je crois que c’est inévitable et qu’une « deuxième Révolution industrielle » se profile à l’horizon.
Que devons-nous faire pour assurer une transition en douceur ?
Nous devons nous intéresser à l’IA, l’utiliser et conserver à la fois une perspective positive et critique.
Beaucoup de gens peuvent devenir désillusionnés par la vie après avoir sérieusement réfléchi à cette information. Je sais que je l’ai été.
Pourquoi devrais-je me soucier de me développer et d’étudier le développement si je vais simplement être remplacé par l’IA ?
L’IA peut développer du code pour moi, alors pourquoi devrais-je le faire ?
À ce stade, nous devons considérer l’humanisme.
Transcender l’humanisme
Afin de passer d’une société théocratique où la religion gouvernait la nation à une ère où les « rois » pouvaient exploiter la religion, quelque chose devait transcender « Dieu ». Les rois utilisaient la religion, mais la bourgeoisie, qui possédait les moyens de production, manquait d’un outil comparable. Ils ont commencé à promouvoir l’idée que l’humanité elle-même était importante, et cela a donné naissance à « l’humanisme ». L’humanisme, à son tour, a conduit à l’émergence du capitalisme, du communisme, du fascisme et d’autres idéologies.
En d’autres termes, l’humanisme est un effort pour se libérer du Dieu d’une société théocratique.
Certains de ceux qui ont essayé d’échapper à cette société religieuse ont été qualifiés d’hérétiques et de sorcières et ont été considérés comme de terribles criminels. Comment les considérons-nous de notre point de vue actuel ? Ne voyons-nous pas qu’ils avaient raison ?
L’idée que « l’IA est meilleure que les humains, (ou, plus étroitement,) meilleure que moi » est un acte de transcendance de l’humanisme.
Peut-être est-ce une façon de penser naturelle. Je crois que nous sommes actuellement dans une période de transition où le développement de l’IA nous amène à nous libérer progressivement de l’humanisme. C’est naturel, mais j’espère que nous pourrons minimiser la panique qui en résultera.
Que devrions-nous faire ?
Comme mentionné ci-dessus, nous devrions simplement utiliser l’IA naturellement, en profiter, conserver une perspective critique et, surtout, faire ce que nous voulons faire.
Il peut y avoir des aspects négatifs dans ce processus. Les sections suivantes expliqueront enfin « pourquoi je veux arrêter d’utiliser l’IA dans le développement ».
L’IA dans le développement
L’IA augmente indéniablement la productivité.
Les langages que nous utilisons sont des langages de programmation. Tout comme nous utilisons le coréen pour écrire ce blog, nous utilisons des langages de programmation pour développer des programmes.
L’IA générative basée sur LLM est spécialisée dans l’écriture. Par conséquent, elle sera naturellement efficace dans l’écriture de langages de programmation. Alors, devrions-nous utiliser l’IA dans la programmation ? Absolument !
Cependant, si vous êtes un développeur qui « étudie », vous devriez réfléchir à la façon de l’utiliser.
Pour les raisons suivantes, j’ai décidé de ne pas utiliser l’IA, du moins pendant le processus d’apprentissage.
L’IA vole mes notes d’erreur
Quand utilisons-nous généralement l’IA ? Je l’utilisais souvent lors du débogage.
Pourquoi cela ne fonctionne-t-il pas ? → Code d’erreur, copier le code → Coller dans ChatGPT
Quel est le problème ? Les développeurs qui en ont assez des erreurs et du débogage examineront-ils toujours attentivement, comprendront-ils et utiliseront-ils le code fourni par ChatGPT ? Dans de nombreux cas, ils se contenteront de copier et coller le code sans réfléchir, et si cela ne fonctionne pas, ils utiliseront à nouveau l’IA.
Invite utilisateur : Cela ne fonctionne pas, j’obtiens cette erreur.
ChatGPT : Oups, mon erreur, laissez-moi revoir le code.
Ne referai-je jamais cette erreur ? Il est fort probable que je referai la même erreur et que je demanderai à nouveau l’aide de l’IA. La possibilité d’internaliser les connaissances et d’apprendre de l’erreur est considérablement réduite.
Si je connais 99 % du processus de calcul mais que je ne peux pas atteindre le 1 % final, ai-je bien codé ? Je délègue simplement mon cerveau à l’IA parce que je suis fatigué. Je confie à l’IA la partie la plus critique, la partie que je ne connais pas et que je ne peux pas faire.
Voler l’environnement inconscient et favorable au code
Il y a beaucoup de développeurs dans le monde. Il est fort probable qu’un développeur à l’autre bout du monde ait rencontré la même erreur que moi. Mais ce développeur a-t-il rencontré l’erreur exactement dans la même situation ? Le code qu’il a écrit est-il le même que le code que j’ai écrit ? Ce sera différent. La même erreur peut se produire dans des situations complètement différentes.
L’IA bloque l’accès aux informations sur le contexte environnant. Elle ne débogue que le code que j’envoie et fournit des informations sur ce code, mais elle ne montre pas le processus requis pour écrire le code.
« Bien sûr, vous pouvez utiliser l’ingénierie des invites pour demander une explication détaillée, n’est-ce pas ? »
Mettez votre main sur votre cœur et pensez à la fréquence à laquelle vous étiez trop fatigué et que vous vous êtes contenté de copier et coller le code.
Pour rechercher et examiner une erreur, vous avez besoin de connaissances préalables. Est-ce que je connais clairement tout de ces connaissances préalables ? Ce blog explique différentes situations, et ce blog explique différentes situations. Est-ce que je comprends toutes ces situations ? Lors d’une recherche sur Google, vous devez être capable de lire et de comprendre « Ah, c’est différent de ma situation » afin de trouver d’autres informations.
Même cet simple acte de recherche peut rendre les développeurs plus favorables au code.
ChatGPT n’est-il pas la même chose ? Si vous continuez à l’utiliser pendant le codage, n’est-ce pas la même chose ?
L’importance de l’environnement inconscient
Le meilleur exemple d’environnement inconscient est l’environnement familial.
Voici deux enfants. Ils grandissent dans des familles différentes. L’enfant voit un oiseau voler et demande à ses parents :
« Maman (Papa), quel est cet oiseau ? »
Les réponses des parents diffèrent :
- Une pie.
- J’étais curieux de savoir de quel genre d’oiseau il s’agissait, alors j’ai fait des recherches. Il pourrait s’agir d’une pie ou d’un corbeau, mais on dirait une pie.
La première famille fournit une réponse directe et présente une solution pratique.
La deuxième famille fournit une réponse indirecte et suggère une approche créative pour explorer la réponse.
Comment ces enfants grandiront-ils s’ils sont élevés dans ces environnements différents ?
L’enfant de la première famille sera efficace pour trouver la bonne réponse, mais peut ne pas être efficace pour faire face à des problèmes où la réponse n’est pas facilement disponible. → ChatGPT
L’enfant de la deuxième famille peut mettre plus de temps à trouver une réponse simple, mais sera plus à l’aise pour réfléchir à des problèmes où la réponse n’est pas facilement disponible. → Recherche et apprentissage (Googling)
L’environnement inconscient est formé de cette façon et est utilisé dans tous les aspects de la vie quotidienne.
Que pensez-vous du développement ? Je pense que c’est ce dernier, mais je laisserai le choix à chacun.
Ce qui précède est une image du modèle de l’iceberg de Freud. Nous sommes inconsciemment influencés par les personnes qui nous entourent et tout ce avec quoi nous entrons en contact. Même si nous ne prêtons pas attention à quelqu’un qui passe en disant : « Un aliment est délicieux ces jours-ci », cela plante une conscience superficielle que « Un aliment est délicieux ». Lorsque nous voyons un aliment A plus tard, nous pouvons le manger plus délicieusement qu’il ne l’est réellement, ou nous pouvons être plus déçus s’il ne répond pas à nos attentes. Cela crée une différence significative par rapport au fait de ne pas avoir entendu les mots du passant.
Même le petit élément d’information que j’ai rencontré en recherchant assidûment des informations sur le développement - des informations que je n’ai pas consciemment vues - finira par devenir un atout. L’inconscient a un impact beaucoup plus important que nous ne le pensons.
En conclusion : Ma philosophie du développement
Ma conclusion est que « les LLM doivent être évités autant que possible lors de l’étude, mais peuvent être utilisés pour des activités productives ».
Nous devons nous adapter à l’ère post-IA, apprendre à utiliser l’IA, découvrir son impact par nous-mêmes et conserver une perspective positive mais critique sur l’IA. Nous devons reconnaître que l’IA finira par prendre nos emplois et toujours tenir compte des autres impacts qu’elle pourrait avoir, en plus de prendre nos emplois. Réfléchissons à la question de savoir si la façon dont nous utilisons l’IA est utile à nos vies et à notre pensée, et évitons de déléguer notre cerveau à l’IA.
Après beaucoup de confusion, j’ai finalement établi ma philosophie du développement :
Imprégnez chaque ligne de code de mes pensées. Ne nous contentons pas de créer de simples lettres ou phrases, mais imprégnons-les plutôt de ma philosophie et de ma pensée.
C’est la différence entre l’IA et moi.
Bonne chance à tous !
Extra : Traiter la faible volonté, bloquer les sites LLM
La faible volonté est une maladie. Il est illogique d’utiliser la volonté pour guérir la faible volonté, qui est causée par un manque de volonté. Il est juste d’introduire d’autres actions pour arrêter de fumer, de boire ou d’autres habitudes similaires.
De même, j’ai pensé qu’il serait bon pour ma santé mentale de bloquer les sites LLM. Voici ma méthode de blocage sur Mac :
Entrez le code suivant dans le terminal :
Appuyez sur i pour passer en mode insertion. Ajoutez ce qui suit à l’hôte 127.0.0.1, comme dans l’image ci-dessous. Tab après avoir entré l’adresse.
Appuyez sur ESC pour quitter le mode insertion, et entrez : wq pour enregistrer. Cela utilise le DNS (Domain Name System), et ‘127.0.0.1 chatGPT.com’ signifie qu’entrer chatGPT.com dans la barre d’adresse accédera à 127.0.0.1 (l’hôte du serveur de mon ordinateur).
Guérissons notre faible volonté ensemble !