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

Revue de gouvernance d’une fonction IA

Après cette leçon: Je peux examiner une fonction IA avant sa mise en service et écrire le résultat.

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

La revue qui évite un mauvais lancement

Une revue de gouvernance est un contrôle écrit et court d’une fonction IA avant sa mise en service. Elle compte, car les questions que personne n’a posées causent l’incident, et une trace écrite montre plus tard qui a décidé quoi.

Cette leçon rassemble le module en cinq éléments que vous pouvez vérifier avec un programme.

À la fin de cette leçon

Remarque

Je peux examiner une fonction IA avant sa mise en service et écrire le résultat.

Mots clés

MotCe que ça veut dire
Revueun contrôle écrit fait avant le lancement
Validationle responsable qui accepte la mise en service
Manqueun élément que la revue oublie
Retour arrièreles étapes qui arrêtent la fonction
Tracele résultat enregistré de la revue

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

Cinq éléments font une revue

Vérifiez cinq choses. Y a-t-il un responsable nommé ? Les risques sont-ils écrits ? Y a-t-il assez de cas d’évaluation ? Y a-t-il un retour arrière ? Le résultat est-il enregistré ?

Chaque élément vient de ce module. Le responsable vient du niveau de risque. Les risques viennent du contrôle humain et des retours. Les évaluations viennent du changement de modèle, et le retour arrière du risque fournisseur.

Exemple détaillé : deux revues, minimum 5 cas

FonctionResponsableRisquesÉvaluationsRetourTraceRésultat
Robot de remboursementoui20ouiouiManque les évaluations
Tri des CVoui112nonnonManque retour et trace

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

Écrire le résultat

Le résultat est enregistré avec la date, les noms et ce qui a été trouvé. Si la revue trouve un manque, la fonction attend. Si elle réussit, le responsable la valide.

Refaites la revue après un changement : un nouveau modèle, un nouvel usage ou un nouveau fournisseur. Une revue est la trace d’un jour, pas une autorisation pour toujours.

Une erreur courante

Attention

Beaucoup pensent qu’une revue se fait une fois, au lancement. La fonction change, et le modèle, les utilisateurs et les règles aussi. Refaites la revue quand l’un d’eux change, et gardez chaque résultat.

É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 la vérification de revue, partie 1

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { demander } = require(\"./model\");' '' 'const EVALS_MIN = 5; // moins de cas que cela ne suffit pas pour faire confiance' '// Deux revues inventées. Une revue est prête quand chaque élément est là.' 'const revues = [' '  { nom: \"Robot de remboursement\", responsable: \"Louis Martin\", risques: [\"mauvais remboursement\", \"client en colère\"], evaluations: 0, retour: \"Couper l’interrupteur\", trace: true },' '  { nom: \"Tri des CV\", responsable: \"Camille Roux\", risques: [\"rejet injuste\"], evaluations: 12, retour: \"\", trace: false },' '];' > revue.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 la vérification de revue, partie 2

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function manquants(r) {' '  const trous = [];' '  if (r.responsable.trim() === \"\") trous.push(\"responsable\");' '  if (r.risques.length === 0) trous.push(\"risques\");' '  if (r.evaluations < EVALS_MIN) trous.push(\"évaluations\");' '  if (r.retour.trim() === \"\") trous.push(\"retour arrière\");' '  if (r.trace === false) trous.push(\"trace\");' '  return trous;' '}' >> revue.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 la vérification de revue, partie 3

Commande
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  revues.forEach(function (r) {' '    const trous = manquants(r);' '    console.log(r.nom + \" : \" + (trous.length === 0 ? \"prête\" : \"PAS PRÊTE, manque \" + trous.join(\", \")));' '  });' '  const q = \"Écrivez une phrase que doit contenir un plan de retour arrière pour une fonction de discussion avec les clients.\";' '  const r = await demander([{ role: \"user\", content: q }], \"Il dit qui coupe la fonction, comment, et en combien de temps.\", 60);' '  console.log(\"Une phrase possible : \" + r.texte);' '}' 'main();' >> revue.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 la vérification de revue

Commande
docker exec -w /home/node/project agent node revue.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.

Une sortie possible

LigneCe qu’elle montre
Robot de remboursement : PAS PRÊTE, manque évaluationsPas encore de cas d’évaluation
Tri des CV : PAS PRÊTE, manque retour arrière, tracePas de chemin de retour et rien d’enregistré
Une phrase possible : ...Votre propre appel. Il change à chaque exécution, ou affiche Échantillon enregistré

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.