Modèles et plateformes d’IA
Les grands modèles de langage mettront-ils fin à la programmation ?
La semaine dernière a marqué un jalon important pour OpenAI, alors qu’ils ont présenté GPT-4 Turbo lors de leur OpenAI DevDay. Une fonctionnalité remarquable de GPT-4 Turbo est sa fenêtre de contexte élargie de 128 000, un bond considérable par rapport aux 8 000 de GPT-4. Cette amélioration permet le traitement de texte 16 fois supérieur à celui de son prédécesseur, équivalent à environ 300 pages de texte.
Cette avancée s’inscrit dans un autre développement important : l’impact potentiel sur le paysage des startups SaaS.
OpenAI’s ChatGPT Enterprise, avec ses fonctionnalités avancées, pose un défi à de nombreuses startups SaaS. Ces entreprises, qui offraient des produits et des services autour de ChatGPT ou de ses API, sont maintenant confrontées à la concurrence d’un outil doté de capacités d’entreprise. Les offres de ChatGPT Enterprise, telles que la vérification de domaine, SSO et les insights d’utilisation, se chevauchent directement avec de nombreux services B2B existants, ce qui pourrait potentiellement mettre en péril la survie de ces startups.
Lors de sa conférence, le PDG d’OpenAI, Sam Altman, a révélé un autre développement majeur : l’extension de la connaissance de GPT-4 Turbo. Contrairement à GPT-4, qui ne disposait d’informations qu’à partir de 2021, GPT-4 Turbo est mis à jour avec des connaissances jusqu’en avril 2023, marquant un progrès significatif dans la pertinence et l’applicabilité de l’IA.
ChatGPT Enterprise se distingue par des fonctionnalités telles que la sécurité et la confidentialité améliorées, un accès à grande vitesse à GPT-4 et des fenêtres de contexte étendues pour des entrées plus longues. Ses capacités d’analyse de données avancées, les options de personnalisation et la suppression des plafonds d’utilisation en font un choix supérieur à ses prédécesseurs. Sa capacité à traiter des entrées et des fichiers plus longs, ainsi que l’accès illimité à des outils d’analyse de données avancés comme l’interpréteur de code, solidifie encore son attrait, en particulier auprès des entreprises qui hésitaient précédemment en raison de problèmes de sécurité des données.
L’ère de la création manuelle de code cède la place à des systèmes pilotés par l’IA, formés au lieu d’être programmés, ce qui signale un changement fondamental dans le développement de logiciels.
Les tâches fastidieuses de la programmation pourraient bientôt être confiées à l’IA, réduisant le besoin d’expertise en codage approfondi. Des outils comme GitHub’s CoPilot et Replit’s Ghostwriter, qui aident à la programmation, sont des indicateurs précoces du rôle croissant de l’IA dans la programmation, laissant supposer un avenir où l’IA va au-delà de l’assistance pour gérer entièrement le processus de programmation. Imaginez un scénario courant où un programmeur oublie la syntaxe pour inverser une liste dans un langage particulier. Au lieu d’une recherche dans les forums et les articles en ligne, CoPilot offre une aide immédiate, permettant au programmeur de se concentrer sur son objectif.
Transition de la programmation à faible code à la programmation pilotée par l’IA
Les outils de faible code et de code zéro ont simplifié le processus de programmation, en automatisant la création de blocs de code de base et en libérant les développeurs pour se concentrer sur les aspects créatifs de leurs projets. Mais à mesure que nous entrons dans cette nouvelle vague d’IA, le paysage change encore. La simplicité des interfaces utilisateur et la capacité de générer du code à l’aide de commandes simples comme « Créez un site Web pour faire X » révolutionnent le processus.
L’influence de l’IA sur la programmation est déjà considérable. De même que les premiers informaticiens ont fait la transition d’une focalisation sur l’ingénierie électrique à des concepts plus abstraits, les futurs programmeurs pourraient considérer le codage détaillé comme obsolète. Les progrès rapides de l’IA ne sont pas limités à la génération de texte/code. Dans des domaines tels que la génération d’images, des modèles de diffusion comme Runway ML, DALL-E 3, montrent des améliorations massives. Regardez simplement le tweet suivant de Runway présentant sa dernière fonctionnalité.
https://twitter.com/runwayml/status/1723033256067489937
L’impact de l’IA sur les industries créatives devrait être tout aussi transformatif. Jeff Katzenberg, un géant de l’industrie cinématographique et ancien président de Walt Disney Studios, a prédit que l’IA réduirait considérablement le coût de production des films d’animation. Selon un article récent de Bloomberg, Katzenberg prévoit une réduction drastique de 90 % des coûts. Cela peut inclure l’automatisation de tâches fastidieuses telles que l’interpolation dans l’animation traditionnelle, le rendu de scènes et même l’aide à des processus créatifs comme la conception de personnages et la planification de l’histoire.
Le rapport coût-efficacité de l’IA dans la programmation
Analyse de coût de l’emploi d’un ingénieur logiciel :
- Rémunération totale : Le salaire moyen d’un ingénieur logiciel, y compris les avantages supplémentaires dans les hubs technologiques comme la Silicon Valley ou Seattle, est d’environ 312 000 $ par an.
Analyse de coût quotidien :
- Jours ouvrables par an : En considérant qu’il y a environ 260 jours ouvrables par an, le coût quotidien de l’emploi d’un ingénieur logiciel est d’environ 1 200 $.
- Production de code : En supposant une estimation généreuse de 100 lignes de code finalisées, testées, revues et approuvées par jour, cette production quotidienne est la base de comparaison.
Analyse de coût de l’utilisation de GPT-3 pour la génération de code :
- Coût par jeton : Le coût d’utilisation de GPT-3, au moment de la vidéo, était d’environ 0,02 $ pour chaque 1 000 jetons.
- Jetons par ligne de code : En moyenne, une ligne de code peut être estimée à environ 10 jetons.
- Coût pour 100 lignes de code : Par conséquent, le coût pour générer 100 lignes de code (ou 1 000 jetons) en utilisant GPT-3 serait d’environ 0,12 $.
Analyse comparative :
- Coût par ligne de code (humain vs IA) : En comparant les coûts, la génération de 100 lignes de code par jour coûte 1 200 $ lorsqu’elle est effectuée par un ingénieur logiciel humain, par opposition à seulement 0,12 $ en utilisant GPT-3.
- Facteur de coût : Cela représente un facteur de différence de coût d’environ 10 000 fois, l’IA étant nettement moins chère.
Cette analyse met en évidence le potentiel économique de l’IA dans le domaine de la programmation. Le faible coût du code généré par l’IA par rapport au coût élevé des développeurs humains suggère un avenir où l’IA pourrait devenir la méthode préférée pour la génération de code, en particulier pour les tâches standard ou répétitives. Ce changement pourrait entraîner des économies de coûts considérables pour les entreprises et une réévaluation du rôle des programmeurs humains, en se concentrant potentiellement sur des tâches plus complexes, créatives ou de surveillance que l’IA ne peut pas encore gérer.
La polyvalence de ChatGPT s’étend à divers contextes de programmation, y compris des interactions complexes avec des frameworks de développement Web. Considérez un scénario où un développeur travaille avec React, une bibliothèque JavaScript populaire pour la création d’interfaces utilisateur. Traditionnellement, cette tâche impliquerait de plonger dans une documentation exhaustive et des exemples fournis par la communauté, en particulier lorsqu’il s’agit de composants complexes ou de gestion d’état.
Avec ChatGPT, ce processus est rationalisé. Le développeur peut simplement décrire la fonctionnalité qu’il souhaite mettre en œuvre dans React, et ChatGPT fournit des extraits de code pertinents et prêts à l’emploi. Cela peut aller de la configuration d’une structure de composant de base à des fonctionnalités plus avancées comme la gestion d’état avec des hooks ou l’intégration avec des API externes. En réduisant le temps passé en recherche et en essais, ChatGPT améliore l’efficacité et accélère le développement de projet dans les contextes de développement Web.
Les défis de la programmation pilotée par l’IA
Alors que l’IA continue de remodeler le paysage de la programmation, il est essentiel de reconnaître les limites et les défis qui accompagnent le recours exclusif à l’IA pour les tâches de programmation. Ces défis soulignent la nécessité d’une approche équilibrée qui exploite les forces de l’IA tout en reconnaissant ses limites.
- Qualité et maintenabilité du code : Le code généré par l’IA peut parfois être verbeux ou inefficace, ce qui peut entraîner des défis de maintenance. Même si l’IA peut écrire du code fonctionnel, garantir que ce code respecte les meilleures pratiques en matière de lisibilité, d’efficacité et de maintenabilité reste une tâche humaine.
- Débogage et gestion des erreurs : Les systèmes d’IA peuvent générer du code rapidement, mais ils n’excellent pas toujours dans le débogage ou la compréhension de nuances d’erreurs dans le code existant. Les subtilités du débogage, en particulier dans les systèmes complexes, nécessitent souvent une compréhension nuancée et une expérience humaine.
- Dépendance aux données d’entraînement : L’efficacité de l’IA dans la programmation dépend fortement de la qualité et de l’étendue de ses données d’entraînement. Si les données d’entraînement manquent d’exemples de certains bogues, modèles ou scénarios, la capacité de l’IA à gérer ces situations est compromise.
- Préoccupations éthiques et de sécurité : Alors que l’IA prend un rôle plus important dans la programmation, des préoccupations éthiques et de sécurité émergent, en particulier autour de la confidentialité des données et du potentiel de biais dans le code généré par l’IA. Assurer une utilisation éthique et aborder ces biais est crucial pour le développement responsable d’outils de programmation pilotés par l’IA.
Équilibrer les compétences en IA et en programmation traditionnelle
Dans les équipes de développement de logiciels à venir, un modèle hybride pourrait émerger. Les responsables de produits pourraient traduire les exigences en directives pour les générateurs de code d’IA. La surveillance humaine pourrait encore être nécessaire pour l’assurance de la qualité, mais l’accent se déplacerait de l’écriture et de la maintenance du code à la vérification et à l’affinement des sorties générées par l’IA. Ce changement suggère une diminution de l’importance des principes de programmation traditionnels comme la modularité et l’abstraction, dans la mesure où le code généré par l’IA n’a pas besoin de respecter les normes de maintenance centrées sur l’humain.
Dans cette nouvelle ère, le rôle des ingénieurs et des informaticiens se transformera considérablement. Ils interagiront avec les modèles de langage, en fournissant des données d’entraînement et des exemples pour réaliser des tâches, en déplaçant l’accent de la programmation minutieuse vers un travail stratégique avec les modèles d’IA.
L’unité de calcul de base passera des processeurs traditionnels à des modèles de langage massifs et pré-entraînés, marquant un départ des processus prévisibles et statiques vers des agents d’IA dynamiques et adaptatifs.
L’accent se déplace de la création et de la compréhension des programmes à la direction des modèles d’IA, redéfinissant les rôles des informaticiens et des ingénieurs et remodelant notre interaction avec la technologie.
Le besoin permanent d’insight humain dans le code généré par l’IA
Le futur de la programmation est moins axé sur le codage et plus sur la direction de l’intelligence qui pilotera notre monde technologique.
La croyance que le traitement du langage naturel par l’IA peut remplacer entièrement la précision et la complexité des notations mathématiques formelles et de la programmation traditionnelle est, au mieux, prématurée. Le passage à l’IA dans la programmation n’élimine pas le besoin de rigueur et de précision que seule la programmation formelle et les compétences mathématiques peuvent fournir.
De plus, le défi de tester le code généré par l’IA pour des problèmes qui n’ont pas été résolus auparavant reste important. Les techniques comme les tests basés sur les propriétés nécessitent une compréhension approfondie de la programmation, des compétences que l’IA, dans son état actuel, ne peut pas reproduire ou remplacer.
En résumé, même si l’IA promet d’automatiser de nombreux aspects de la programmation, l’élément humain reste crucial, en particulier dans les domaines nécessitant de la créativité, la résolution de problèmes complexes et une surveillance éthique.












