C’est une question que je vois revenir souvent et qui est intéressante à l’air du concept de Tokenmaxxing, où l’utilisation de l’IA devient un nouvel indicateur de la productivité des employés.
Il importe d’abord de souligner la tendance, fréquente en ingénierie, à privilégier des indicateurs strictement quantitatifs. Dans un contexte industriel, comme dans une chaîne de montage, cette approche se justifie : à qualité constante, une augmentation du nombre d’unités produites par unité de temps traduit effectivement un gain de productivité. Mais cette logique ne saurait être transposée au développement logiciel. Contrairement à la production industrielle, l’ingénierie logicielle ne consiste pas à reproduire indéfiniment des objets identiques. Les métriques issues de ce modèle sont inadaptées à l’évaluation de la productivité.
Produire rapidement de grandes quantités de résultats médiocres ne saurait être assimilé à une forme d’efficacité. Le nombre de contributions par unité de temps, constitue un indicateur potentiellement trompeur lorsqu’il est analysé isolément.
L’essor des outils de production IA alimentent le discours selon lequel ces technologies accroîtraient la productivité. L’affirmation mérite d’être nuancée. Le code produit sans validation rigoureuse peut engendrer des difficultés ultérieures, reportant la charge de travail. Une production abondante de code ne constitue pas, en soi, un gage de productivité accrue.
Un indicateur plus pertinent serait le temps nécessaire pour effectuer une modification, et la robustesse du résultat obtenu. Cette robustesse recouvre à la fois la qualité intrinsèque du code et l’adéquation de la solution aux besoins exprimés.
Lorsque les modifications peuvent être effectuées rapidement, la productivité est élevée. À l’inverse, un code fragile, nécessitant des ajustements constants, constitue un frein majeur. Il n’est pas rare de rencontrer des bases de code si complexes ou dégradées qu’une tâche estimée à quelques heures exige en réalité plusieurs semaines. Dans de telles conditions, la productivité s’effondre. Cet effort cognitif, que l’on perçoit notamment lors de l’ajout d’une fonctionnalité coûteuse en temps, se traduit pour un LLM par une complexité également coûteuse en tokens. Ce qui interroge sur l’intérêt réel de ce tokenmaxxing.
L’amélioration de la productivité repose sur l’identification et la réduction des facteurs qui limitent la capacité de modification : défauts récurrents, complexité superflue, inadéquation architecturale, structuration insuffisante du code, manque de clarté du nommage, et tout élément de qualité perfectible, découpage, découpalge…
Le traitement systématique de ces facteurs permet d’accroître la productivité sans la réduire à des indicateurs strictement quantitatifs.
