Sweep vise à automatiser les tâches de développement de base à l’aide de grands modèles linguistiques

Sweep vise à automatiser les tâches de développement de base à l’aide de grands modèles linguistiques

Les développeurs consacrent beaucoup de temps à des tâches banales et répétitives – et étonnamment peu au codage proprement dit.

Dans l’enquête Stack Overflow 2022 auprès des développeurs, 63 % des personnes interrogées ont déclaré consacrer plus de 30 minutes par jour à la recherche de réponses ou de solutions à des problèmes, ce qui représente entre 333 et 651 heures de perte de temps par semaine pour une équipe de 50 développeurs. Un autre sondage réalisé par Propeller Insights et Rollbar a révélé que plus d’un tiers des développeurs consacrent environ un quart de leur temps à la correction de bogues, et qu’un peu plus d’un quart (26 %) consacrent jusqu’à la moitié de leur temps à la correction de bogues.

Cette tendance a frustré William Zeng et Kevin Lu. Au début de l’année, ces deux vétérans de Roblox, le jeu vidéo devenu réseau social, ont donc créé une plateforme appelée Sweep pour gérer de manière autonome des tâches de développement telles que le débogage de haut niveau.

« Nous avons créé Sweep après avoir travaillé ensemble à Roblox et avoir été constamment confrontés à des tâches logicielles qui, nous le savions, pouvaient être automatisées grâce à l’IA », a déclaré Zeng, le PDG de Sweep, à TechCrunch lors d’une interview par e-mail. « Sweep est comme un développeur junior alimenté par l’IA pour les équipes logicielles.

TechCrunch a déjà couvert Sweep lors du Summer 2023 Demo Day de Y Combinator. Mais depuis, la startup a clôturé un nouveau tour de table, levant 2 millions de dollars auprès de Goat Capital, Amjad, PDG de Replit et Michele Catasta, vice-président de Replit en charge de l’IA, et Exceptional Capital, pour une valorisation de 25 millions de dollars après la levée de fonds.

Sweep permet aux développeurs de décrire une demande en langage naturel – par exemple, « ajouter des journaux de débogage à mon pipeline de données » – en dehors d’un IDE et génère le code correspondant. La plateforme peut alors pousser ce code vers la base de code appropriée via une demande d’extraction, et répondre aux commentaires faits sur la demande d’extraction par les mainteneurs de code ou les propriétaires – un peu comme GitHub Copilot, mais de manière plus autonome.

« Sweep permet aux ingénieurs de livrer plus rapidement », a déclaré M. Zeng. « Nous nous occuperons de la dette technologique accumulée à chaque changement de code, comme l’amélioration des journaux d’erreurs et l’ajout de tests unitaires, en plus de la refonte du code inefficace.

Sweep, qui se spécialise dans l’écriture de code Python, s’appuie sur une combinaison de modèles d’IA pour la génération de code. Il s’agit notamment du GPT-4 d’OpenAI, mais aussi d’un « moteur de recherche de code » personnalisé – ce qui est important. pas formé sur les données des clients de Sweep, précise Zeng – qui aide à planifier et à exécuter des changements de code « à l’échelle du référentiel ».

« Nous avons construit notre propre moteur de recherche de code pour Python, qui s’appuie sur des techniques de recherche lexicale et vectorielle », ajoute M. Zeng. La recherche lexicale recherche des correspondances littérales – ou de légères variations – de portions de code, tandis que la recherche vectorielle peut trouver du code plus vaguement lié qui partage certaines caractéristiques. « Nous disposons de l’une des meilleures capacités de génération de tests unitaires disponibles et nous exécuterons des tests en temps réel », a-t-il poursuivi.

À l’avenir, Sweep prévoit de renforcer les capacités de génération de code de sa plateforme avec StarCoder, le modèle de génération de code open source de Hugging Face et ServiceNow.

Étant donné la tendance de l’IA à faire des erreurs, je suis un peu sceptique quant à la fiabilité de Sweep à long terme. Une équipe de recherche affiliée à Stanford a constaté que les ingénieurs qui utilisent des outils d’IA sont plus susceptibles de provoquer des failles de sécurité dans leurs applications, car ces outils génèrent souvent un code qui semble correct en apparence mais qui pose des problèmes de sécurité.

Il y a aussi la question des droits d’auteur. Certains modèles de génération de code – pas nécessairement ceux de StarCoder ou de Sweep, mais d’autres – sont formés sur du code protégé par des droits d’auteur ou sous une licence restrictive, et ces modèles peuvent régurgiter ce code lorsqu’ils sont sollicités d’une certaine manière. Des experts juridiques ont fait valoir que ces outils pourraient mettre les entreprises en danger si elles devaient involontairement incorporer dans leur logiciel de production des suggestions protégées par le droit d’auteur provenant de ces outils.

La solution de Sweep consiste à inviter les utilisateurs à examiner et à modifier eux-mêmes tout code généré avant d’apporter des modifications à la base de code principale cible.

« Les principaux défis auxquels sont confrontés les outils de développement de l’IA concernent la fiabilité et la gestion de bases de code volumineuses », a déclaré M. Zeng. « Nous utilisons nos connaissances sur les méthodes anciennes et récentes pour rendre Sweep robuste.

Sweep facture ses services à un prix assez élevé : 480 dollars par siège et par mois. (En revanche, les niveaux professionnels de GitHub Copilot et d’Amazon CodeWhisperer coûtent environ 20 dollars par utilisateur et par mois). Mais cela n’a apparemment pas dissuadé les clients. M. Zeng affirme que Sweep, avec un budget plutôt modeste de 2,8 millions de dollars, dispose de suffisamment de capitaux provenant de sa clientèle pour « assurer la pérennité de l’entreprise ».

« L’argent frais servira à agrandir notre équipe au cours de l’année à venir, qui passera de deux à cinq employés », poursuit-il. « Nous allons continuer à nous concentrer sur Python et à nous améliorer dans tous les domaines de la dette technique, qu’il s’agisse des tests unitaires, de la refactorisation ou de la gestion des tâches restantes dans le code.

IA