Devin est maintenant accessible à tous et coûte 500 dollars par mois
Cognition présente Devin comme « le premier programme ingénieur logiciel au monde ». Devin promet d'automatiser des flux de travail de programmation, d'accroître l'efficacité et de redéfinir potentiellement le rôle d'ingénieur logiciel. L'IA est capable de planifier, de concevoir et de construire des projets logiciels de manière autonome. Elle analyse les besoins, génère du code, identifie et corrige les erreurs, et s'intègre même aux flux de travail existants.
Cognition affirme que Devin est capable de prendre une simple commande et de la transformer en un site Web ou un programme logiciel fonctionnel. Devin est désormais disponible à partir de 500 $ par mois. Selon Cognition, l'utilisation de Devin se traduit par des avantages significatifs :
- efficacité accrue : les tâches répétitives telles que la génération de code et la correction des bogues sont automatisées, ce qui permet aux développeurs humains de se consacrer à la résolution de problèmes plus complexes ;
- réduction des coûts de développement : la rationalisation des flux de travail et l'automatisation permettent d'accélérer les cycles de développement et de réduire les coûts globaux ;
- amélioration de la qualité : la capacité de Devin à analyser méticuleusement le code peut conduire à une réduction des erreurs et à une amélioration de la qualité globale du code ;
- démocratisation du développement logiciel : Devin pourrait permettre à des non-programmeurs de créer des applications de base, ce qui élargit le champ d'application du développement logiciel.
En somme, Devin est un chatbot basé sur un grand modèle de langage (LLM) qui répond à de simples commandes textuelles et expose ses plans pour résoudre le problème donné en ingénierie logicielle. Devin développe ensuite un projet à l'aide des outils généralement utilisés par les ingénieurs logiciels humains, notamment interface de ligne de commande, son éditeur de code et un un navigateur à travers lequel il exécute les demandes de code.
Comprendre ce que l'IA Devin est capable d'accomplir comme tâche
Tout comme de nombreux autres modèles d'IA générative, Devin vise à rationaliser les tâches de développement logiciel. Il génère des extraits de code, suggère des optimisations et détecte les erreurs. Cognition affirme notamment que Devin est très efficace pour des tâches spécifiques. Entre autres, on peut citer :
- planifier et exécuter : Cognition affirme que Devin, grâce à son raisonnement et à sa planification à long terme, peut faire avancer les choses, même les projets à l'ingénierie complexe et les tâches qui nécessitent des milliers de divisions. Elle peut également apprendre et s'adapter au cours du processus ;
- outils de développement intégrés : Devin est livré avec des outils de développement tels qu'un Shell, un éditeur de code et un navigateur dans un environnement de type « bac à sable » ;
- collaboration : Devin offre également la possibilité de collaborer avec les utilisateurs. Cognition affirme que Devin peut rendre compte du processus en temps réel, recueillir des commentaires et collaborer à la réalisation d'un objectif commun ;
- adaptabilité aux technologies inconnues : Devin peut rapidement apprendre à utiliser de nouvelles technologies ou de nouveaux outils ;
- génération d'images ControlNet : en utilisant ControlNet on Modal, Devin génère des images avec des messages cachés ;
- développement d'applications de bout en bout : Cognition affirme Devin peut développer un site Web interactif et peut même ajouter de nouvelles fonctionnalités demandées par l'utilisateur, puis déployer l'application sur Netlify ;
- correction de bogues : Devin peut assurer la maintenance et le débogage d'un livre de programmation compétitif, en identifiant et en résolvant les problèmes de manière autonome ;
- amélioration du modèle d'IA : Devin peut également améliorer et affiner son propre modèle d'IA au fil du temps en utilisant une recherche respiratoire sur GitHub.
« Devin a été conçu pour être un coéquipier infatigable et compétent, prêt à construire à vos côtés ou à accomplir de manière autonome des tâches que vous devrez réviser », affirme Cognition. Selon les testeurs, Devin rationalise certaines parties du processus de développement, du débogage aux suggestions de code.
Les limites de Devin : les tâches répétitives et basées sur des modèles
Pour de nombreux développeurs ayant testé Devin, si l'augmentation de la productivité offerte par l'outil est indéniable, l'IA ne remplacera pas les ingénieurs logiciels. Ces derniers ont toutefois déclaré que dans les années à venir, l'IA pourrait remplacer les ingénieurs logiciels qui ne savent pas comment exploiter les outils d'IA par ceux qui le peuvent. D'après les commentaires, Devin n'excelle que dans « les tâches répétitives et basées sur des modèles ».
Cela pourrait faire gagner du temps aux ingénieurs et leur permettre de se concentrer sur la résolution créative de problèmes. Mais l'ingénierie logicielle implique une conception complexe, des considérations liées à l'expérience utilisateur et une résolution unique des problèmes, qui relèvent résolument du domaine humain. Ceux qui parviennent à trouver un équilibre entre l'efficacité de l'IA et la prise de décision stratégique axée sur l'humain s'épanouiront.
Annonçant la disponibilité générale de Devin, Cognition semble elle-même reconnaître les limites de son outil et a mis en avant ses points forts. « Bien que Devin puisse être un outil polyvalent, nous recommandons de commencer avec... », a écrit Cognition, avant de citer les points forts de Devin :
- les petits bogues du front-end et les cas marginaux : taguer Devin dans les fils de discussion Slack ;
- créer des pull request pour les tâches du backlog : assigner des tâches à Devin à partir de votre liste de choses à faire au début de votre journée ;
- refactorisation ciblée du code : utiliser l'extension Devin EDI (pour VS Code et les forks) pour pointer Devin vers les parties du code que vous voulez éditer ou mettre à jour.
« Devin a aidé des équipes dans tous les domaines, de la création d'intégrations à la migration et à la maintenance de la documentation », a poursuivi Cognition. Selon l'entreprise, Devin est polyvalent, mais il fonctionne mieux lorsque... :
- vous confiez à Devin des tâches que vous savez faire vous-même ;
- vous dites à Devin comment tester ou vérifier son propre travail ;
- les sessions durent moins de 3 heures et les tâches importantes sont décomposées ;
- vous partagez des exigences détaillées dès le départ ;
- vous investissez dans l'accompagnement de Devin en lui faisant part de vos commentaires dans le chat et en acceptant les connaissances suggérées, ou en ajoutant manuellement vos propres connaissances.
Discussion : Devin peut-il remplacer les ingénieurs logiciels humains ?
Les assistants d'IA de codage ont considérablement progressé en peu de temps. Et de nouveaux agents d'IA apparaissent régulièrement. Mais quant à la question de savoir si les outils tels que Devin peuvent remplacer de bout en bout les développeurs de logiciels, beaucoup répondent par la négative. Selon les critiques, les affirmations selon lesquelles l'IA remplacera les développeurs humains exagèrent les capacités de l'IA et constituent un battage médiatique.
« Je pense que l'avenir réside dans la collaboration entre l'IA et les développeurs humains plutôt que dans le remplacement de ces derniers. Dans quelques années, je pense que l'IA sera aussi courante dans nos flux de travail que la logique de programmation l'est aujourd'hui. Tous ceux qui travaillent dans la technologie auront besoin d'au moins une compréhension de base des outils d'IA pour améliorer leur potentiel et leur productivité », a déclaré un critique.
« Travailler avec ces agents d'IA aujourd'hui est un bon point de départ », peut-on lire dans les commentaires. Si l'IA de Devin peut contribuer au développement de logiciels, il est peu probable qu'il remplace les ingénieurs, et ce pour plusieurs raisons :
- créativité humaine et résolution de problèmes : le génie logiciel ne consiste pas seulement à écrire du code. Il s'agit d'aborder des problèmes complexes de manière créative, de concevoir des systèmes efficaces et de prendre en compte l'expérience de l'utilisateur et l'évolutivité. L'IA peut suivre des modèles, mais elle n'a pas la capacité d'innovation et d'adaptation qu'apportent les humains ;
- limites de l'IA dans la compréhension du contexte : l'IA fonctionne sur la base des données sur lesquelles elle a été formée, et bien qu'elle puisse identifier et reproduire des modèles, elle ne comprend pas intrinsèquement le contexte ou les nuances d'un projet. Les ingénieurs prennent en compte des facteurs tels que l'évolutivité, les mises à jour futures, l'interface utilisateur et l'intégration avec d'autres systèmes. Devin n'a pas cette vision holistique et peine à s'adapter lorsque le contexte n'est pas clair ou qu'il nécessite des solutions hors du commun ;
- l'importance des compétences non techniques dans le développement : l'ingénierie implique souvent le travail en équipe, la communication avec les clients et la collaboration entre départements. Des compétences telles que l'empathie, la négociation et la communication interfonctionnelle sont essentielles au développement. Les ingénieurs passent beaucoup de temps à interagir avec les parties prenantes pour comprendre les besoins, partager les mises à jour et s'adapter en fonction des commentaires. Ce contact humain est essentiel, et l'IA n'a pas l'intelligence émotionnelle nécessaire pour le remplacer ;
- évolution rapide des technologies : le développement de logiciels est en constante évolution, avec de nouveaux cadres, langages et méthodologies. Bien que l'IA comme Devin puisse apprendre à partir de grandes quantités de données, elle nécessite des mises à jour périodiques pour suivre le rythme des changements technologiques. Les ingénieurs humains sont naturellement adaptatifs et peuvent acquérir de nouvelles compétences, apprendre de nouveaux outils et s'adapter aux tendances de l'industrie ; des qualités qu'il est difficile d'intégrer dans l'IA.
Selon les experts, l'IA transforme l'ingénierie logicielle en améliorant le rôle d'ingénieur plutôt qu'en le remplaçant. En prenant en charge les tâches répétitives, l'IA permet aux ingénieurs de se concentrer sur des tâches de plus haut niveau, telles que la planification stratégique et l'innovation. Les ingénieurs qui utilisent l'IA peuvent gagner en efficacité en s'attaquant à des problèmes complexes pendant que l'IA s'occupe de tâches de codage plus simples.
Dans un avenir proche, les ingénieurs pourraient être amenés à former, personnaliser et gérer des outils d'IA tels que Devin. Au fur et à mesure que la technologie progresse, comprendre comment collaborer avec l'IA deviendra une compétence précieuse. Les ingénieurs qui savent comment tirer parti de l'IA seront très demandés, car ils apporteront une combinaison unique d'expertise technique et de connaissances en matière d'IA.
Source : Cognition
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de l'IA d'ingénierie logicielle Devin ? Quid de ses capacités ?
Quels avantages l'utilisation de Devin pourrait-elle apporter aux entreprises et aux équipes d'ingénierie ?
L'IA Devin est-il en mesure de remplacer les ingénieurs logiciels humains dans les années à venir ? Pourquoi ?
Quels sont les potentiels inconvénients et les risques liés à l'utilisation de Devin ?
Que pensez-vous du coût de l'abonnement mensuel à Devin ? Les avantages offerts par Devin valent-ils ce prix ?
Avez-vous testé l'IA Devin ? Si oui, partagez votre expérience avec la communauté.
Voir aussi
L'IA Devin est capable de lire la documentation, de demander de l'aide à d'autres employés, d'écrire du code, etc., les développeurs ont peur de devenir obsolètes puis de se retrouver au chômage
« Nous avons confié à Devin de vraies offres sur une plateforme de recrutement et il a rendu satisfaction », soulignent les auteurs à propos de leur IA ingénieur logiciel « entièrement autonome »
« Déclarer que Devin a rendu satisfaction sur cette offre d'emploi Upwork est un mensonge », d'après un développeur qui ajoute que cette IA n'est pas ingénieur logiciel à contrario de Cognition Labs