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 :
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.
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.
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.
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.
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 :
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.
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.
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)
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.
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.
Les entreprises luttent pour gérer une vaste quantité de contenu publié en ligne, des publications…
À l'ère de la transformation numérique, les entreprises ont accès à une quantité sans précédent…
Saviez-vous que vous pouvez obtenir l'essence d'un enregistrement de plusieurs heures d'une réunion ou d'une…
Imaginez un monde où votre entreprise peut créer des vidéos engageantes et personnalisées pour n'importe…
Pour tirer pleinement parti du potentiel des grands modèles de langage (LLMs), les entreprises doivent…
En 2018, Unilever avait déjà entrepris un voyage conscient pour équilibrer les capacités d'automatisation et…