Accueil Blog Explosion Mes Projets
Ordinateur portable ouvert sur une table, affichant du code dans un éditeur sombre

Photo : Arnold Francisca sur Unsplash

Coder avec une IA : ce qu'on gagne, ce qu'on désapprend

0:00 / 0:00

Hier j’ai écrit une fonction de normalisation de dates en douze secondes. L’assistant a proposé, j’ai relu vite, j’ai validé, c’était juste. Le soir, dans un autre projet sans assistant, j’ai mis quatre minutes à retrouver comment on gère un décalage horaire à la main. Quatre minutes sur un truc que je savais faire les yeux fermés il y a deux ans.

Le gain est réel et il est immédiat

Autant le dire tout de suite : je ne débranche pas l’outil. Sur le code répétitif, les tests unitaires évidents, la conversion d’un format vers un autre, la traduction d’un bout de logique d’un langage à l’autre, c’est un gain net. Il enlève la friction sur des tâches où la friction n’apprenait rien à personne.

Il est bon aussi pour explorer une bibliothèque inconnue. Pas parce qu’il dit la vérité, il se trompe régulièrement, mais parce qu’il donne un point de départ nommé. Chercher dans une documentation quand on ignore le vocabulaire du domaine, c’est le pire moment d’un apprentissage.

La difficulté qu’on a retirée servait à quelque chose

La recherche sur l’apprentissage a un nom pour ça : les difficultés désirables. Un effort de récupération en mémoire, une erreur qu’on corrige soi-même, un détour qui coûte dix minutes, ça grave. Le raccourci ne grave rien. On obtient le résultat sans le trajet, et c’est le trajet qui construisait la carte.

Concrètement, ce que je sens s’éroder n’est pas la syntaxe. C’est la lecture. Relire du code qu’on n’a pas écrit, à la vitesse de la suggestion, en état de validation plutôt qu’en état de conception. Une étude expérimentale sur des développeurs assistés a montré qu’ils produisaient du code moins sûr tout en se déclarant plus confiants dans sa sécurité. L’écart entre les deux est la partie qui m’intéresse.

À qui profite l’accélération

Il y a une question qu’on pose rarement en même temps que la question technique : le temps gagné, il va où. Dans mes projets personnels, il va chez moi, et c’est très agréable. Dans une entreprise, il ne finit pas en journées de repos. Il finit en périmètre élargi à effectif constant.

Ces outils sont entraînés sur du code public écrit gratuitement, pendant des années, par des gens qui n’ont rien facturé. Ils sont ensuite loués au mois à ces mêmes gens. Le modèle est élégant du point de vue de celui qui encaisse. Je paie mon abonnement comme tout le monde, donc je suis dedans, pas au-dessus.

Comment je m’organise depuis

J’ai gardé deux régimes séparés. Dans le code de production quotidien, l’assistant est actif et je relis comme je relirais la pull request d’un collègue pressé. Dans tout ce que je veux réellement comprendre, protocole réseau, algorithme, format binaire, je coupe la suggestion et je galère.

Le deuxième régime coûte du temps que personne ne me rembourse. C’est aussi le seul où je progresse encore.

La compétence ne disparaît pas d’un coup, elle s’atrophie discrètement, et on ne s’en aperçoit que le jour où l’outil se trompe sur quelque chose qu’on n’est plus capable de vérifier.

Articles liés

Main qui accroche une fiche sur un tableau de planification couvert de cartes et de post-it

La dette technique est une décision, pas un accident

On parle de dette technique comme d'une faute de développeur. Dans la plupart des cas, c'est un arbitrage économique pris bien au-dessus du clavier.

Lire l'article →
Tableau de bord de facturation cloud affichant une courbe de coûts qui monte brutalement

Le serverless et la facture qu'on découvre à la fin du mois

Payer à l'exécution paraît honnête jusqu'au jour où une boucle, un bot ou un cache raté transforme une architecture élégante en compteur qui tourne seul.

Lire l'article →

Sources

Ce que j'ai lu, regardé ou vérifié pour écrire cet article.

  1. Perry, N. et al. (2022). Do Users Write More Insecure Code with AI Assistants ? Étude expérimentale sur assistants de code et sécurité arxiv.org (ouvre dans un nouvel onglet)
  2. Wikipédia. GitHub Copilot : fonctionnement, modèle sous-jacent et controverses fr.wikipedia.org (ouvre dans un nouvel onglet)
  3. Wikipedia (en). Desirable difficulty : effet des difficultés d'apprentissage sur la rétention à long terme en.wikipedia.org (ouvre dans un nouvel onglet)