• # Pendant ce temps

    Posté par (site web personnel) . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 10. Dernière modification le 09 avril 2026 à 15:50.

    La pression est forte au boulot pour que nous utilisions Claude. Bien sûr un tel outil doit être évalué rigoureusement avant d'être déployé, après tout on lui donnera quasiment les clés du dev. C'est pour cela que nous avons organisé diverses expérimentations afin que les collègues pré-acquis à la cause puissent expliquer comment l'utiliser. J'insiste, il ne s'agit pas de voir si c'est une bonne idée ni même de chercher les limites de l'outil, mais directement de trouver des Bonnes PratiquesTM.

    Intrigués par les retours, tout à fait identiques à ce qu'on lit partout (c'est mieux que ce que j'aurais fait ! Ça m'a fait gagner, heu... allez je vais dire 60% tiens, 60% du temps de dev !), j'ai aussi expérimenté dans ce que j'espère être une évaluation rigoureuse. Car si on me proposait un prestataire pas cher avec la promesse qu'il sache tout faire, aucun doute que ça activerait l'alarme charlatanisme.

    J'ai donc pris notre dépôt de code et j'ai demandé à Claude d'écrire l'implémentation optimisée en AVX2 d'une fonction du logiciel. Pour le contexte on a dans le dépôt plein de fonctions du genre foo_avx2 pour la perf et leurs équivalentes en C++ foo_c pour référence. On a un micro-benchmark qui évalue les deux, et on a une suite de tests qui vérifie que les deux sortent les mêmes résultats pour les mêmes entrées. Ma démarche d'expérimentation est la suivante : je supprime le corps de foo_avx2 et je demande à Claude de l'implémenter avec comme consigne de la rendre aussi performante que possible en termes de temps d'exécution. Je lui mets à disposition le benchmark et la suite de test, comme ça il peut s'évaluer lui-même.

    Et effectivement il s'est débrouillé pour sortir une fonction valide ! Elle n'est que 50% à 300% plus lente que notre implémentation. Après de nombreuses itérations, des heures à être sur son dos en le guidant pour améliorer tel ou tel cas, il a pu produire quelque chose d'équivalent en perf.

    Alors évidemment on m'a dit que je n'y croyais pas assez fort et que j'aurais du utiliser Opus 4.6 en max reasoning. J'ai donc refais l'expérience sur une autre fonction en mettant tous les curseurs à 11. Effectivement il a réfléchit très fort et a produit encore plus vite une implémentation 50% plus lente que la nôtre. J'ai à nouveau itéré jusqu'à aligner les perfs avec notre implémentation sans jamais réussir à l'égaler.

    Dans les deux cas j'ai ensuite fait une revue du code. Le première fonction est implémentée de manière acceptable sans plus, la seconde est dégueux. Du code dégueux et plus lent, c'est ce qu'a produit Claude.

    Et là je me sens seul. Je vois mes confrères grisés par l'expérience, jurant que je devrais essayer c'est trop bon, aveuglés par l'amour tels des ados épris dans une relation interdite, mais chacun de mes essais est un flop. Aucune montée d'adrénaline, les niveaux d'endorphine au plus bas, je me retrouve face à un énorme étron dans le code tandis que derrière moi toute l'industrie, euphorique, s'égosille : « Mange ! Mange ! ».

    On nous rabâche le fait que l'on doit own la sortie de Claude mais pour moi ça ne fait aucun doute que personne ne saura ce qu'il se passe dans nos logiciels. Jamais une revue de code ne nous donnera une connaissance autre que superficielle et je suis convaincu que ce qui a été écrit par Claude sera maintenu par Claude. Qu'il sera responsable des corrections de bugs et sans doute aussi des revues.

    Les uns et les autres clament que Claude produit du code meilleur que ce qu'ils auraient produit et moi je me demande, si le résultat est effectivement mieux que ce qu'ils auraient fait, c'est donc au delà de leurs capacités. Dès lors, sont-ils aptes à juger du résultat ? Par exemple, je ne sais pas jongler. N'importe qui pouvant attraper deux fois deux balles fait déjà mieux que ce que j'aurais fait. À quoi ça rime si je l'impose à tous les cirques du monde parce qu'il fait mieux que ce que j'aurais fait ? Faut-il laisser les décisions aux plus incompétents ?

    Cette semaine je ferai un autre essai plus orienté fonctionnel en demandant à Claude d'implémenter un algo que j'ai moi-même précédemment implémenté. La démarche sera la même, il partira du commit précédant mes modifs, et je lui décrirai le besoin. Il n'aura plus qu'à l'implémenter. Moi il m'a fallu 4 heures de travail effectif (7 à l'horloge murale) pour aller de zéro à la validation complète de la suite de test. J'aimerais bien le voir faire mieux, genre plus rapide pour la même qualité de code. Ça m'aiderait à comprendre mes confrères.