Skip to main content

Bonnes pratiques pour utiliser l’IA dans le cycle de vie du développement logiciel

Écrit par

Frank Fischer

blog feature ai

19 juillet 2023

0 minutes de lecture

L’IA est devenue un sujet brûlant à la suite des récents gros titres sur ChatGPT, une IA basée sur un grand modèle de langage (LLM) dotée d’une interface simple. Depuis, le secteur de l’IA est en pleine effervescence : plusieurs acteurs majeurs rivalisent pour proposer des modèles toujours plus grands, performants et polyvalents. Microsoft, NVidia, Google, Meta et des projets open source ont tous publié une liste de nouveaux modèles.

En fait, une note interne de Google divulguée laisse penser que ces modèles seront bientôt omniprésents et accessibles à tous.

Graphique à bulles comparant la taille des modèles de langage en mars 2023. Les cercles sont proportionnels au nombre de paramètres et les modèles indiqués comprennent MT-NLG, PaLM, GPT-4 et LLaMA.

Source : Dr Alan D. Thompson, LifeArchitect.ai (mai 2023), https://s10251.pcdn.co/wp-content/uploads/2023/03/2023-Alan-D-Thompson-AI-Bubbles-Rev-7b.png

En tant que personne très active dans le domaine de l’IA depuis de nombreuses années, je trouve cet intérêt du public extrêmement stimulant ! Mais je trouve aussi que de nombreux articles d’actualité sont, eh bien, quelque peu préoccupants. L’IA est une technologie formidable, mais après avoir vu des étudiants se faire prendre à rendre des devoirs rédigés par l’IA, et même un avocat citer des affaires fictives dans un mémoire judiciaire, il est important que nous comprenions tous que l’IA n’est pas une solution miracle : c’est un outil. Et les outils peuvent tomber en panne, même les plus sophistiqués, conçus avec des technologies de pointe.

Dans cet article, nous verrons comment l’IA peut améliorer le cycle de vie du développement logiciel (SDLC), ainsi que les écueils d’une intégration aveugle de l’IA à vos processus existants.

IA et développement logiciel : le bon et le moins bon

Intégrer l’IA à vos produits peut les démarquer (ne serait-ce qu’avec quelques gadgets), mais l’appliquer au SDLC (développement, surveillance, gestion, etc.) peut véritablement changer la donne lorsque vous cherchez à prendre l’avantage sur vos concurrents. Voici quelques exemples :

  1. Efficacité : les outils basés sur l’IA peuvent traiter rapidement d’énormes volumes de code ou de fichiers journaux.

  2. Sécurité et qualité du code améliorées : avec les bons outils, l’IA peut détecter des problèmes et proposer instantanément des correctifs possibles.

  3. Innovation accrue dans le code : les suggestions de code peuvent apporter de nouvelles idées et différentes façons de résoudre un problème.

  4. Accélération des processus : l’IA peut accélérer le processus en préparant les informations nécessaires à la prise de décision et en fournissant des éléments (comme des extraits de code), afin que les équipes n’aient plus qu’à passer à l’action.

  5. Réduction de la charge cognitive : l’IA peut aider les personnes à comprendre plus rapidement une situation qui leur est inconnue, et ainsi leur faciliter le travail.

Mais un nouvel outil de productivité s’accompagne de nouveaux risques et défis :

  1. Fuites de données : des informations sensibles peuvent être divulguées accidentellement si elles sont fournies à un outil qui utilise les requêtes pour continuer à entraîner ses modèles.

  2. Érosion des compétences : vos équipes risquent de perdre leurs compétences si elles comptent trop sur l’IA pour obtenir des réponses ou des informations exactes.

  3. Hallucinations : les modèles d’IA (comme les LLM) peuvent avoir des « hallucinations » : ils produisent des arguments extrêmement convaincants, mais tout simplement faux.

  4. Suggestions inadaptées : si une IA est entraînée sur du code de mauvaise qualité, elle proposera de mauvais correctifs en se basant sur ses données d’entraînement.

  5. Développeurs improvisés : l’IA permet à des personnes ayant peu ou pas d’expérience ni de connaissances en programmation de produire du code. Le volume de code source devrait augmenter considérablement au cours des prochaines années. En tant que RSSI, responsable de l’ingénierie ou responsable du recrutement, vous devez vous y préparer.

  6. Violation des licences : la licence des données d’entraînement fait actuellement l’objet d’un vaste débat. Dans le pire des cas, le code produit par des modèles qui utilisent des licences copyleft serait lui aussi soumis au copyleft, ce qui signifierait que votre application deviendrait soudainement open source.

  7. Acteurs malveillants : même si ce risque n’est pas propre au SDLC, il est inévitable que les attaquants utilisent l’IA. Il existe des scénarios plus sophistiqués, comme l’empoisonnement des données (entraîner un système de détection des intrusions sur un schéma donné, de sorte qu’il ne reconnaisse plus ce schéma comme malveillant lorsqu’il se reproduit), mais ils restent rares. En pratique, on peut s’attendre à ce que le niveau d’expertise nécessaire pour concevoir et mener une attaque de meilleure qualité ait considérablement baissé. Nous verrons donc probablement des attaques plus fréquentes et plus sophistiquées.

Adopter de nouveaux outils est stimulant, mais parfois aussi intimidant. Pour simplifier l’intégration de l’IA à votre SDLC, nous avons créé un aide-mémoire présentant huit bonnes pratiques pour vous aider à garder le cap.

Aide-mémoire Snyk présentant huit bonnes pratiques pour utiliser l’IA dans le cycle de développement logiciel, notamment en matière de supervision, de politiques, d’outils, d’adoption et de données.

Téléchargez l’aide-mémoire dès aujourd’hui pour en savoir plus, puis commencez votre essai gratuit ou réservez une démo avec un expert en sécurité de Snyk pour découvrir comment DeepCode AI peut donner un coup d’accélérateur à votre SDLC.

Prenez en main la sécurité de l’IA avec Snyk

Découvrez comment Snyk aide à sécuriser le code généré par l’IA de vos équipes de développement, tout en offrant aux équipes de sécurité une visibilité et des contrôles complets.