Un bug dans la caisse de la cafétéria
La cafétéria du lycée a un petit programme qui additionne un panier. Un élève achète des chips, un jus et une pomme, et la caisse affiche 35 pence. C'est faux. Tu pourrais lire le code et trouver le bug toi-même. Aujourd'hui, tu demandes de l'aide à un agent de code IA, et tu vérifies son travail.
À la fin de cette leçon
Remarque
Je peux utiliser un agent de code pour corriger un bug et vérifier moi-même la correction.
Mots clés
- Agent de code : un programme qui lit et modifie du code à ta place.
- Modèle : l'IA qui écrit les réponses de l'agent.
- Prompt : ce que tu demandes à l'agent de faire.
- Test : un petit programme qui vérifie que ton code donne la bonne réponse.
- Permission : l'agent te demande avant de changer quelque chose.
Avant de commencer
Remarque
Appuie sur Démarrer le lab dans la barre en haut de cette leçon et attends qu'il indique qu'il tourne. Le lab est un seul service appelé agent, et le terminal l'atteint par ce nom. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de ton lab, l'une après l'autre dans la même session. Pour les suivre, ou pour taper tes propres commandes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.
1. L’agent est-il prêt ?
L'agent est installé à chaque démarrage du lab. Cette commande affiche installing pendant l'installation et ready quand elle est finie. Relance-la jusqu'à lire ready.
docker exec agent cat /tmp/agent/statusAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
2. Lancer d’abord les tests
Avant de changer quoi que ce soit, trouve ce qui ne va pas. Le projet a cinq tests. Quatre réussissent et un échoue : a basket adds up attendait 180 et a obtenu 35. Note quel test a échoué. Tu en auras besoin plus tard.
docker exec -w /home/node/project agent node --testAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
3. Demander à l’agent d’expliquer
Un agent peut lire tout un projet. Ici, tu poses une question, et rien d'autre. opencode run pose une seule question et affiche la réponse. Lis-la : l'agent voit-il que la boucle ne garde que le dernier prix ?
docker exec -w /home/node/project agent opencode run "Explain what the total function in shop.js does, in three short sentences. Do not change any file."Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une erreur courante
Attention
Beaucoup de gens croient que la réponse d'un agent est forcément juste parce qu'elle semble sûre d'elle. Elle peut être fausse tout en paraissant sûre. Ne fais confiance à une modification que si tu as lancé les tests toi-même et lu la ligne qu'il a changée.
4. Laisser l’agent corriger, avec ton accord
Cette commande ouvre l'écran de l'agent dans ton terminal. Tape : Fix the bug in total in shop.js so the tests pass. Do not change shop.test.js. (tape-le en anglais, exactement comme ici). Quand il demande à modifier un fichier, lis d'abord la modification, puis autorise-la. Quand il a fini, appuie deux fois sur Ctrl+C pour le fermer.
docker exec -it -w /home/node/project agent opencodeAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
5. Vérifier toi-même
Relance maintenant les tests : les cinq doivent réussir. Lance ensuite la caisse. Le panier de chips, jus et pomme doit coûter £1.80, et la monnaie sur £5 doit être de £3.20. Le programme écrit les prix en livres sterling (£), avec un point.
docker exec -w /home/node/project agent node --testAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
docker exec -w /home/node/project agent node shop.jsAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Questions auxquelles répondre
- Quel test a échoué avant la correction, et qu'attendait-il ?
- Quelle ligne l'agent a-t-il changée, et pourquoi l'ancienne ligne était-elle fausse ?
- Pourquoi as-tu lancé les tests toi-même après que l'agent a dit qu'il avait fini ?
- Que ne faut-il jamais taper dans un prompt ?
Pour les enseignants
Astuce
Cette leçon est un petit exemple de leçon travaillée dans un lab : les étapes et les boutons Exécuter sont la leçon, et le lab est la copie personnelle de chaque élève. Le lab est un seul service avec un agent de code IA à côté, et son modèle est celui de la plateforme, à Londres. Points clés : 1. Un agent lit et modifie du code à votre place. 2. Lancez les tests avant et après chaque modification. 3. Lisez chaque modification avant de l'autoriser. L'erreur à guetter : l'élève qui croit l'agent parce qu'il semble sûr de lui. Demandez-lui de vous montrer le test qui réussit. L'élève rend les tests avant et après, la ligne modifiée et ses réponses. Copiez-la dans votre propre module et modifiez-la, ou construisez-en une de zéro avec le menu Lab du créateur de leçons.