L’IA est-elle vraiment une menace pour les développeurs ? Devin et Microsoft AutoDev | IA dans les affaires #115

L’IA est-elle une menace pour les développeurs ?

Bien que les questions sur les dangers du développement de l’IA se soient quelque peu apaisées, et que les outils d’IA utilisés dans le travail quotidien laissent encore beaucoup à désirer, de nouveaux développements et percées nous poussent à poser ces questions encore et encore. Le développement de l’intelligence artificielle dans les affaires et la programmation suscite beaucoup d’enthousiasme et de débats.

En regardant à travers le prisme de la programmation, il y a une question fondamentale sur l’avenir de la profession : l’IA est-elle vraiment une menace pour les programmeurs, ou deviendra-t-elle leur plus grand allié, de sorte que les programmeurs compétents dans l’utilisation de l’IA pourront construire n’importe quelle application rapidement et sans faille ? Pour répondre à cette question, il est nécessaire d’examiner quelques arguments clés :

  1. L’IA ne remplacera pas les humains, mais ceux qui peuvent l’utiliser efficacement remplaceront ceux qui ne le peuvent pas ou ne le veulent pas.
  2. Un exemple de cela est l’utilisation de l’IA pour automatiser des tâches routinières, permettant aux développeurs de se concentrer sur des problèmes plus complexes.

  3. À l’étape actuelle de développement, l’IA n’est pas capable de remplacer des programmeurs expérimentés travaillant sur des systèmes complexes.
  4. Cependant, elle est capable d’automatiser certaines tâches et d’augmenter considérablement l’efficacité de ces spécialistes. Par exemple, elle peut générer automatiquement du code pour des fonctions relativement simples.

  5. Les tâches plus simples que les programmeurs effectuent généralement au début de leur carrière seront également automatisées.
  6. Cependant, cela ne devrait pas être une source d’inquiétude. Les exemples incluent la vérification automatique du code par rapport aux modèles de programmation appliqués ou l’automatisation de la création de tests de base.

  7. L’IA peut automatiser certains aspects du travail d’un programmeur, mais elle ne remplacera pas complètement le programmeur.
  8. Les programmeurs seront toujours nécessaires pour prendre des décisions importantes, résoudre des problèmes complexes et créer des logiciels à valeur ajoutée. Par exemple, concevoir l’architecture des systèmes d’information, ce qui nécessite une analyse approfondie et une compréhension des affaires.

Devin

Mais passons à Devin, un outil innovant qui, bien qu’actuellement seulement un teaser publié par Cognition (https://www.cognition-labs.com), montre l’avenir du développement de l’intelligence artificielle dans le domaine de la programmation.

Devin, le premier ingénieur logiciel IA entièrement autonome au monde, est la réponse à la demande croissante d’automatisation dans l’industrie du développement logiciel. Sa capacité à apprendre de nouvelles technologies, à trouver et corriger des bogues dans le code, ainsi qu’à former et adapter ses propres modèles d’IA, en fait un outil inestimable pour les développeurs. Les caractéristiques clés de Devin incluent :

  • capacité à planifier et exécuter des tâches complexes de manière autonome,
  • autonomie dans la recherche et la correction des bogues dans le code,
  • capacité à apprendre de nouvelles technologies de manière autonome.

Cognition a publié une comparaison des capacités de Devin avec les performances de modèles de langage bien connus qui soutiennent la programmation. En termes de raisonnement et d’inférence, Devin a surpassé les meilleurs modèles disponibles aujourd’hui, tels que GPT-4 d’OpenAI et Claude 2 d’Anthropic, de plusieurs points de pourcentage.

Microsoft AutoDev

La prochaine étape dans l’automatisation des processus de développement est AutoDev, un environnement de développement logiciel entièrement automatisé basé sur l’IA. Ses principes clés sont d’augmenter l’autonomie, l’efficacité et la sécurité des systèmes d’IA. Et surtout, contrairement à Devin, il est disponible dans un modèle open-source, ce qui signifie qu’il est accessible à tous.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

Le principal avantage de l’utilisation d’AutoDev est qu’il aide énormément à automatiser les tâches répétitives. Un exemple est la génération automatique de tests unitaires, ce qui permet aux développeurs de se concentrer sur des aspects plus complexes du projet.

Le deuxième problème est la capacité de créer des agents qui vérifient les performances des autres. Cela réduit les erreurs et permet à l’intelligence artificielle de vérifier la performance des solutions qu’elle crée elle-même, ce qui permettra aux développeurs de se concentrer sur la résolution créative de problèmes et l’innovation. Par exemple, AutoDev construit et déploie automatiquement des applications, ce qui donne aux développeurs plus de temps pour concevoir de nouvelles fonctionnalités.

Collaboration avec l’IA ou automatisation des tâches de programmation ?

La programmation en binôme avec l’IA est la solution que la plupart des développeurs de logiciels utilisent aujourd’hui, selon une enquête de GitHub – jusqu’à 92 % des développeurs américains. Cela aide à accélérer le travail de 55 % (https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/). L’intelligence artificielle peut compléter des lignes de code répétitives ou suggérer d’autres fonctions à partir de modèles de programmation ou d’exemples précédents.

Dans le contexte de la collaboration avec l’IA et de l’automatisation des tâches de programmation, il vaut la peine de considérer quelle approche est plus bénéfique. Et si nous devons choisir l’une ou les combiner judicieusement. D’une part, la collaboration avec l’IA peut améliorer considérablement le travail des développeurs, par exemple en automatisant les tests de code, ce qui permet une détection plus rapide et plus précise des bogues potentiels.

D’autre part, l’automatisation complète des tâches de programmation peut conduire à des bogues logiciels difficiles à détecter et potentiellement dangereux, ainsi qu’à un manque de fonctionnalités importantes, telles que la sécurité. Il est important de se rappeler que l’IA apprend à partir de dépôts disponibles créés par des programmeurs de niveaux de sophistication variés. Même avec des bogues. De plus, de nombreuses solutions logicielles n’ont pas de documentation complète ou un grand nombre d’exemples disponibles publiquement, donc l’intelligence artificielle a une compréhension limitée de leur fonctionnement. Cela peut conduire à des hallucinations, c’est-à-dire que l’IA invente des morceaux et des morceaux des solutions utilisées et de leurs API.

Źródło: ArXiv (https://arxiv.org/html/2403.08299v1)

Résumé. L’anglais deviendra-t-il la principale langue de programmation ?

Le développement de l’IA et d’outils tels que Devin et AutoDev qui utilisent des agents IA crée de nouvelles opportunités et défis pour l’industrie du développement logiciel. Avec le rôle croissant de l’anglais en tant que nouvelle langue de programmation – utilisée pour donner des commandes aux assistants – cela deviendra une autre langue que de nombreux programmeurs devront maîtriser encore mieux qu’auparavant. Pour réaliser le plein potentiel de l’IA, il est important de se concentrer non seulement sur les aspects techniques de la programmation, mais aussi sur le développement des compétences en communication et la compréhension du contexte commercial et culturel essentiel à la création de logiciels conçus… pour les gens.

Si vous aimez notre contenu, rejoignez notre communauté de abeilles occupées sur Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.

Robert Whitney

Expert en JavaScript et instructeur qui forme les départements informatiques. Son objectif principal est d'améliorer la productivité de l'équipe en enseignant aux autres comment coopérer efficacement lors du codage.

View all posts →

Robert Whitney

Expert en JavaScript et instructeur qui forme les départements informatiques. Son objectif principal est d'améliorer la productivité de l'équipe en enseignant aux autres comment coopérer efficacement lors du codage.

Share
Published by
Robert Whitney

Recent Posts

Le rôle de l’IA dans la modération de contenu | IA dans les affaires #129

Les entreprises luttent pour gérer une vaste quantité de contenu publié en ligne, des publications…

3 days ago

Analyse de sentiment avec l’IA. Comment cela aide-t-il à provoquer des changements dans les entreprises ? | IA dans les affaires #128

À l'ère de la transformation numérique, les entreprises ont accès à une quantité sans précédent…

3 days ago

Meilleurs outils de transcription IA. Comment transformer de longs enregistrements en résumés concis ? | IA dans les affaires #127

Saviez-vous que vous pouvez obtenir l'essence d'un enregistrement de plusieurs heures d'une réunion ou d'une…

3 days ago

Génération de vidéos par IA. Nouveaux horizons dans la production de contenu vidéo pour les entreprises | IA dans les affaires #126

Imaginez un monde où votre entreprise peut créer des vidéos engageantes et personnalisées pour n'importe…

3 days ago

LLMOps, ou comment gérer efficacement les modèles de langage dans une organisation | IA en affaires #125

Pour tirer pleinement parti du potentiel des grands modèles de langage (LLMs), les entreprises doivent…

3 days ago

Automatisation ou augmentation ? Deux approches de l’IA dans une entreprise | IA en affaires #124

En 2018, Unilever avait déjà entrepris un voyage conscient pour équilibrer les capacités d'automatisation et…

3 days ago