Récemment, l'outil de programmation IA Cursor a connu un succès fulgurant, devenant rapidement un sujet central dans le monde de la programmation et de l'intelligence artificielle. Cursor, un éditeur de code basé sur VS Code, offre de nombreuses fonctionnalités puissantes pour la programmation assistée par IA, suscitant l'enthousiasme des développeurs.

Récemment, le célèbre animateur de podcast Lex Fridman a eu une conversation approfondie avec les quatre membres fondateurs de l'équipe Cursor, discutant de leur parcours innovant et de leurs projets futurs.

L'histoire de Cursor remonte à 2020, lorsque OpenAI a publié un article sur les pertes d'échelle. Cet article a suscité beaucoup d'espoir quant à l'avenir de l'apprentissage automatique. Il suggérait que, avec plus de ressources de calcul et de données, les performances des modèles s'amélioreraient.

Cette idée a inspiré les membres de l'équipe à imaginer comment l'IA du futur pourrait aider les travailleurs du savoir de tous les secteurs à améliorer leur efficacité. Fin 2022, l'équipe Cursor a obtenu un accès anticipé à GPT-IV, ce qui leur a fait réaliser que les prédictions théoriques précédentes devenaient réalité. Ce moment a stimulé une vision plus ambitieuse : ils croient que toutes les activités de programmation seront réalisées à l'aide de ces puissants modèles.

image.png

L'un des points forts de Cursor est sa fonction unique de différentiel de code. Lorsque vous modifiez du code dans l'éditeur, le modèle met en évidence les parties modifiées en rouge et en vert, permettant à l'utilisateur de voir clairement les ajouts et les suppressions de code.

Pour optimiser la fonction de complétion automatique, Cursor a également conçu une interface diff rapide afin de permettre aux développeurs d'obtenir des informations plus efficacement lorsqu'ils ont besoin de lire rapidement du code. Après plusieurs essais, l'équipe a trouvé la meilleure conception d'expérience utilisateur, rendant les suggestions de code à la fois intuitives et non distrayantes.

Pour parler de la puissance de Cursor, il faut mentionner la technologie d'apprentissage automatique qui le sous-tend. Cursor est en fait un ensemble intégré de plusieurs modèles personnalisés et de pointe, en particulier ses fonctions Tab et Apply, qui sont le fruit d'un réglage fin minutieux.

Bien que ces modèles soient performants pour générer des suggestions de modifications de code, ils font souvent des erreurs lorsqu'ils traitent de gros fichiers en pratique. Pour améliorer ce problème, Cursor a adopté une stratégie : faire d'abord générer au modèle un schéma de modification de code approximatif, puis utiliser un autre modèle pour appliquer ces modifications au fichier réel. Cela améliore non seulement l'efficacité des modifications de code, mais permet également au modèle d'utiliser moins de jetons lors de la génération de code, réduisant ainsi la latence et les coûts.

Lorsqu'il s'agit d'améliorer la vitesse de traitement de Cursor, l'équipe a présenté un concept appelé « édition spéculative ». Grâce à cette technique, le modèle peut traiter plusieurs jetons à la fois au lieu de les générer un par un. La méthode traditionnelle consiste à utiliser un petit modèle pour prédire le code, puis un grand modèle pour le valider, mais l'équipe Cursor a constaté qu'en introduisant directement des fragments de code source dans le modèle, on obtient souvent des retours plus rapides. Enfin, lorsque le texte généré par le modèle diffère du code source, il génère de nouveaux jetons pour la mise à jour.