Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Lire les résultats d’évaluation pour choisir un correctif

Après cette leçon: Je peux lire des résultats d’évaluation et décider quoi changer d’abord.

Leçon de 60 min4 commandesLab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Choisir un correctif grâce aux évaluations

Lire des résultats d’évaluation, c’est grouper les échecs par genre, puis changer la chose la moins chère qui en corrige le plus. Cela compte, car tout changement aide certains cas et peut en nuire à d’autres.

La première version de la médiathèque a réussi 5 cas sur 10. L’équipe a quatre idées. Une seule vaut d’être livrée en premier, et les scores disent laquelle.

À la fin de cette leçon

Remarque

Je peux lire des résultats d’évaluation et décider quoi changer d’abord.

Mots clés

MotCe que ça veut direExemple
Genre d’échecla raison pour laquelle un cas a échouéinvente
Candidatun changement que vous envisagez
Régressionun cas qui réussissait avant et échoue maintenant
Coût pour 1000ce que coûtent 1000 réponses
Correctif le moins cherle changement qui coûte le moins pour son gain

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Groupez les échecs par genre

Un score de 5 sur 10 dit combien est faux, pas pourquoi. Groupez les cinq échecs par genre et le travail devient clair.

Chaque genre a sa cause et son correctif peu coûteux. Un seul correctif pour un genre entier vaut mieux que cinq correctifs pour cinq cas.

Exemple : les cinq échecs

GenreCasCause probable
Inventéc3, c7Le prompt n’interdit pas de deviner
Vaguec5La question a reçu une réponse générale
Refusc8Le prompt le rend trop prudent
Trop longc9Rien ne limite la longueur

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Essayez d’abord le correctif le moins cher

Classez les candidats par coût. Une ligne dans le prompt ne coûte rien. Un prompt plus long coûte un peu sur chaque réponse. Un modèle plus gros coûte trois fois plus sur chaque réponse.

Lancez d’abord le moins cher et notez-le. Empilez le suivant seulement si le score le demande.

Exemple : quatre candidats

SérieChangementRéussisCoût pour 1000
v1La première version540
v2N’utiliser que les chiffres de la fiche742
v3v1, puis répondre en une phrase442
v4v2, puis répondre quand la fiche a le fait944
v5v1 sur un modèle plus gros7130

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Aider un cas, nuire à deux

La série v3 corrige la réponse trop longue, c9. Elle casse aussi c2 et c10, qui réussissaient : la règle d’une phrase a coupé leurs chiffres. Le total est passé de 5 à 4.

Un total peut cacher cela. Comparez les deux séries cas par cas et listez ce qui est corrigé et ce qui est cassé.

Une erreur fréquente

Attention

Beaucoup pensent qu’un changement qui corrige quelque chose est un bon changement. Regardez ce qu’il a cassé. Ne livrez un changement que s’il ne casse rien de ce qui réussissait, ou si vous acceptez chaque casse volontairement.

Écrire le lecteur de résultats, partie 1

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const fs = require(\"fs\");' '// Cinq séries enregistrées sur les cas c1 à c10. v2 : n’utiliser que les chiffres de la fiche.' '// v3 : v1 plus répondre en une phrase. v4 : v2 plus répondre quand la fiche contient le fait.' '// v5 : le premier prompt sur un modèle plus gros. Le coût est pour 1000 réponses.' 'const SERIES = {' '  v1: { cout: 40, genres: \"ok ok invente ok vague ok invente refus trop_long ok\" },' '  v2: { cout: 42, genres: \"ok ok ok ok vague ok ok refus trop_long ok\" },' '  v3: { cout: 42, genres: \"ok vague invente ok vague ok invente refus ok vague\" },' '  v4: { cout: 44, genres: \"ok ok ok ok ok ok ok ok trop_long ok\" },' '  v5: { cout: 130, genres: \"ok ok ok ok vague ok ok refus trop_long ok\" },' '};' 'for (const nom in SERIES) SERIES[nom].genres = SERIES[nom].genres.split(\" \");' 'fs.writeFileSync(\"series.json\", JSON.stringify(SERIES, null, 1));' > analyse.js"

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.

Écrire le lecteur de résultats, partie 2

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function estOk(genre) { return genre === \"ok\"; }' 'function echecs(genres) {' '  const sortie = {};' '  genres.forEach(function (g) { if (estOk(g) === false) sortie[g] = (sortie[g] || 0) + 1; });' '  return sortie;' '}' 'const base = SERIES.v1.genres;' 'let meilleur = null;' >> analyse.js"

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.

Écrire le lecteur de résultats, partie 3

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'for (const nom in SERIES) {' '  const genres = SERIES[nom].genres;' '  const corriges = [];' '  const casses = [];' '  genres.forEach(function (g, i) {' '    if (estOk(base[i]) === false && estOk(g)) corriges.push(\"c\" + (i + 1));' '    if (estOk(base[i]) && estOk(g) === false) casses.push(\"c\" + (i + 1));' '  });' '  const reussis = genres.filter(estOk).length;' '  console.log(nom, reussis + \" réussis\", \"coût \" + SERIES[nom].cout, \"corrigés [\" + corriges + \"]\", \"cassés [\" + casses + \"]\", JSON.stringify(echecs(genres)));' '  if (nom === \"v1\" || casses.length > 0) continue;' '  const cout = SERIES[nom].cout;' '  if (meilleur === null || reussis > meilleur.reussis || (reussis === meilleur.reussis && cout < meilleur.cout)) meilleur = { nom, reussis, cout };' '}' 'console.log(\"Choix : \" + meilleur.nom + \" (\" + meilleur.reussis + \" réussis, coût \" + meilleur.cout + \")\");' >> analyse.js"

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.

Lire les cinq séries

Commande
docker exec -w /home/node/project agent node analyse.js

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.

Ce que le Run affiche

LigneCe qu’elle dit
v27 réussis, c3 et c7 corrigés, rien cassé
v34 réussis, c9 corrigé, c2 et c10 cassés
v49 réussis, quatre cas corrigés, rien cassé
v57 réussis, coût 130
Dernière ligneChoix : v4 (9 réussis, coût 44)

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À propos de ce labo et de sa source: Lab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.