IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

AutoDev, un framework innovant développé par Microsoft, pourrait révolutionner le développement de logiciels
En combinant l'IA avec les besoins pratiques des développeurs, rationalisant les tâches

Le , par Jade Emy

46PARTAGES

4  0 
AutoDev est un framework innovant développé par Microsoft qui révolutionne la façon dont on aborde le développement de logiciels. Il associe la puissance de l'intelligence artificielle (IA) aux besoins pratiques des développeurs, en rationalisant les tâches complexes et en améliorant la productivité. Dans cet article, explorons les principales caractéristiques et le processus d'AutoDev.

Le paysage du développement logiciel a connu un changement de paradigme avec l'avènement d'assistants dotés d'IA, comme GitHub Copilot. Cependant, les solutions existantes n'exploitent pas toutes les capacités potentielles disponibles dans un IDE, telles que la construction, les tests, l'exécution du code, les opérations git, etc. Par conséquent, elles sont contraintes par leurs capacités limitées, se concentrant principalement sur la suggestion d'extraits de code et la manipulation de fichiers au sein d'une interface basée sur le chat.

Pour combler cette lacune, Microsoft présente AutoDev, un cadre de développement logiciel entièrement automatisé et piloté par l'IA, conçu pour la planification et l'exécution autonomes de tâches complexes de génie logiciel. AutoDev permet aux utilisateurs de définir des objectifs complexes de génie logiciel, qui sont assignés aux agents IA autonomes d'AutoDev. Ces agents IA peuvent effectuer diverses opérations sur une base de code, y compris l'édition de fichiers, la récupération, les processus de construction, l'exécution, les tests et les opérations git.

Ils ont également accès aux fichiers, à la sortie du compilateur, aux journaux de construction et de test, aux outils d'analyse statique, etc. Cela permet aux agents d'intelligence artificielle d'exécuter des tâches de manière entièrement automatisée avec une compréhension complète des informations contextuelles requises. En outre, AutoDev établit un environnement de développement sécurisé en confinant toutes les opérations dans des conteneurs Docker. Ce cadre intègre des garde-fous pour assurer la confidentialité des utilisateurs et la sécurité des fichiers, permettant aux utilisateurs de définir des commandes et des opérations spécifiques autorisées ou restreintes au sein d'AutoDev.

Dans son évaluation, Microsoft a testé AutoDev sur l'ensemble de données HumanEval, obtenant des résultats prometteurs avec 91,5% et 87,8% de Pass@1 pour la génération de code et la génération de test respectivement, démontrant son efficacité dans l'automatisation des tâches de génie logiciel tout en maintenant un environnement de développement sécurisé et contrôlé par l'utilisateur.


AutoDev : Développement automatisé piloté par l'IA

Les assistants de codage IA dans les IDE, présentent des fonctionnalités limitées et manquent de conscience contextuelle. Souvent, ils n'exploitent pas toutes les capacités de l'IDE, telles que l'invocation de linters, de compilateurs ou l'exécution d'opérations en ligne de commande. Par conséquent, les développeurs doivent toujours valider manuellement la syntaxe et s'assurer de l'exactitude du code généré par l'IA, exécuter la base de code et inspecter les journaux d'erreurs.

AutoDev comble cette lacune en offrant aux agents IA autonomes la possibilité d'exécuter des actions telles que l'édition de fichiers, la récupération, la construction, le test et les commandes CLI directement dans le référentiel pour atteindre les objectifs définis par l'utilisateur, permettant ainsi la réalisation de tâches complexes de manière autonome.

AutoDev offre les caractéristiques clés suivantes :

  • la possibilité de suivre et de gérer les conversations entre l'utilisateur et les agents d'intelligence artificielle grâce à un gestionnaire de conversations
  • une bibliothèque d'outils personnalisés pour atteindre une variété d'objectifs liés au code et à l'ES
  • la possibilité de programmer différents agents d'intelligence artificielle pour travailler en collaboration vers un objectif commun grâce à un planificateur d'agents
  • la possibilité d'exécuter du code et d'effectuer des tests grâce à un environnement d'évaluation.


L'image suivante illustre un exemple de haut niveau du flux de travail d'AutoDev :


L'utilisateur définit un objectif (par exemple, tester une méthode spécifique). L'agent d'intelligence artificielle écrit les tests dans un nouveau fichier et lance la commande d'exécution des tests, le tout dans un environnement d'évaluation sécurisé. Les résultats de l'exécution des tests, y compris les journaux d'échec, sont ensuite intégrés à la conversation. L'agent d'intelligence artificielle analyse ces résultats, déclenche une commande d'extraction, incorpore les informations extraites en modifiant le fichier et relance l'exécution du test. Enfin, l'environnement fournit un retour d'information sur le succès de l'exécution du test et la réalisation de l'objectif de l'utilisateur.

L'ensemble du processus est orchestré par AutoDev de manière autonome, ne nécessitant aucune intervention du développeur au-delà de la définition de l'objectif initial. En revanche, avec les assistants de codage IA existants intégrés dans les IDE, les développeurs devraient exécuter manuellement les tests (par exemple, exécuter pytest), fournir des journaux d'échec à l'interface de discussion de l'IA, éventuellement identifier des informations contextuelles supplémentaires à intégrer, et répéter les actions de validation pour assurer le succès du test après que l'IA ait généré un code révisé.


Vue d'ensemble du Framework AutoDev

Conclusion

Pour résumer, AutoDev est un framework permettant aux agents d'intelligence artificielle d'interagir de manière autonome avec les référentiels, d'effectuer des actions et de s'attaquer à des tâches complexes d'ingénierie logicielle.

AutoDev transfère la responsabilité de l'extraction du contexte pertinent pour les tâches de génie logiciel et la validation du code généré par l'IA des utilisateurs (principalement les développeurs) aux agents d'IA eux-mêmes. Les agents sont désormais habilités à extraire le contexte par le biais d'actions de récupération et à valider leur code généré par le biais d'actions de construction, d'exécution, de test et de validation. Le rôle du développeur dans le cadre d'AutoDev passe des actions manuelles et de la validation des suggestions de l'IA à celui d'un superviseur qui surveille la collaboration multi-agents sur les tâches, avec la possibilité de fournir un retour d'information. Les développeurs peuvent suivre la progression d'AutoDev vers ses objectifs en observant la conversation en cours utilisée pour la communication entre les agents et le référentiel.


L'évaluation d'AutoDev sur le jeu de données HumanEval pour la génération de code et de test a montré des résultats impressionnants, atteignant un score Pass@1 de 91,5 pour la génération de code : le deuxième meilleur résultat sur le tableau de classement au moment de la rédaction, et le meilleur parmi les approches ne nécessitant pas de données d'entraînement supplémentaires. AutoDev a également excellé dans la génération de tests avec un score Pass@1 de 87,8%, atteignant une couverture de 99,3% des tests réussis.

Pour l'avenir, l'objectif de Microsoft est d'intégrer AutoDev dans les IDE sous la forme d'un chatbot et de l'incorporer dans les pipelines CI/CD et les plateformes d'évaluation des relations publiques.

Source : "AutoDev: Automated AI-Driven Development" (Microsoft)

Et vous ?

Quel est votre avis sur AutoDev ?
Pensez-vous qu'un framework comme AutoDev est crédible ou pertinent ?

Voir aussi :

GPT Pilot pourrait coder l'ensemble d'une application pendant que vous supervisez l'écriture du code, d'après son créateur

GPT-4 est capable d'améliorer ses performances de 30 % en utilisant un processus d'auto-réflexion, consistant à demander au modèle d'apprendre de ses erreurs pour pouvoir ensuite s'auto-corriger

L'utilisation de l'assistant d'IA GitHub Copilot pour la programmation entraîne une baisse de la qualité globale du code et une quantité importante de code redondant, selon une étude

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de dev_ggy
Membre éprouvé https://www.developpez.com
Le 19/03/2024 à 14:09
Bonjour à tous,

Je viens de lire un article très intéressant sur AutoDev, un nouveau framework développé par Microsoft qui vise à révolutionner le développement logiciel en combinant l'IA avec les besoins pratiques des développeurs.

L'article décrit en détail comment AutoDev permet de définir des objectifs complexes de génie logiciel qui sont ensuite assignés à des agents IA autonomes. Ces agents peuvent effectuer diverses actions directement sur une base de code (édition de fichiers, build, tests, commandes CLI, etc) pour atteindre les objectifs, le tout dans un environnement sécurisé.

Le concept semble très prometteur, d'autant plus que l'évaluation d'AutoDev sur le dataset HumanEval a montré d'excellents résultats, surpassant les approches existantes ne nécessitant pas de données d'entraînement supplémentaires.

Cependant, bien que l'article soit très complet au niveau conceptuel et fournisse même une vidéo de présentation, je suis assez déçu de constater qu'aucun code source n'est disponible. J'aurais adoré pouvoir étudier l'implémentation concrète d'AutoDev pour mieux comprendre comment ces idées innovantes sont traduites techniquement.

Avoir accès à des exemples de code aurait permis d'analyser plus en profondeur les mécanismes d'interaction des agents d'IA avec le repository, l'orchestration des actions, la sécurisation, etc. Sans cet aspect concret, il est plus difficile de se faire une idée précise du fonctionnement et du potentiel réel d'AutoDev.

J'espère que Microsoft envisagera à l'avenir de rendre le code d'AutoDev open-source, au moins en partie. Cela profiterait grandement à la communauté des développeurs et favoriserait une adoption plus large de ce type de solution d'automatisation pilotée par l'IA.

Qu'en pensez-vous ? Avez-vous également lu cet article sur AutoDev ? Partagez-vous mon avis sur l'importance d'avoir accès au code source pour ce genre de framework ?

N'hésitez pas à partager votre opinion !

Bien cordialement,
0  0