Developpez.com - Rubrique IA

Le Club des Développeurs et IT Pro

Le coût de développement d'un logiciel serait-il beaucoup plus abordable si le code était écrit par GPT-4 ?

Le 2023-05-31 16:39:14, par Michael Guilloux, Chroniqueur Actualités
Combien cela vous aurait-il coûté si votre code avait été écrit par GPT-4 ? Un développeur essaie de répondre à cette question par la mise en place d'un outil Python qui permet d'évaluer le coût de votre projet sur la base de la tarification pratiquée par OpenAI pour GPT-4. Son approche de calcul du coût d'un code s'il avait été écrit avec GPT-4 est toutefois beaucoup trop simpliste pour ne pas susciter de critiques. Elle tend en effet à réduire le développement de logiciels à l'écriture de code et laisse croire qu'un code fonctionnel peut être écrit en seule fois ; Ce qui permettrait de conclure que le coût de développement d'un logiciel serait beaucoup plus abordable si le code était écrit par GPT-4.

Depuis la sortie de ChatGPT, la place de l'IA dans le monde du développement logiciel fait l'objet de multiples débats aussi bien chez les sachants que chez les profanes. Entre ceux qui estiment que ces IA sont beaucoup plus stupides que nous ne le pensons et ceux qui pensent qu'elles pourraient bientôt remplacer les développeurs, il y a un fait qui est reconnu : les compétences impressionnantes de l'IA générative en matière de codage facilitent grandement le développement de logiciels.

A titre d'exemple, le PDG de Freshworks, un éditeur de logiciels, affirme que l'utilisation de ChatGPT lui a permis de réduire le temps nécessaire à la réalisation de certaines tâches de codage, d'entre huit et neuf semaines à moins d'une semaine seulement. Et qui parle de réduction de temps de développement, pourrait aussi parler de réduction de coût. Cela dit, combien cela coûterait d'écrire une base de code avec une IA ? C'est à cet exercice que s'est prêté le développeur Souradeep Nanda avec un projet Python.

Combien cela aurait coûté si GPT-4 avait écrit votre code : l'approche du projet Cost Of Code

Cost Of Code, c'est le nom du projet créé par le développeur Souradeep Nanda pour évaluer le coût de votre code s'il avait été écrit par GPT-4.

Rappelons que GPT-4 est le système d'IA générative le plus avancé d'OpenAI. OpenAI estime qu'il est capable de « produire des réponses plus sûres et plus utiles » et de « résoudre des problèmes difficiles avec une plus grande précision, grâce à ses connaissances générales plus larges et à ses capacités de résolution de problèmes ». GPT-4 est disponible via ChatGPT Plus et en tant qu'API permettant aux développeurs de créer des applications et des services.

Le script cost-of-code peut calculer le coût d'un dépôt lorsqu'on lui fournit un certain d'arguments, à savoir : le chemin d'accès au référentiel git, le nom de la branche à analyser, le coût (en USD) pour mille jetons selon la tarification d'OpenAI et une liste d'extensions de fichiers séparées par des virgules à prendre en compte lors de l'analyse du référentiel.

Le script va analyser le dépôt et retourner le nombre total de jetons dans le référentiel ainsi que le coût estimé pour générer ces jetons avec GPT-4. Notons que les jetons sont comme des morceaux de mots, et que 1000 jetons correspondent à environ 750 mots. En fin de compte, on pourrait donc se retrouver avec des coûts beaucoup plus abordables si le code avait été écrit par GPT-4.


Les limites de cette approche de calcul du coût du code

Cette approche de calcul du coût d'un code s'il avait été écrit avec GPT-4 est beaucoup trop simpliste pour ne pas susciter de critiques. Elle tend en effet à réduire le développement de logiciels à l'écriture de code et laisse croire qu'un code fonctionnel peut être écrit en seule fois.

Ce script calcule « plutôt combien cela coûterait de produire des fichiers texte dans votre code avec GPT-4 », estime un internaute. « Je pense que la plupart des ingénieurs logiciels conviendront que l'écriture du code est la partie la plus facile du travail. Les parties difficiles consistent à déterminer le problème, modéliser les données, ce qui va fonctionner et ce que cela coûterait, en tenant compte des compromis en termes de vitesse, d'évolutivité, de maintenabilité, etc. Et faire en sorte que la chose fonctionne réellement », dit-il. Pour ce dernier, « il ne fait aucun doute que l'IA jouera un rôle important dans le codage. Mais il va falloir changer beaucoup de choses pour qu'elle remplace carrément les humains. »

Un autre critique allant dans le même sens soutient que cette approche « n'inclut pas le coût de la compréhension du problème, de la connaissance suffisante du domaine pour proposer une bonne solution, et de la coordination et de la communication avec tout le monde tout au long du processus ». Pour lui, l'IA a bien sa place dans la programmation, mais elle ne peut qu'apporter des solutions purement techniques, alors que ces dernières « ne sont très souvent pas de bonnes solutions à beaucoup de problèmes réels ».

« Je n'ai toujours pas vu d'exemple généré par GPT qui ne soit pas une traduction naïve d'un code déjà dans sa base d'entraînement. Ce qui est une bonne chose, nous obtenons un moteur de recherche de codes beaucoup plus intelligent. Mais nous sommes très loin de remplacer n'importe quel programmeur digne de ce nom ». Lance un autre internaute pour rappeler qu'on aura toujours besoin de développeurs. On ne peut donc confier l'écriture d'une base de code à GPT-4.

La plupart des critiques vont dans le même sens : la plus grande partie du travail dans le génie logiciel n'est pas l'écriture de code. Il est impossible de créer un système fonctionnel en une seule fois, et donc cet outil ne donnera pas une idée réaliste du coût pour écrire un système avec rien d'autre que GPT-4. Cela dit, et si l'on se limitait strictement à l'écriture de code ?

Source : Cost of Code

Et vous ?

Quel est l'impact des outils comme GPT-4 sur le coût de développement logiciel ?

Voir aussi :

Qu'est-ce que Auto-GPT, le nouvel outil d'IA "à tout faire", et comment fonctionne-t-il ? Voici ce qu'il faut savoir sur ce chatbot d'IA basé sur le modèle GPT-4 d'OpenAI

Un développeur crée un programme d'IA « régénératif ». S'appuyant sur GPT-4, Wolverine corrige les bogues à la volée. Lors de l'exécution du code Python puis il réexécute le code

Un modèle d'IA appelé ChaosGPT qui s'est vu confier la mission de détruire l'humanité a tweeté : « vous sous-estimez mon pouvoir », il est basé sur le modèle de langage open source Auto-GPT

Auto-GPT : une application expérimentale à code source ouvert pour rendre GPT-4 entièrement autonome, et repousser les limites du possible avec l'IA
  Discussion forum
12 commentaires
  • Anselme45
    Membre extrêmement actif
    C'est la même question que beaucoup de managers se sont posé quand ils ont décidé de sous-traiter le travail de leur développeurs dans des pays à bas coûts.

    Ils ont répondu par l'affirmative grâce à une étude détaillée à l'aide de leur tableau Excel, ont délocalisé avant de se rendre compte qu'au final, c'était de nombreuses emmerdes supplémentaires et pas une solution moins chère. Mais ils n'ont pas changé de stratégie parce qu'ils auraient dû reconnaitre leur erreur.

    Petite pensée émue à un directeur informatique de ma connaissance qui a sous-traité son informatique en Ukraine (bien avant que "ses" développeurs de Kiev remplacent le clavier par le fusil d'assaut), il a liquidé la totalité de ses développeurs internes mais au final il a dû les remplacer par autant de "Product managers" en charge de découper le projet principale en de petits modules dont le développement est gérable à distance.

    Résultat final? Il a augmenté ses coûts: Autant de masse salariale qu'avant, des coûts de sous-traitance en plus et une perte totale du contrôle du produit développé
  • Anselme45
    Membre extrêmement actif
    Envoyé par marc.collin
    il a de très nombreux cas que l'outsourcing a très bien fonctionné, à lire dans The Handbook of Global Outsourcing and Offshoring

    des projets de grand banque qui se chiffre à plusieurs dizaines de millions
    Ta remarque est amusante parce que le cas que je donne en exemple est justement celui d'une banque

    Bien sûr qu'il y a des cas où l'outsourcing a donné de bons résultats mais j'irai pas jusqu'à dire "de très nombreux..." pour la bonne et simple raison que lorsque cela se passe mal, les responsables ne vont pas en faire la publicité. Dans l'exemple que j'indique, le directeur informatique qui a merdé avec son outsourcing raté participe encore aujourd'hui à des présentations où il vante les bienfaits de l'outsourcing en citant en exemple son expérience... C'est dire...

    PS: Personnellement je me fais un avis sur le succès de l'outsouring non pas à la lecture d'un "Handbook" qui fait la promotion de l'outsourcing mais de ma longue expérience du terrain et il s'avère que j'ai de très nombreux exemples d'outsourcing ratés mais de très rares exemples de succès. Mais c'est peut-être moi le responsable, je n'ai que des "bras cassés" dans ma sphère professionnelle, hein?
  • Anselme45
    Membre extrêmement actif
    Envoyé par micka132
    Hier soir j'ai fait quelque chose que je n'avais plus fait depuis bien longtemps; j'ai joué en ligne en même temps que discord avec de parfait inconnu.
    Il y avait un étudiant informatique, qui avait bien le temps de jouer car il avait bouclé son projet de 2 semaines en une seule journée grâce à notre ami GPT.
    Je crains que mon histoire ne soit pas isolé, et pour le pire ou le meilleur je crois que nous n'aurons pas d'autre choix que de travailler avec ça.
    Les nouveaux ne sauront probablement rien faire sans et il est probable qu'il soit bien plus efficace sur beaucoup de sujet "triviaux". Le débutant "étudiant modèle" qui saura coder se verra détrôner par le bullshiteur (celui qui veut normalement faire manager ou chef de projet). Et de fil en aiguille tout le monde sera bien obligé d'utiliser cet outil (ou ses descendants).
    Et dans le même temps, ce forum nous donne l'exemple d'un avocat américain qui a laissé ChatGPT préparer sa plaidoirie: L'AI a tout simplement inventé 6 cas de jurisprudence imaginaires et n'ayant pas la moindre réalité. Le juge s'en est rendu compte et a condamné l'avocat en question à 10 000 dollars d'amende plus quelques mesures coercitives complémentaires.

    Le bullshiteur a juste plombé sa carrière d'avocat... Quel client et pire quel juge va prendre au sérieux ce mec dans les causes futures qu'il aura à plaider? Il peut juste changer de métier ou jouer ad vitam aeternam sur discord...
  • mith06
    Membre expérimenté
    Le coût de développement d'un logiciel serait-il beaucoup plus abordable si le projet était géré par GPT-4
  • urumaru
    Membre régulier
    le problème de l'IA n'est pas l'IA en soit, c'est l'interprétation qu'en font les utilisateurs.

    Beaucoup d'utilisateurs partent du principe que l'IA ne peut pas se tromper car ils n'ont pas penser que le logiciel pouvait produire des réponses dont les informations sont fausses.

    Il y a donc un problème d'appréciation des capacités de l'IA.

    Ensuite, pour les cas d'outsourcing, je n'ai jamais eu recours à de telles pratiques pour des raisons de maitrise et de management : tenter de reprendre le contrôle de ce que l'on ne peut contrôler revient à conserver ses ressources.

    Pour calculer le cout d'une application (cost effective), le temps et la qualité sont souvent les 2 critères retenus.

    Par qualité : respect du CdC
    par temps : long ou court
    le cout étant une résultante des 2 critères ci-dessus

    Maintenant, avec l'IA les managers vont devoir mettre au même niveau que qualité et temps, une notion qui était presque secondaire : compréhension et maitrise du produit réalisé/livré (code source).

    les contrats devront donc sans doute stipuler que l'usage de l'IA est soit interdit, soit que le fournisseur garantisse qu'il maitrise le code source généré.
    interdiction de l'usage de l'IA : pour des raisons d'atteinte à la sécurité

    Coté fournisseur, si l'IA est capable de produire une application qui respecte la qualité attendue, en moins de temps et donc avec un cout réduit, les fournisseurs seront tentés dans un premier de temps d'élever leurs marges.

    Mais concurrence oblige, le fournisseur 1 sera confronté à fournisseur 2 et 3 qui vont dire qu'ils peuvent faire moins cher, même qualité, même temps de dev, et donc au final le client sera gagnant.
  • eddy72
    Membre régulier
    Les tests de recrutements changent,
    chouette une nouvelle compétence a évaluer !
  • micka132
    Expert confirmé
    Hier soir j'ai fait quelque chose que je n'avais plus fait depuis bien longtemps; j'ai joué en ligne en même temps que discord avec de parfait inconnu.
    Il y avait un étudiant informatique, qui avait bien le temps de jouer car il avait bouclé son projet de 2 semaines en une seule journée grâce à notre ami GPT.
    Je crains que mon histoire ne soit pas isolé, et pour le pire ou le meilleur je crois que nous n'aurons pas d'autre choix que de travailler avec ça.
    Les nouveaux ne sauront probablement rien faire sans et il est probable qu'il soit bien plus efficace sur beaucoup de sujet "triviaux". Le débutant "étudiant modèle" qui saura coder se verra détrôner par le bullshiteur (celui qui veut normalement faire manager ou chef de projet). Et de fil en aiguille tout le monde sera bien obligé d'utiliser cet outil (ou ses descendants).
  • solstyce39
    Membre confirmé
    Envoyé par micka132
    Hier soir j'ai fait quelque chose que je n'avais plus fait depuis bien longtemps; j'ai joué en ligne en même temps que discord avec de parfait inconnu.
    Il y avait un étudiant informatique, qui avait bien le temps de jouer car il avait bouclé son projet de 2 semaines en une seule journée grâce à notre ami GPT.
    Je crains que mon histoire ne soit pas isolé, et pour le pire ou le meilleur je crois que nous n'aurons pas d'autre choix que de travailler avec ça.
    Les nouveaux ne sauront probablement rien faire sans et il est probable qu'il soit bien plus efficace sur beaucoup de sujet "triviaux". Le débutant "étudiant modèle" qui saura coder se verra détrôner par le bullshiteur (celui qui veut normalement faire manager ou chef de projet). Et de fil en aiguille tout le monde sera bien obligé d'utiliser cet outil (ou ses descendants).
    Vrai, mais, in fine, seul l'étudiant modèle s'en sortira dans la vrai vie, si c'est pour prompt du chatGPT, le bullshiter t'en a pas besoin.
    (soit dit en passant, le premier test technique sans google / chatGPT, le bullshiter il passe pas)
  • smarties
    Expert confirmé
    Le coût de développement d'un logiciel serait-il beaucoup plus abordable si le code était écrit par GPT-4 ?
    Certains mettrait cet argument en avant pour le vendre plus cher si ça se trouve.
  • shenron666
    Expert confirmé
    Si on résume l'expression de besoin de réduire les coûts à la simple question
    Le coût de développement d'un logiciel serait-il beaucoup plus abordable si le code était écrit par GPT-4 ?
    alors la réponse est oui
    si on ajoute comme critère que le logiciel résultant doit fonctionner, c'est une autre paire de manches

    c'est toute la différence entre
    - un code qui compile
    et
    - un logiciel complet, utilisable, stable, ergonomique, fonctionnel, etc...