[Tweet] <blockquote class="twitter-tweet"><p lang="en" dir="ltr">3.5 Sonnet in Cursor! <a href="https://t.co/9Nc5MCuRSV">pic.twitter.com/9Nc5MCuRSV</a></p>— Cursor (@cursor_ai) <a href="https://twitter.com/cursor_ai/status/1803861960150466680?ref_src=twsrc%5Etfw">June 20, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> [/Tweet]
Cursor est un éditeur de code qui offre aux développeurs de multiples fonctionnalités basées sur l’intelligence artificielle. La startup a levé plus de 400 millions de dollars depuis sa création en 2022 et travaille avec différents modèles, dont ceux d'Anthropic et d'OpenAI.
Le PDG Michael Truell le décrit comme « Google Docs pour les programmeurs », un simple éditeur de code avec des modèles d’intelligence artificielle intégrés qui peuvent écrire, prédire et manipuler du code en n'utilisant rien d'autre qu'une invite de texte. En d’autres termes, Cursor permet de créer une application sans écrire de code.
Truell souligne que le but avec Cursor est l’automatisation de 95 % du travail d'un ingénieur afin qu'il puisse se concentrer sur les aspects créatifs du codage. Ces derniers peuvent ainsi « mettre sur pied des systèmes beaucoup plus complexes que ce que des équipes puissantes peuvent construire aujourd'hui. »
Des intervenants de la filière soulignent néanmoins qu’il ne faut pas s’attendre à des miracles même si l’outil est meilleur que l’association Visual Studio Code et CoPilot. « L’outil est bon pour les projets qui tiennent sur un seul fichier, mais difficile d’utilisation pour ceux avec plusieurs fichiers. De plus, il nécessite encore un codage manuel important », rapporte un développeur.
[Tweet] <blockquote class="twitter-tweet"><p lang="en" dir="ltr">Cursor is overrated.<br><br>My honest take after trying it:<br>- Basically VSCode + CoPilot, but better<br>- Good with single file tasks, struggles across multiple files<br>- Still requires significant manual coding<br><br>It is not as crazy as it appears when scrolling through X.<br>Already use VSCode… <a href="https://t.co/c9YzuFubYv">pic.twitter.com/c9YzuFubYv</a></p>— Robin Faraj (@robin_faraj) <a href="https://twitter.com/robin_faraj/status/1828313134714487045?ref_src=twsrc%5Etfw">August 27, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> [/Tweet]
Grosso modo, les outils de ce type permettent de gagner en productivité tout en introduisant un revers important : les risques de failles
Selon Harness, le code généré par l'intelligence artificielle est susceptible de tripler la charge de travail des développeurs dans l'année à venir. L'augmentation du volume de code livré accroît les risques de failles et de vulnérabilités si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués. Bien que neuf développeurs sur dix utilisent déjà des outils d'IA pour accélérer la livraison de logiciels, cette tendance nécessite une vigilance accrue à chaque étape du cycle de vie du développement logiciel (SDLC) pour prévenir les incidents de sécurité.
L'augmentation du volume de code généré par les outils d'intelligence artificielle pose un défi majeur en termes de sécurité et de gestion des vulnérabilités. Bien que l'automatisation et la génération de code puissent considérablement accélérer le processus de développement, elles introduisent également de nouveaux risques. Si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués à chaque étape du cycle de vie du développement logiciel, il devient presque inévitable que des failles passent inaperçues et soient déployées en production.
La rapidité avec laquelle le code est produit grâce à l'IA peut surpasser la capacité des développeurs à effectuer des tests approfondis et à assurer la sécurité de chaque ligne de code. Sans une infrastructure solide pour la détection et la correction des failles, les erreurs et les vulnérabilités peuvent s'accumuler, augmentant le risque d'exploits et de temps d'arrêt coûteux. La complexité accrue et la vitesse du développement exigent des outils de tests automatisés et des processus de sécurité intégrés pour compenser les limitations humaines.
Cette dépendance accrue aux outils d'IA pour la génération de code peut entraîner une réduction de la vigilance humaine, où les développeurs pourraient faire excessivement confiance aux suggestions de l'IA sans une vérification rigoureuse. Cette approche peut devenir dangereuse, car même les systèmes d'IA avancés peuvent générer du code défectueux ou vulnérable. Une approche équilibrée, combinant l'efficacité de l'IA avec une supervision humaine minutieuse, est essentielle pour garantir la qualité et la sécurité du code.
Les suggestions de code générées automatiquement peuvent accroître la productivité des développeurs et optimiser leur flux de travail en fournissant des réponses directes, en gérant les tâches de codage de routine, en réduisant la nécessité de changer de contexte et en conservant l'énergie mentale. Elles peuvent également aider à identifier les erreurs de codage et les failles de sécurité potentielles.
Martin Reynolds, directeur technique chez Harness, explique que l'IA générative a révolutionné le travail des développeurs en permettant de réaliser des projets qui auraient pris huit semaines en seulement quatre semaines. Cependant, avec l'augmentation du volume de code livré, le potentiel d'erreurs et de vulnérabilités croît également si les développeurs ne procèdent pas à des tests rigoureux. Bien que l'IA ne crée pas de nouvelles failles de sécurité, elle accroît la quantité de code traversant des failles existantes, augmentant ainsi le risque de vulnérabilités et de bugs, à moins que des efforts supplémentaires ne soient déployés pour tester et sécuriser le code.
Harness préconise une réponse basée sur davantage d'IA, utilisée pour analyser automatiquement les modifications de code, tester les failles et les vulnérabilités, évaluer l'impact des risques, et garantir la possibilité d'annuler instantanément les problèmes de déploiement. Il est crucial de maintenir des standards élevés de tests et de sécurité pour gérer les risques associés à l'augmentation du volume de code. Les organisations doivent investir dans des outils de tests automatisés, des audits de sécurité réguliers et des formations continues pour les développeurs afin de naviguer efficacement dans ce nouvel environnement technologique. L'équilibre entre l'innovation rapide et la rigueur en matière de sécurité est la clé pour tirer pleinement parti des bénéfices de l'IA sans compromettre la fiabilité et la sécurité des logiciels.
Source : Cursor
Et vous ?
Quel est votre avis sur l'utilisation des outils d'intelligence artificielle pour générer du code ? Quel impact cette approche est-elle susceptible d’avoir sur la filière dans les années à venir ? Les développeurs doivent-ils y voir une menace ou une opportunité ?
Comment les développeurs peuvent-ils s'adapter efficacement à l'augmentation du volume de code généré par l'intelligence artificielle sans compromettre la qualité et la sécurité des logiciels ?
Voir aussi :
Génération de code à l'aide de grands modèles de langage : 62 % du code généré contient des erreurs d'API, qui auraient des conséquences inattendues si le code était introduit dans un logiciel réel
Codegen, un outil d'IA qui facilite le passage de la conception au code, il peut aussi nuire à la créativité, à la curiosité et à l'apprentissage des développeurs