Cognition Labs a récemment annoncé le lancement officiel de Devin, sa plateforme d'intelligence artificielle (IA). Cette annonce fait suite à la première présentation de Devin en mars dernier. Cet outil d'IA est conçu pour exécuter diverses tâches de codage complexes, ce qui en fait un atout précieux pour les développeurs individuels et les équipes d'ingénierie.
Les capacités de Devin incluent la rédaction de code dans plusieurs langages de programmation, la construction et le déploiement de sites web et d'applications, ainsi que le débogage de code. Son objectif est de simplifier le processus de développement logiciel. L'entreprise affirme que Devin a réussi des entretiens d'ingénierie réels auprès d'entreprises d'IA et a réalisé des travaux réels sur des plateformes de freelancing comme Upwork. Actuellement, Devin est proposé sous forme d'abonnement, adapté aux particuliers et aux équipes.
Présentation de Devin
Devin est principalement positionné comme un assistant de programmation IA, jouant un rôle important dans le domaine de l'ingénierie logicielle. Il est capable de gérer de nombreuses tâches de programmation complexes. Son développement est issu d'un projet de migration de code à grande échelle chez Nubank, où Devin a réussi à migrer un monolithe ETL de 8 ans et de plusieurs millions de lignes de code vers des sous-modules, apportant à Nubank un gain d'efficacité et des économies de coûts significatifs.
Actuellement, Devin est proposé aux équipes d'ingénierie et aux développeurs pour un abonnement mensuel de 500 $, offrant un accès illimité, une intégration Slack, des extensions IDE et une API, ainsi qu'une assistance et des instructions de démarrage de l'équipe d'ingénierie de Cognition.
Comme l'a initialement rapporté The Information, Cognition Labs a levé 175 millions de dollars et annoncé une valorisation de 2 milliards de dollars seulement six mois après sa création. Un mois plus tard, Founders Fund a mené un nouveau tour de financement, après avoir déjà mené un tour de financement de série A de 21 millions de dollars pour une valorisation de seulement 350 millions de dollars, dans le cadre de la récente course aux assistants de codage d'IA générative comme GitHub Copilot.
Points forts de Devin
- Automatisation de la migration et de la refactorisation du code : peut automatiser les tâches de migration de code, réduisant considérablement le travail des ingénieurs sur ces tâches répétitives. Par exemple, dans le projet Nubank, il a migré efficacement d'une architecture monolithique à des sous-modules.
- Traitement du langage naturel : comprend et répond aux demandes en langage naturel, ce qui rend la collaboration entre les développeurs et Devin plus intuitive et plus facile. Les développeurs peuvent donner des instructions à Devin comme s'ils communiquaient avec un collègue.
- Tests et correction de code : possède son propre shell, peut tester le code et corriger les erreurs jusqu'à ce que le code fonctionne correctement, garantissant ainsi la qualité et la stabilité du code.
- Opérations multi-fichiers : peut explorer indépendamment de nouvelles bases de code et contribuer à plusieurs fichiers, gérant facilement les besoins de traitement multi-fichiers dans les projets complexes.
- Fonctionnalité de recherche sur le Web : possède son propre navigateur, peut être utilisé pour rechercher des documents Web et tester les applications Web construites, fournissant aux développeurs des références et un environnement de test complets.
- Support de l'intégration continue/du déploiement continu (CI/CD) : peut gérer les tâches CI/CD, optimiser le processus de développement logiciel et améliorer l'efficacité et la qualité de la livraison du logiciel.
- Capacités de gestion de projet : peut créer et gérer des projets, y compris la création de PR et la réponse aux commentaires de PR, facilitant la collaboration d'équipe et l'avancement des projets.
- Collaboration multiplateforme : s'intègre à plusieurs outils tels que GitHub et Slack, permettant une collaboration multiplateforme. Les développeurs peuvent utiliser Devin dans leur environnement de travail familier, améliorant ainsi leur productivité.
Scénarios d'utilisation
- Projets de migration de code à grande échelle : comme la migration du cœur de l'ETL de Nubank d'une architecture monolithique à des sous-modules, Devin a permis d'améliorer l'efficacité de l'ingénierie de 12 fois. Une tâche de migration qui aurait pu prendre des mois ou des années a été achevée en quelques semaines, tout en économisant plus de 20 fois les coûts de migration.
- Maintenance et optimisation quotidiennes du code : pour traiter les petits bogues frontaux et les cas limites, les développeurs peuvent marquer Devin dans un thread Slack pour résoudre rapidement les problèmes ; pour les tâches de refactorisation de code, ils peuvent utiliser l'extension IDE de Devin pour spécifier les parties du code à éditer ou à mettre à niveau, et Devin effectuera la refactorisation.
- Tâches d'ingénierie de données : dans les travaux de migration d'entrepôts de données, de développement ETL, de nettoyage et de prétraitement des données, Devin peut jouer un rôle important, par exemple, exécuter des scripts d'analyse de données, générer des visualisations de données et des résumés statistiques.
- Création et gestion de PR dans les projets : lors de la création d'un brouillon de PR pour les tâches en attente, les développeurs peuvent assigner des tâches à Devin à partir de leur liste de tâches chaque jour, et Devin créera un PR après l'avoir terminé, puis les développeurs l'examineront et l'ajusteront.
- Tests et dépannage : lorsqu'un problème de code survient, par exemple lors du traitement de liens de catégorisation automatique invalides, Devin peut aider à enquêter sur les fonctions concernées, à identifier le problème et à tenter de le résoudre.
Tutoriel Devin
- Inscription et connexion : accédez à la plateforme Devin, inscrivez-vous et créez un compte pour accéder à l'interface utilisateur.
- Fournir des informations sur la base de code : fournissez à Devin des informations pertinentes sur la base de code à migrer ou à refactoriser afin qu'il comprenne le contexte du projet.
- Donner des instructions de tâche : utilisez un langage naturel clair pour décrire les exigences de la tâche à Devin, par exemple : « Migrer la bibliothèque de génération de musique de Java 8 vers Python 3.11 et ajouter un petit test pour chaque nouveau fichier Python pour s'assurer que le code est exécutable ».
- Traitement des tâches et surveillance de la progression : Devin commence à traiter automatiquement les tâches et fournit des commentaires en temps réel sur la progression. Les utilisateurs peuvent suivre l'avancement des tâches à tout moment.
- Examen et ajustement : examinez attentivement le travail effectué par Devin. Si vous constatez des problèmes ou si vous avez besoin d'améliorations, apportez les ajustements nécessaires.
- Fusionner les modifications : une fois que vous êtes sûr, fusionnez les modifications de Devin dans la branche principale pour que les modifications prennent effet.
- Tests et validation : utilisez les fonctionnalités shell et navigateur de Devin pour tester et valider le code afin de garantir la qualité du code et le bon fonctionnement des fonctionnalités.
- Opérations répétitives : répétez les étapes ci-dessus selon les besoins du projet pour traiter continuellement davantage de tâches de migration ou de refactorisation de code.
Conclusion
Devin, en tant qu'assistant de programmation IA puissant, offre aux équipes d'ingénierie et aux développeurs un gain d'efficacité significatif grâce à ses excellentes fonctionnalités de migration de code, de refactorisation et de traitement du langage naturel. Que ce soit pour des ajustements d'architecture de code à grande échelle ou pour la maintenance et l'optimisation quotidiennes du code, Devin peut jouer un rôle important.
Si vous êtes également confronté à des tâches fastidieuses et à des défis dans votre travail de programmation, essayez Devin et faites-en votre partenaire de programmation. N'hésitez pas à commenter et partager votre opinion sur les assistants de programmation IA, suivez l'évolution de Devin et explorez ensemble de nouvelles façons de travailler dans le domaine de la programmation. Nous pensons qu'il nous apportera encore plus de surprises et de valeur à l'avenir.