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

Recueillir des retours sur les réponses d’IA

Après cette leçon: Je peux recueillir des retours que les gens donneront vraiment.

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

Des pouces que personne n’appuie

Une fonction de discussion affiche un pouce en haut et un pouce en bas sous chaque réponse. Au bout d’un mois, une personne sur cinquante a appuyé sur quelque chose. L’équipe ne sait pas ce qui ne va pas.

Un retour n’est utile que si les gens le donnent. Cela dépend de ce qu’il leur coûte.

À la fin de cette leçon

Remarque

Je peux recueillir des retours que les gens donneront vraiment.

Mots clés

MotCe que ça veut direExemple
Retource qu’une personne vous dit d’une réponse
Motifpourquoi une personne n’était pas contentetrop long
Taux de réponsela part des personnes qui répondent
Sollicitationla question qui demande un retour
Liste de correctionsles corrections qui attendent d’être faites

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

La première réponse tient en un geste

Demandez d’abord un vote. Il prend un seul geste. Seulement après un pouce en bas, proposez une courte liste de motifs à toucher : fausse, trop long, hors sujet.

Une zone de texte libre toute seule ne donne presque rien. Une liste de motifs obtient un motif de bien plus de personnes, et on peut le compter.

Comptez, puis agissez sur le plus fréquent

Comptez les motifs des pouces en bas. Corrigez d’abord le plus fréquent. Dites aux gens quand c’est fait : ceux qui voient leur retour utilisé en donnent plus.

Ne demande pas à chaque fois. Une règle comme « demander après une réponse sur cinq » garde le coût bas.

Une erreur courante

Attention

Beaucoup pensent que plus de retours vaut toujours mieux, alors ils demandent à chaque réponse. Les gens finissent par ne plus répondre. Demandez rarement et en un seul geste. Jugez la conception à son taux de réponse : la part des personnes qui ont répondu.

Écrire l’assistant du modèle, partie 1

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const base = process.env.AI_URL || \"http://ai:4000\";' '// Les jetons d’une réponse, ou null si elle n’en donne pas.' 'function compter(donnees, nom) {' '  return donnees.usage && typeof donnees.usage[nom] === \"number\" ? donnees.usage[nom] : null;' '}' > model.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 l’assistant du modèle, partie 2

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function demander(messages, echantillon, max) {' '  try {' '    const res = await fetch(base + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: messages, max_tokens: max || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"statut \" + res.status);' '    const d = await res.json();' '    return { texte: d.choices[0].message.content, entree: compter(d, \"prompt_tokens\"), sortie: compter(d, \"completion_tokens\"), enregistre: false };' '  } catch (erreur) {' '    console.log(\"Échantillon enregistré : aucun modèle n’a répondu (\" + erreur.message + \").\");' '    return { texte: echantillon, entree: null, sortie: null, enregistre: true };' '  }' '}' 'module.exports = { demander };' >> model.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 compteur de retours, partie 1

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { demander } = require(\"./model\");' 'const VOTES = [' '  { vote: \"haut\", motif: \"\" },' '  { vote: \"bas\", motif: \"fausse\" },' '  { vote: \"bas\", motif: \"trop long\" },' '  { vote: \"haut\", motif: \"\" },' '  { vote: \"bas\", motif: \"fausse\" },' '  { vote: \"bas\", motif: \"\" },' '  { vote: \"haut\", motif: \"\" },' '  { vote: \"bas\", motif: \"fausse\" },' '  { vote: \"bas\", motif: \"trop long\" },' '  { vote: \"haut\", motif: \"\" },' '];' > retours.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 compteur de retours, partie 2

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function compterMotifs(votes) {' '  const comptes = {};' '  for (const v of votes) {' '    if (v.vote === \"bas\" && v.motif.length > 0) {' '      comptes[v.motif] = (comptes[v.motif] || 0) + 1;' '    }' '  }' '  return comptes;' '}' >> retours.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 compteur de retours, partie 3

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  const comptes = compterMotifs(VOTES);' '  const bas = VOTES.filter(function (v) { return v.vote === \"bas\"; }).length;' '  const nommes = Object.values(comptes).reduce(function (a, b) { return a + b; }, 0);' '  console.log(\"votes \" + VOTES.length + \" pouces bas \" + bas + \" avec un motif \" + nommes);' '  console.log(\"taux de réponse \" + Math.floor((nommes * 100) / bas) + \" pour cent\");' '  console.log(\"motifs \" + JSON.stringify(comptes));' '  const q = \"Écrivez une seule question courte qui demande pourquoi une réponse n’a pas aidé.\";' '  const reponse = await demander([{ role: \"user\", content: q }], \"Qu’est-ce qui n’allait pas dans cette réponse ?\", 25);' '  console.log(\"question : \" + reponse.texte);' '}' 'main();' >> retours.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.

Lancer le compteur de retours

Commande
docker exec -w /home/node/project agent node retours.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 montre
votes 10 pouces bas 6 avec un motif 5Six pouces en bas, cinq ont donné un motif
taux de réponse 83 pour cent5 sur 6 en ont donné un, arrondi vers le bas
motifs {"fausse":3,"trop long":2}Fausse est le plus fréquent : à corriger d’abord
question : ...Une phrase. Les mots changent à chaque Run

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.