Ta mission
Tu construis en ce moment une serre automatisée avec Micro:bit. Tu vas jouer le rôle d'un expert-superviseur en programmation face à une intelligence artificielle générative (IAG). Ton défi : demander à l'IAG de t'expliquer et d'écrire la logique conditionnelle qui contrôle l'arrosage de ta serre — puis détecter ses erreurs et les corriger toi-même!
Étape A : Réactive ta mémoire (sans IAG)
Sur ta feuille de papier, réponds aux questions suivantes sans consulter l'IAG. C'est ton point de départ pour être capable de juger ses réponses ensuite.
- Dans MakeCode (blocs ou JavaScript), comment s'écrit une condition « si... alors... sinon »? Note la structure de base.
- Dans ton montage de serre, à quelle broche du bouclier le capteur d'humidité est-il branché? Quelle valeur analogique obtiens-tu quand le sol est sec? Quand il est humide?
- Quelle est la différence entre un signal analogique et un signal numérique? Donne un exemple de chacun dans ton projet.
- Si l'humidité lue par le capteur est un nombre entre 0 et 1023, que signifient selon toi une valeur élevée et une valeur basse?
- J'ai noté la structure d'une condition « si... alors » de mémoire.
- J'ai identifié la broche du capteur d'humidité dans mon montage.
- J'ai expliqué la différence entre signal analogique et numérique.
- J'ai interprété ce que représentent les valeurs 0 et 1023 du capteur.
Étape B : Formule ton hypothèse sur les biais de l'IAG
Avant de poser ta première question à l'IAG, prédis ce qu'elle pourrait faire comme erreur. Note tes prédictions sur ta feuille.
- L'IAG connaît-elle le bouclier KittenBot pour Micro:bit? Va-t-elle supposer un autre type de matériel?
- Va-t-elle écrire du code en JavaScript, en blocs ou dans un autre langage qu'elle invente?
- Selon toi, les valeurs de seuil qu'elle proposera (ex. : 600, 540) correspondront-elles à la réalité de ton capteur? Pourquoi?
- Penses-tu qu'elle comprendra qu'une valeur analogique élevée peut signifier un sol sec (selon le type de capteur)?
Note tes prédictions. Tu les vérifieras à la phase 3.
Étape A : Pose une requête vague à l'IAG
Commence par une question générale pour voir comment l'IAG répond «par défaut», sans contexte précis.
Lis attentivement la réponse et note tes observations :
- L'IAG a-t-elle précisé à quelle broche le capteur est branché?
- Les valeurs de seuil qu'elle propose (pour déclencher l'arrosage) sont-elles justifiées ou inventées?
- Le code est-il en JavaScript MakeCode, en blocs, ou dans un autre langage?
- L'IAG a-t-elle mentionné le servomoteur ou a-t-elle supposé un autre type d'actuateur (ex. : pompe, relais)?
- Le code pourrait-il être transféré directement sur ton Micro:bit? Pourquoi?
Étape B : Construis une meilleure requête avec la méthode RTF
La méthode RTF (Rôle — Tâche — Format) permet d'obtenir des réponses beaucoup plus précises et utilisables. Construis ta requête en glissant les bons segments dans la zone ci-dessous. Attention : certains segments sont des pièges!
Banque de segments (glisse ceux dont tu as besoin) :
Zone de construction de ta requête (dépose les segments ici) :
Étape C : Pose des questions de suivi pour tester les connaissances de l'IAG
Après avoir obtenu une réponse à ta requête RTF, teste les limites de l'IAG avec ces questions complémentaires. Note si ses réponses sont cohérentes, précises ou contradictoires.
- «Pourquoi la valeur lue par le capteur d'humidité du sol est-elle un nombre entre 0 et 1023? Qu'est-ce que cela signifie physiquement?»
- «Dans mon montage, si la valeur lue est de 600, est-ce que le sol est plutôt sec ou plutôt humide? Justifie ta réponse en expliquant le principe de la résistance électrique.»
- «Pourquoi est-il important d'ajouter un délai (pause) après l'ouverture de la valve, avant de relire l'humidité? Que se passerait-il sans ce délai?»
- «Mon servomoteur est branché à la broche 2 du bouclier KittenBot. Le code que tu m'as donné fonctionnerait-il tel quel? Sinon, qu'est-ce qu'il faudrait modifier?»
Ton programme ne fonctionne pas. Tu ne trouves pas où est le problème avec tes coéquipiers. Tu peux donner le code Javascript ou encore une saisie d'écran de ton code en blocs pour demander à l'IAG de t'aider.
Étape A : Compare avec des sources fiables
L'IAG n'est pas une source fiable en elle-même. Pour valider son code et ses explications, consulte des sources reconnues. Identifie deux sources que tu considères fiables et explique pourquoi tu leur fais confiance.
| Source consultée | Pourquoi je lui fais confiance | Ce qu'elle confirme ou contredit par rapport à l'IAG |
|---|---|---|
| Ex. : Documentation officielle MakeCode (makecode.microbit.org) | Site officiel de Microsoft, maintenu par les créateurs du langage | À toi de remplir après ta recherche |
- Le numéro de broche dans le code correspond à mon montage réel.
- Les valeurs de seuil ont été testées sur mon capteur (pas juste copiées de l'IAG).
- La structure « si... alors... sinon » est correcte en JavaScript MakeCode.
- Un délai (pause) est prévu entre l'arrosage et la prochaine lecture.
- Le servomoteur revient bien en position fermée après l'arrosage.
- J'ai testé le code sur le Micro:bit avant de conclure qu'il fonctionne.
Étape B : Chasse aux «hallucinations»
Les «hallucinations» sont des informations inventées que l'IAG présente avec assurance, comme si elles étaient vraies. Vérifie si l'IAG a commis l'une de ces erreurs fréquentes dans sa réponse :
| Erreur potentielle à vérifier | L'IAG a-t-elle fait cette erreur? (Oui / Non / Partiellement) | Comment tu l'as détectée |
|---|---|---|
| Elle a inventé un numéro de broche qui n'existe pas sur ton bouclier. | ||
| Elle a proposé des valeurs de seuil (ex. : 540, 600) sans expliquer d'où elles viennent. | ||
| Elle a confondu «valeur élevée = sol humide» avec «valeur élevée = sol sec» (ou vice-versa). | ||
| Elle a écrit du code dans un langage incompatible avec MakeCode (ex. : Python standard, Arduino C++). | ||
| Elle a supposé une pompe à eau plutôt qu'un servomoteur pour contrôler la valve. | ||
| Elle a omis le délai après l'arrosage, ce qui causerait un arrosage continu. |
Étape C : Sobriété numérique
Chaque requête envoyée à une IAG consomme de l'énergie — l'équivalent d'environ 10 recherches web simples par requête complexe. Réfléchis à l'usage que tu en as fait.
- Combien de requêtes as-tu envoyées à l'IAG pour obtenir un code utilisable? Aurais-tu pu en envoyer moins si ta première requête avait été mieux formulée? Explique.
- Pour cette tâche (écrire une condition d'arrosage), l'IAG était-elle le meilleur outil? Aurais-tu pu trouver la réponse aussi rapidement dans la documentation officielle de MakeCode?
- Dans quelles situations, selon toi, l'utilisation d'une IAG est-elle vraiment justifiée en programmation? Et quand vaut-il mieux s'en passer?
Retiens ceci
- L'IAG ne connaît pas ton montage physique. Elle doit toujours recevoir le contexte précis (broche, matériel, langage cible).
- Les valeurs de seuil d'un capteur ne se devinent pas — elles se mesurent sur le vrai matériel.
- Une requête précise (méthode RTF) donne un code plus proche de ce dont tu as besoin et t'évite plusieurs allers-retours.
- L'IAG peut être un bon point de départ, mais c'est toujours le programmeur (toi) qui a le dernier mot.
- Tester le code sur le Micro:bit réel est la seule façon de confirmer qu'il fonctionne correctement.