Unité 12 / 12

Outils de codage IA et intégration de flux de travail

Gains :

  • Possibilité de mapper l'achèvement de l'éditeur, l'assistant de chat, l'agent CLI et les catégories d'automatisation CI aux tâches
  • Capacité à ajuster le niveau d'autonomie en fonction du risque et à appliquer la discipline « planifier d'abord » aux agents CLI
  • Capacité à transformer l'utilisation de l'IA en un système d'équipe basé sur un outil validé, une porte de vérification, la transparence et la responsabilité

Jusqu'à présent, nous avons appris à utiliser l'IA dans des tâches individuelles (codage, révision, tests, débogage). Dans cette dernière unité, nous rassemblons les éléments : apprendre à connaître différents outils de codage d'IA, faire correspondre le bon outil à la bonne tâche et les intégrer en toute sécurité dans votre flux de développement quotidien, de l'éditeur au contrôle de version, du pipeline CI/CD à la gouvernance d'équipe. L’objectif est de transformer l’habitude désordonnée de « demander à l’IA de temps en temps » en un système de travail cohérent et vérifiable.

Nous couvrons les types de véhicules avec des catégories neutres (les noms de produits spécifiques changent rapidement ; c'est ce que fait la catégorie qui compte). Chaque catégorie a un « sweet spot » et un profil de risque ; La maîtrise, c'est savoir quelle autonomie accorder à quelle tâche.

Catégories d'outils de codage d'IA

1. Achèvement dans l'éditeur. Plugins qui suggèrent des lignes/blocs au fur et à mesure que vous tapez dans votre IDE (l'environnement de développement dans lequel vous écrivez du code). Point idéal : vitesse de flux, code passe-partout. Risque : contexte étroit, accepter la suggestion sans réfléchir.

2. Assistant de discussion/panneau latéral. Interface de discussion intégrée dans l'EDI avec visibilité sur une partie de votre base de code. Sweet spot : description, refactor, tests, analyse de bugs. Risque : limité au contexte que vous donnez, nécessite une vérification.

3. Agents CLI (outils d'agent). Les outils qui s'exécutent à partir de la ligne de commande peuvent lire et modifier plusieurs fichiers, exécuter des commandes et exécuter des tâches en plusieurs étapes par eux-mêmes. Sweet spot : modifications multi-fichiers, tâches répétitives, travaux de type "ajouter cette propriété". Risque : grande autonomie = fort impact ; Si rien n’est fait, cela produit des changements importants et difficiles à vérifier.

4. Intégration ligne/automatisation. Bots CI (intégration continue) qui laissent des commentaires de révision automatiques sur les PR, suggèrent des tests ou produisent des journaux de modifications. Sweet spot : première passoire sans fatigue, consistance. Risque : bruit, fausse confiance.

Astuce : à mesure que l’autonomie augmente, le contrôle devrait également augmenter. Parce que l'achèvement de l'éditeur est petit et instantané, il est légèrement supervisé ; La modification multi-fichiers d'un agent CLI doit être examinée avec autant d'attention, sinon plus, qu'un PR humain.

Étape par étape : intégrer l’IA dans le workflow

  1. Mappez la tâche à l’outil. Petit ajout in-stream → achèvement ; comprendre/refactoriser/tester → discuter ; travail multi-fichiers et répétitif → agent CLI ; premier filtre continu → intégration CI.
  2. Choisissez le niveau d'autonomie. De quelle liberté dispose l’agent ? Suggestion en lecture seule ou modification de fichier + exécution de commande ? Ajustez en fonction du risque.
  3. Nourrissez le contexte. Introduire de façon permanente les règles du projet (style, architecture, « à ne pas faire ») dans l'outil ; Utilisez un fichier d'instructions de projet au lieu de l'expliquer encore et encore.
  4. Maintenir les portes de vérification. Le changement de l’IA est comme le changement humain : il passe par la compilation, les tests, l’examen et (si cela est critique) l’approbation d’experts. L'ouverture de l'IA par PR ne contourne pas l'approbation.
  5. Mesurez et ajustez. Observez ce qui accélère réellement, là où le fardeau de la correction augmente ; Éliminez les utilisations qui ne fonctionnent pas.

Trois mini-étuis

Cas 1 : L'agent CLI gérait le renommage de plusieurs fichiers. Une équipe renommerait un concept réparti sur 60 fichiers. Ils ont confié la tâche à un agent CLI, ont d'abord demandé un plan, ont approuvé le plan, puis ont apporté la modification et ont exécuté l'intégralité de la suite de tests. L'agent 3 a raté un cas critique dans le dossier ; Les tests l'ont détecté, corrigé. Le travail, qui a duré environ 3 heures manuellement, a été réalisé en 50 minutes sous supervision.

Cas 2 – Une autonomie non contrôlée s’est retournée contre vous. Un autre développeur a demandé à un agent « d'améliorer ce module » et l'a publié ; L'agent a modifié 18 fichiers et ajouté deux dépendances. Le changement était si vaste qu’il n’a pas pu être révisé et a dû être retiré. Leçon : donnez aux agents une portée étroite, des critères d'acceptation clairs et une discipline « planifier d'abord, faire plus tard ».

Cas 3 — Le robot d'examen CI est devenu le premier filtre. Une équipe a construit un robot qui laisse des commentaires automatisés d'examen de l'IA sur les PR. Une fois que le robot a détecté des omissions de vérification nulle et des problèmes de style, les réviseurs humains ont pu consacrer leur temps à la logique métier. Cependant, l’équipe a précisé que le robot ne fournissait pas « d’approbation » : au moins une approbation humaine était toujours requise. Pour réduire le bruit, ils ont réglé le bateau pour ne laisser que des bruits d'intensité élevée/moyenne.

Quatre modèles copiables

Discipline « Planifier d'abord » pour l'agent CLI :

Tâche : {{tâche claire et étroite}}Critères d'acceptation : {{résultat mesurable}}Contrainte : travailler uniquement sur {{le répertoire/fichiers suivants}} ; ajout d'une nouvelle dépendance. Présentez d'abord un plan SANS CHANGEMENT : quels fichiers, ce qui va changer, quels tests exécuter. Attendez que j'approuve le plan. Appliquez-le ensuite étape par étape, en exécutant des tests à chaque étape.

Fichier d'instructions du projet (contexte persistant vers les outils) :

Règles persistantes pour les outils d'IA dans ce projet : - Langue/version : {{...}}. Style : {{...}}.- Contrainte architecturale : {{e.g. direction entre les couches}}.- JAMAIS : intégration de secrets, utilisation de données de production, {{bibliothèques interdites}}.- Chaque modification doit être testable ; Changer la signature de l'API publique SANS demander. - En cas de doute, arrêtez-vous et demandez.

Décision de cartographie tâche-outil :

Je définis la tâche suivante : {{task}}. Avec quelle classe d'outils dois-je faire cela avec : (a) l'achèvement de l'éditeur, (b) l'assistant de discussion, (c) l'agent CLI, (d) l'automatisation CI ? Écrivez votre justification, votre risque et le niveau d'autonomie recommandé (simple suggestion / changement de fichier / exécution de commande).

Code de conduite du bot d’examen CI :

Ne laissez que les résultats de gravité ÉLEVÉE et MOYENNE comme commentaires dans l'examen des relations publiques. Chaque constat : catégorie, gravité, correction suggérée. Regroupez les notes au niveau des préférences de style dans un commentaire récapitulatif unique et distinct. Vous NE CONSENTEZ PAS ; l’approbation humaine est requise.

Invite faible/Invite forte

Faible : (à l'agent CLI) "Améliorer le module de paiement."
Strong : (À l'agent CLI) "Exécuter uniquement sous src/payments/. Tâche : Extraire la logique de validation récursive de la fonction remboursé() dans un seul assistant ; le comportement et les signatures ne changent pas. Présentez d'abord le plan et attendez mon approbation ; puis exécutez et exécutez le package tests/paiements/. Ajoutez une nouvelle dépendance. "

La version forte restreint la portée, définit des critères et des contraintes d'acceptation et impose la discipline du « planifier d'abord ». Les vagues demandes de « faire mieux » sont à l’origine de changements vastes et incontrôlables.

classe de véhicule

Ce pour quoi il est le meilleur

autonomie

poids de contrôle

Achèvement de l'éditeur

Petit ajout in-stream

faible

Lumière (lecture instantanée)

assistant de discussion

Comprendre, tester, refactoriser

moyen

Moyen (vérification de sortie)

Agent CLI

Multi-fichiers, récursif

haut

Lourd (plan + revue complète)

Automatisation des CI

Premier filtre continu

moyen

Moyen (règle + approbation humaine)

Gouvernance d’équipe : de la compétence individuelle au système partagé

Bien utiliser l’IA sur une base individuelle est un début ; la vraie maturité est un système cohérent au niveau de l’équipe. Ce système repose sur plusieurs piliers : liste des outils approuvés (quels outils peuvent être utilisés avec quelles données - de l'unité 10), portes de vérification (le changement de l'IA passe par les mêmes portes de construction/test/révision - à partir de l'unité 11), transparence (indiquer qu'un changement est alimenté par l'IA fournit une traçabilité si nécessaire) et clarté de la responsabilité (la personne qui signe et est responsable est claire). Ce cadre limite les risques tout en maintenant la vitesse et garantit que les nouveaux membres de l'équipe travaillent avec la même discipline.

Attention : plus l'autonomie d'un outil, en particulier les agents CLI capables de modifier des fichiers et d'exécuter des commandes, est élevée, plus il limite étroitement son accès à l'environnement de production, aux données confidentielles et aux opérations difficiles à annuler. Liez les commandes destructrices (suppression définitive, déploiement) à l’approbation humaine.

Erreurs courantes

  • Incompatibilité tâche-moyens. Essayer de faire un travail multi-fichiers avec complétion de l'éditeur ou une petite pièce jointe avec un agent lourd.
  • Libération de l'agent. Les tâches des agents confiées avec une portée étroite et sans « planifier d'abord » produisent des changements non examinés.
  • Assouplir les portes de vérification pour l’IA. « L’IA l’a fait, passons à autre chose » est l’exception la plus dangereuse ; Les portes sont les mêmes pour tout le monde.
  • Donner le contexte manuellement à chaque fois. Ne pas écrire les règles du projet dans un fichier d'instructions permanent produit des incohérences et des duplications.
  • Confondre l'approbation du bot CI avec l'approbation humaine. Un bot est un filtre ; L’approbation humaine responsable est obligatoire.

En résumé

Les outils de codage d'IA se répartissent en quatre catégories principales : la complétion de l'éditeur, l'assistant de chat, les agents CLI et l'automatisation CI. La maîtrise, c'est adapter la tâche au bon outil et au bon niveau d'autonomie ; À mesure que l’autonomie augmente, le contrôle augmente également. Donnez aux outils un contexte de projet persistant, imposez une discipline « planifier d'abord » aux agents multi-fichiers et faites passer le changement de l'IA par les mêmes portes de vérification que le changement humain. Compétence individuelle ; Transformez-le en un système d'équipe construit sur une liste d'outils approuvés, des portes de vérification, la transparence et la clarté des responsabilités. L'IA est un multiplicateur de vitesse de bout en bout ; La personne qui signe et rend le compte est toujours une personne compétente.

Tâche de candidature

Énumérez trois tâches réelles que vous effectuerez la semaine prochaine. Utilisez le modèle de « décision d’appariement tâche-véhicule » pour chacun afin de justifier la classe de véhicule et le niveau d’autonomie que vous choisirez. Exécutez ensuite une tâche précise pour un agent CLI (ou un assistant de chat) avec une discipline « planifier d'abord » : approuvez le plan, appliquez-le, exécutez les tests et examinez le changement comme un PR humain. Enfin, rédigez une « règle d'utilisation de l'IA » en 5 points pour votre équipe (outils approuvés, règle de données, porte de vérification, limite d'autonomie, responsabilité).

liste de contrôle

  • [ ] Je peux distinguer les catégories d'outils de codage d'IA et le point idéal de chacune.
  • [ ] Je mappe la tâche à la bonne classe de véhicule et au niveau d'autonomie approprié.
  • [ ] Je donne un contexte de projet permanent (fichier d'instructions) aux outils.
  • [ ] J'applique une portée étroite et une discipline « planifier d'abord » aux agents CLI.
  • [ ] Je fais passer les modifications de l'IA par les mêmes portes de vérification que les modifications humaines.
  • [ ] Je plaide pour un outil validé, une règle de données, un cadre de transparence et de responsabilité au niveau de l'équipe.

Examen de module

1. Que fait réellement le grand modèle de langage sous-jacent d’un assistant de codage lorsqu’il produit du code ?

  • A) Prédit de manière schématique la continuation la plus probable en fonction du contexte donné ✔
  • B) Garantit le résultat correct en compilant et en exécutant réellement le code
  • C) Il scanne le code en direct sur Internet et copie le code le plus précis.
  • D) Comprend la logique du code comme un ingénieur humain et comprend l'intention

Clarification : LLM ne « comprend » pas le code comme un humain ; Il génère la continuation la plus probable vers le contexte donné, sur la base des modèles qu'il apprend à partir d'un très grand pool de texte et de code. Par conséquent, la qualité du résultat dépend directement de la qualité du contexte et des instructions que vous donnez, et chaque résultat doit être validé.

2. Comment appelle-t-on cela lorsque l’IA concocte de manière convaincante une fonction ou une bibliothèque inexistante, et quel est le seul véritable antidote ?

  • A) C'est ce qu'on appelle une erreur de compilation ; L'antidote est un équipement plus puissant
  • B) C’est ce qu’on appelle une hallucination ; L'antidote est de vérifier le code et chaque API utilisée ✔
  • C) C'est ce qu'on appelle la régression ; L'antidote est de redémarrer le modèle
  • D) C'est ce qu'on appelle un débordement de contexte ; L'antidote est de raccourcir l'invite

Description : C'est ce qu'on appelle l'hallucination et provoque l'un des bugs les plus coûteux des logiciels. Le seul véritable antidote est la vérification : confirmer que chaque fonction, API et package utilisé existe réellement et que le code fonctionne. Le ton confiant du modèle ne constitue pas une preuve d’exactitude.

3. Quelle approche améliore le plus la qualité et la cohérence des résultats lors de la génération de code avec l'IA ?

  • A) Publier le modèle en disant « écrivez-moi ceci » sans donner de contexte
  • B) Écrire l'invite la plus longue et la plus sophistiquée possible
  • C) Spécifiez et donnez des exemples de contrat d'entrée/sortie, de cas extrêmes, de version et de style ✔
  • D) Combiner le code généré directement sans le lire

Explication : Déterminer les types d'entrées/sorties (contrat) de la fonction, les cas extrêmes, la contrainte de langage/version et de style et donner un exemple au modèle permet de passer de la prédiction à la précision. Les requêtes « écrivez-moi ceci » sans contexte produisent un code différent à chaque fois et contournent souvent les cas extrêmes.

4. Lors de l'exploration d'une base de code étrangère avec l'IA, le nom d'une fonction peut être « validateAndSave », mais le résumé de l'IA peut être incorrect. Quelle est la bonne approche ?

  • A) Confiance totale dans le résumé de l'IA car le nom est explicite
  • B) Changer la fonction directement sans la lire
  • C) Décider simplement en regardant le nom de la fonction
  • D) Traitez la description de l'IA comme une hypothèse et vérifiez les affirmations critiques ligne par ligne dans le code ✔

Explication : l'IA peut examiner le nom dans le code et vous dire « à quoi cela ressemble », mais en réalité, la logique peut être différente (voire même inversée). L’explication de l’IA est donc une hypothèse ; Les réclamations critiques, en particulier celles concernant la sécurité, l'autorité ou les flux financiers, doivent être vérifiées visuellement sur les lignes pertinentes.

5. Quel est le plus grand danger à dire « L'IA a regardé, c'est clair » lors de la révision du code assistée par l'IA ?

  • A) L’IA peut produire des faux négatifs ; Les vraies erreurs manquées créent une fausse confiance ✔
  • B) La révision de l'IA est trop lente et fait donc perdre du temps
  • C) L'équipe ne comprend pas car l'IA ne commente qu'en anglais
  • D) Les relations publiques ne convergent pas car l'IA surinterprète toujours

Explication : l'IA produit à la fois des faux positifs (signalant un problème là où il n'existe pas) et des faux négatifs (manquant le vrai bug). Les faux négatifs sont silencieux ; Les erreurs les plus dangereuses sont celles qui ne sont pas du tout mentionnées dans la revue. L’IA est donc un premier filtre, pas une approbation ; La décision de fusion appartient à une personne responsable.

6. Quel est le piège le plus insidieux qui se produit lorsque vous donnez simplement à l'IA le code et imprimez des tests ?

  • A) L'IA écrit toujours trop de tests et gonfle la base de code
  • B) L'IA teste le comportement actuel (peut-être erroné) du code comme étant « correct » et corrige le bug ✔
  • C) L'IA supprime automatiquement le code lors de l'écriture des tests
  • D) L'IA écrit des tests non seulement pour le chemin heureux, mais toujours pour les cas extrêmes

Explication : l'IA a tendance à examiner le code et à écrire des assertions qui testent le comportement actuel. Si le code est erroné dès le départ, l'IA corrige ce mauvais comportement comme étant « correct ». Par conséquent, les attentes du test doivent être écrites selon la règle requise (spécification), et non selon la sortie actuelle du code.

7. Qu'est-ce qui détermine le plus l'exactitude des hypothèses lors du débogage d'un bug avec l'IA ?

  • A) Avec quelle politesse l'invite est écrite.
  • B) Combien de fois la question a été posée à nouveau
  • C) Qualité des preuves fournies au modèle : message d'erreur complet, trace de pile, entrée et comportement attendu ✔
  • D) Dans quel thème de couleur le code est-il écrit ?

Explication : l'IA ne voit pas l'erreur comme vous ; Il ne connaît que les preuves que vous lui apportez. Compte tenu du message d'erreur complet, de la trace de la pile, du déclenchement de l'entrée et du comportement attendu, le modèle énumère les possibilités réelles ; S’il n’y a aucune preuve, il fait une supposition (hallucination) et vous mène sur la mauvaise voie.

8. Quelle est l’étape la plus critique avant de transmettre les journaux de production à l’IA pour analyse ?

  • A) Coller le journal tel quel, couvrant toute la journée
  • B) Convertissez d'abord le journal en majuscules
  • C) Organiser les lignes de journal par ordre alphabétique
  • D) Masquage des données personnelles et des secrets et affichage uniquement de la fenêtre correspondante ✔

Description : les journaux de production bruts contiennent l'adresse IP, l'e-mail, l'ID de session, le jeton et parfois un secret ouvert. Les intégrer dans un outil d’IA sans les masquer constitue une grave violation de la vie privée. De plus, le journal doit être filtré sur une fenêtre temporelle étroite ; Mais la première nécessité est de nettoyer les données sensibles.

9. Que faut-il faire si l'IA indique que deux événements se sont produits « simultanément » dans l'analyse du journal et en déclare un comme cause première ?

  • A) Ignorer la corrélation comme causalité et vérifier l'affirmation avec des métriques et du code ✔
  • B) Accepter la cause comme définitive car l'IA établit une relation temporelle
  • C) Redémarrage immédiat du premier composant accusé
  • D) Supprimer complètement les journaux et les collecter à nouveau

Explication : Le piège le plus courant dans l'analyse des logs est de confondre corrélation et causalité. La relation temporelle établie par l’IA est un indice, pas une preuve. La véritable causalité nécessite un timing, un mécanisme et, si possible, une répétabilité ; La réclamation doit être validée avec des métriques et du code.

10. Quelle est la règle d’or non négociable lors du refactoring avec l’IA et qu’est-ce qui la sécurise ?

  • A) Le code doit être plus court ; Le nombre de lignes le garantit
  • B) Aucun changement de comportement ; les tests qui capturent le comportement actuel garantissent cela ✔
  • C) Le code contient plus de commentaires ; L’IA le garantit
  • D) Réécriture de l'intégralité du fichier en une seule fois ; l'agent le garantit

Explication : La refactorisation améliore la structure interne du code sans modifier son comportement externe ; La règle d’or est que le comportement reste constant. Ce qui garantit cela, ce sont les tests : un testnet qui capture le comportement actuel avant de le modifier est configuré et exécuté après chaque étape. Refactoriser sans testnet est un pari.

11. Quelle est la couche de la production documentaire que l’IA ne peut pas connaître et qu’il est dangereux d’inventer ?

  • A) Comment exécuter les étapes d'installation
  • B) Liste des paramètres d'une fonction
  • C) Justification du « pourquoi » une décision de conception a été prise de cette façon ✔
  • D) Dans quelle langue le code est-il écrit ?

Description : l'IA peut extraire la couche « quoi/comment » (que fait la fonction, comment est-elle configurée) du code ; mais il ne peut pas connaître la couche « pourquoi » (la justification de conception pour une décision, la raison pour une valeur limite). Une « raison » inventée est plus dangereuse que l’absence de justification ; Le propriétaire du code doit ajouter cette couche.

12. Que doit faire un développeur s'il souhaite coller un fichier de configuration contenant une clé API active dans un outil d'IA non approuvé tout en résolvant un bug urgent ?

  • A) Pour plus de rapidité, collez le fichier tel quel puis supprimez le chat
  • B) Ajoutez une note « confidentielle » à la fin du fichier et envoyez-la
  • C) Laissez la clé et changez uniquement le nom du fichier
  • D) Supprimer/masquer les secrets et donner uniquement le contexte non sensible nécessaire ✔

Divulgation : les secrets, les données personnelles et les actifs confidentiels ne doivent jamais être divulgués par des moyens non approuvés ; L’urgence ne suspend pas cette ligne rouge. La bonne approche consiste d’abord à extraire/masquer les secrets et à donner uniquement le contexte nécessaire et non sensible. Si un secret persiste, la première chose à faire est de tourner cette clé immédiatement.

13. Un code généré par l’IA réussit les tests et s’exécute en production. Cela prouve-t-il que le code est sûr ?

  • A) Non ; « fonctionner » ne signifie pas sécurisé, la sécurité nécessite une couche d'authentification distincte ✔
  • B) Oui ; Le code qui réussit le test est sûr par définition
  • C) Oui ; L'exécuter en production élimine toutes les vulnérabilités
  • D) Non ; mais la sécurité n'a d'importance que si le code est lent

Clarification : « Travailler » n'est pas la même chose que « sécurisé ». Même si le code contient une vulnérabilité telle qu'une injection SQL, il peut réussir les tests et fonctionner sans problème ; La vulnérabilité n'est révélée que lorsqu'un attaquant la trouve. Par conséquent, outre l’exactitude, les examens et analyses axés sur la sécurité, tels que SAST, doivent être effectués en tant que couche distincte.

14. Quelle est la discipline la plus sûre lorsque l'on confie une tâche multi-fichiers à un agent CLI (outil autonome capable de modifier des fichiers et d'exécuter des commandes) ?

  • A) Dire à l'agent « améliore ce module » et lui donner toute liberté
  • B) Donner une portée et des critères d'acceptation étroits, demander d'abord un plan, l'approuver, le mettre en œuvre étape par étape et exécuter les tests ✔
  • C) Fusionner directement toutes les modifications de l'agent sans les consulter
  • D) Donner à l'agent un accès illimité à l'environnement de production et aux données confidentielles

Explication : À mesure que l’autonomie augmente, le contrôle devrait également augmenter. Donner à l'agent un périmètre restreint et des critères d'acceptation clairs, en demandant d'abord un plan sans modifications, en approuvant le plan, puis en le mettant en œuvre étape par étape et en effectuant des tests à chaque étape ; Cela empêche les changements généraux, non révisables et qui doivent être annulés.

15. Qui est responsable du code généré par l'IA dans des logiciels critiques pour la sécurité (par exemple, paiement ou authentification) ?

  • A) Puisque le code provient de l'IA, il se trouve chez le fournisseur du véhicule
  • B) Si l’IA est suffisamment développée, personne ne l’a fait ; pas besoin de vérifier
  • C) L'équipe/ingénieur qui examine, assemble et distribue le code ; L'IA ne remplace pas le consentement ✔
  • D) Seule la personne qui rédige l'invite, pas celle qui la révise

Description : L'IA est un multiplicateur de vitesse et un générateur de plans ; ne peut en assumer la responsabilité. La responsabilité de toute erreur, vulnérabilité ou violation découlant du code en production incombe à l'équipe qui révise, assemble et distribue ce code. Dans les zones critiques pour la sécurité, les résultats de l'IA ne remplacent en aucun cas l'examen et l'approbation par un ingénieur qualifié.