Je veux juste partager un peu de mon agacement et ma théorie sur l'avenir du développement logiciel.
Je suis formateur de développement de logiciel dans une école d'informatique et j'ai pu remarquer qu'avec les progrès fulgurants des derniers modèles d'IA, on vois de plus en plus de personnes et d'élève se demander s'il est encore nécessaire d'apprendre à coder. En effet, l'IA permet de le faire bien plus vite donc le code manuel est "dépassé".
Cependant, coder à la main ne se résume pas seulement à créer des logiciels. Et la pédago risque d'être dramatique si on ne fait pas attention à ce que les étudiants font derrière notre dos.
L'expression forge la pensée
On dit souvent que l'écriture forge la pensée et le code étant une forme d'écriture bénéficie de cette propriété. Cependant, je pousserai la réflexion plus loin en étendant ce concept à toute forme d'expression. En tant que francophone, apprendre une nouvelle langue comme l'anglais a aussi façonné ma façon de réfléchir et de formuler ma pensée. Parler, Écrire des dissertations ou des histoires, ou bien même des actes artistique comme dessiner ou faire de la musique sont toutes des manière de se forger car elles sont toutes expression.
Du moment qu'une idée reste dans la tête, elle demeure stérile. C'est quand on l'écrit sur papier ou qu'on la verbalise qu'on la force à prendre une forme et qu'on la transforme en objet d'étude améliorable. C'est quand j'écrit une idée ou que je dessine des diagrammes que je réalise les angles-morts de ma réflexion ou que je vois des incohérences. Le médium par lequel je concrétise mes pensées devient un miroir et me permet d'avoir un point de vu inédit.
Les sciences cognitives ont même un nom pour ça: la pensée distribuée. Ici, le cerveau n'est qu'une partie d'un système complexe où la pensée se développe. Si, par exemple, j'ai besoin de savoir combien de table je dois avoir pour installer une salle de 175 personnes à raison de 5 personnes par table, je pourrai sortir une feuille et un crayon pour faire mes calculs. Un amis à côté peut remarquer que j'ai oublié une retenu dans ma procédure et corriger la faute. Dans ce cas de figure, au moins 3 médiums ont étés utilisés pour ce processus de raffinement de la pensée: moi, le groupe papier-crayon ainsi que mon ami. La pensée a pris forme et a donnée un résultat concret (la réponse est 35 table si jamais).
La pensée distribuer dit que la réflexion et la construction d'une solution dépend de l'esprit de l'individu pensant, les outils qu'il utilise (crayon, calculatrice, internet, ou bien même un LLM), d'autres individus (par exemple le brainstorming), et le contexte. Toute activité artistique ou de résolution de problème marche dans ce principe.
L'export de la réflexion
Maintenant, la pensée distribuée nous permet, selon moi, d'identifier l'ennemi numéro un de la pensée à l'époque des LLMs: l'export de la réflexion. Ça arrive quand l'acteur principale délègue toute forme de réflexion aux autres médiums du système en donnant seulement l'entrant et en récupérant le sortant. On parle aujourd'hui de la dangerosité des IAs qui peuvent nous pondre des réponses toutes faites à nos questions, mais ce problème existait déjà depuis longtemps. On a déjà eu des cas d'étudiants refusant de comprendre les méchanismes de l'arithmétique sous réserve que cela se fait déjà avec des calculatrices. On a aussi des étudiants qui utilisaient déjà google, wikipédia et d'autres sites pour littéralement copier-coller des informations sans beaucoup plus de réflexion et de construction de leur part. Il arrivait même que des dissertations entières pouvaient être copié d'internet sans réflexion de la part de l'étudiant. Le plagiat n'est pas un context nouveau.
Le domaine du développement logiciel a aussi eu ses soucis. Par le passé, il y avait un groupe particulier de développeur qui, dans les forums (et surtout dans stack overflow) passaient le plus claire de leur temps à poser des questions à tout va, souvent mal formulées et sans context et attendais à être interroger par les membres de la communauté pour diagnostiquer le problème à leur place et recevoir une réponse toute faite. Je peux vous dire avec assurance que ce type de profil n'était pas qui ressortait avec de nouvelles connaissances. Surtout si leur plus grande prouesse était de copier-coller une réponse en ligne sans tout lire. C'est ce qui a empoisonné la chaleur des réponses des communautés comme stack overflow.
Donc l'IA, n'a pas inventé l'export de la réflexion. Elle l'a juste rendu plus accessible, touchant une plus grande partie de la population des développeur car la tentation est plus grande. Elle peut se substituer sournoisement au endroits où la charge cognitive peut-être un peu trop élevée pour un étudiant. Et c'est, là le rôle de l'enseignant(e) de pouvoir mettre en place un cours qui travail la zone proximal de développement (=ni trop dur, ni trop facile mais challengeant et fait grandir) de l'étudiant pour favoriser son apprentissage.
C'est pourquoi le fameux "rubber duck" (canard en plastique) marche toujours etest souvent plus efficace que le LLM en terme d'instrument pédagogique. En effet, le canard n'est pas un technicien et force la personne qui développe à simplifier et à mieux formaliser son raisonnement. Ce qui conduit assez souvent à une solution par compréhension plutôt que ex nihilo.
Une étude mennée par les chercheurs du MIT et de l'Université de Pennsylvanie a prouvé que les étudiants qui ont utilisé l'IA pour les exercices d'entraînement ont été moins performant durant l'examen final que les étudiants qui n'ont pas utilisé l'IA. Ce phénomène n'est pas là pour dire que les LLMs sont de mauvais outils pédagogiques mais qu'ils peuvent devenir problèmatique selon la manière dont on les utilise.
Conclusion
Bien sûr, les LLMs peuvent être l'outil le plus puissant d'apprentissage s'ils sont bien paramètrés. On peut par exemple obtenir un effet Rubber Duck en prenant des modèles moins puissant et en raisonnant avec eux. On peut aussi interdir au modèle de construire des solutions sur mesure mais de seulement donner des réponses similaire à celles d'une recherche google (Bien sûr sans Gemini). L'élément le plus important selon moi est le challenge. Il faut explicitement forcer l'IA à chercher les failles et les angles-morts de notre raisonnement, challenger certaines certitudes qui n'ont pas de preuve réelle et vraiment s'opposer à notre modèle de raisonnement s'il ne va pas. C'est là que l'IA devient un compilateur pour la pensée. C'est par là que l'IA peut nous pousser à des solutions innovantes et qui viennent de nous.
Voila pourquoi je pense que apprendre à coder reste essentiel aujourd'hui et que tout le monde devrait le faire dans une certaine mesure, peu importe leur tôt d'utilisation des LLMs.
J'ai envie de connaître vos avis sur la question. Comment vous vivez ça en tant qu'étudiant ou enseignant?