Récemment, Max Woolf, un scientifique principal des données chez BuzzFeed, a mené une expérience engageante pour explorer les effets de l'amélioration du code en demandant à plusieurs reprises l'IA. Dans l'expérience, il a utilisé le modèle de langue Claude3.5 et a proposé un défi de programmation classique: écrire du code Python pour trouver les valeurs maximales et minimales de la somme des nombres en un million de nombres aléatoires.

Dans la version initiale, le code généré par Claude fonctionne à 657 millisecondes. Cependant, alors que Wolf continuait de saisir l'instruction simple "Écrire un meilleur code", le code résultant a été raccourci à seulement 6 millisecondes, et les performances ont été améliorées par 100 fois. Ce résultat est non seulement accrocheur, mais montre également des changements inattendus dans le processus de définition de "meilleur code".
Sur la quatrième demande de "écrire un meilleur code", Claude a transformé de façon inattendue le code en une structure similaire à une application d'entreprise, ajoutant certaines fonctionnalités d'entreprise typiques que Woolf n'a pas demandé. Cela suggère que l'IA peut associer un «meilleur code» à un «logiciel de niveau d'entreprise», reflétant les connaissances absorbées pendant son processus de formation.
Le développeur Simon Willison a effectué une analyse approfondie de ce phénomène d'amélioration itérative, estimant que le modèle de langue examine le code dans une perspective complètement nouvelle dans chaque nouvelle demande. Bien que chaque demande contient le contexte de la conversation précédente, Claude l'analyse comme s'il s'agissait de la première fois de voir le code, ce qui lui permet de s'améliorer en continu.
Cependant, Woolf a trouvé dans une tentative de faire des demandes plus spécifiques que, bien que cela entraînerait de meilleurs résultats plus rapidement, il y avait encore des erreurs subtiles dans le code qui nécessitait des correctifs humains. Par conséquent, il a souligné qu'une ingénierie rapide précise est toujours cruciale. Bien que des questions de suivi simples puissent initialement améliorer la qualité du code, les invites ciblées apporteront des améliorations de performances significatives, bien que les risques augmenteront également en conséquence.
Il convient de noter que dans cette expérience, Claude a ignoré certaines étapes d'optimisation que les développeurs humains tiennent pour acquis, comme la déduplication ou les nombres de tri. De plus, des changements subtils dans la manière de poser des questions affecteront également considérablement la production de Claude.
Malgré ces gains de performances impressionnants, Woolf nous rappelle que les développeurs humains sont toujours indispensables dans la validation des solutions et le dépannage. Il a souligné que bien que le code généré par l'AI ne puisse pas être utilisé directement, sa capacité à créer des recommandations créatives et d'outils est digne d'attention.
Points clés:
L'IA améliore les performances du code grâce à des instructions répétées, et le temps d'exécution du code d'origine est passé de 657 millisecondes à 6 millisecondes.
L'IA ajoute automatiquement les fonctionnalités d'entreprise au code, démontrant sa compréhension unique de "meilleur code".
L'ingénierie rapide est toujours importante et les demandes précises peuvent accélérer la génération de résultats, mais cela nécessite toujours une vérification et une réparation par les développeurs manuels.