Skip to content

Cahier des charges

Yatsu edited this page Oct 5, 2026 · 9 revisions

Cahier des charges du jeu de prompt engineering

Contexte

Le prompt engineering s'apprend en écrivant, pas en lisant. En TP, un élève qui découvre le sujet écrit un prompt en une ligne, obtient un résultat approximatif, et conclut que le modèle est faible. Le problème est presque toujours ailleurs : un prompt sans contexte, sans rôle, sans consigne de format.

Nous proposons un concept de jeu : afficher une réponse à reproduire, laisser chacun écrire un prompt, utiliser un modèle pour répondre, noter la proximité entre la réponse obtenue et la réponse cible sur 10. Dix manches, un classement final. Le jeu mesure donc déjà quelque chose de réel, la capacité à mettre à œuvre ce qui fait la qualité d'un prompt.

Le jeu

Une partie, un didacticiel, dix tours, un classement.

lobby ──▶ didacticiel ──▶ ┌─ tour 1 ─┐
          (QCM)           │          │
                          ▼          │
                     rédaction ──▶ notation ──▶ résumé ──▶ (tour suivant)
                                                            └─▶ classement final

1. Console d'administration

L'admin se connecte avec un mot de passe et travaille sur une liste de parties, pas sur une partie. Il peut en créer autant que la séance en demande, et chacune avance toute seule.

  • La liste montre toutes les parties, triées par ce qu'elles attendent. Un didacticiel en cours, une rédaction, une notation ou un résumé passe avant un lobby, qui passe avant une partie terminée. L'ordre ne bouge pas d'un rafraîchissement à l'autre, donc une ligne ne saute pas sous le doigt de l'admin.
  • Chaque ligne dit l'essentiel : le code, la phase, le tour en cours sur dix, le nombre de joueurs connectés et le nombre de joueurs inscrits, et si la partie porte un didacticiel et l'anonymat.
  • Les parties se nettoient toutes seules. Une partie sans joueur connecté depuis dix minutes disparaît de la liste. Un lobby jamais lancé est supprimé : il ne contient qu'une banque de questions et des jetons, et personne n'a de chose à y retrouver. Une partie jouée reste en base le temps d'une pause, pour qu'un animateur qui s'absente retrouve sa partie et ses pseudos dès qu'un joueur se reconnecte, puis est supprimée au bout d'une heure sans personne.
  • Le nettoyage n'attend personne. Il tourne dans un fil de fond du serveur, il n'a pas besoin d'une console d'admin ouverte pour se déclencher.

2. Lobby

L'admin crée la partie et choisit si elle comporte un didacticiel. Les joueurs rejoignent avec le code. Le choix du didacticiel est figé pour toute la partie.

  • La partie s'ouvre quand tout le monde l'a demandé. Chaque joueur appuie sur « prêt », et le jeu démarre au dernier vote. L'admin peut aussi le lancer lui-même, mais n'a plus de bouton à presser pendant la séance.

3. Didacticiel

Huit questions à quatre choix sur le prompt engineering : qu'est-ce qu'un contexte, à quoi sert un rôle, que change une consigne de format, pourquoi un prompt trop court échoue, etc. Les huit questions et leur ordre sont identiques pour tout le monde, tirés une fois par partie comme les cibles.

  • Une question à la fois, avec un compte à rebours de 30 secondes. Les trente secondes sont une horloge partagée : tout le monde voit la même question, compte le même temps, et la révélation tombe au même instant pour tout le monde. Un compte à rebours par joueur produirait un élève qui répond en deux secondes et regarde vingt-huit secondes d'écran verrouillé pendant que les autres jouent.
  • La fenêtre se ferme dès que tout le monde a répondu. Inutile de laisser un compteur figé sur vingt secondes de zéro pour une question que la classe a déjà terminée.
  • On ne sait pas si l'on a juste avant la fin du chrono. Le joueur choisit, l'écran se verrouille, et rien ne dit si c'est bon. La révélation arrive à la fin des trente secondes. C'est le suspense qui fait la question, et il disparaît entièrement si l'on répond « juste » ou « faux » en direct.
  • Une question non ratée est close par l'échéance. Passé trente secondes, le serveur refuse la réponse. Le joueur qui n'a pas cliqué n'a rien, et c'est tout : il n'est pas bloqué, et il ne bloque personne.
  • Après la révélation, la classe décide. La question est expliquée à voix haute, puis les joueurs appuient sur « prêt » et le jeu passe à la suivante quand la majorité l'a fait.
  • Le score du QCM est affiché et classé à la fin du didacticiel, puis n'entre pas dans le classement de la partie. Une partie relancée sans didacticiel ne doit pas pénaliser qui n'a pas eu l'occasion de faire le QCM.
  • La liste des joueurs est figée au lancement. Une fois la partie commencée, l'arrivée d'un nouveau joueur est refusée : il aurait manqué le didacticiel et tous les tours déjà joués, et il pèserait sur un classement qu'il n'a pas eu la chance de construire. Quelqu'un qui se reconnecte n'est pas un nouvel arrivant : il est retrouvé par son jeton, et le retour est le chemin normal. Il retombe sur la question en cours, verrouillée s'il y a déjà répondu.

4. Rédaction

Les dix cibles sont tirées au sort au lancement, identiques et dans le même ordre pour tout le monde : le classement mesure les joueurs, pas le tirage. À chaque tour, la cible est affichée, chaque joueur écrit un prompt, le modèle répond.

  • Une seule réponse par joueur et par tour.
  • La réponse s'écrit à l'écran pendant qu'elle est produite, puis se lit une fois terminée comme du texte mis en forme, listes et gras compris, au lieu d'un bloc brut. La note arrive après : le jury est un appel distinct, donc un silence sépare les derniers mots du score, et ce silence est le jury qui travaille.
  • Le tour se referme dès que tous les joueurs connectés ont répondu. Un téléphone qui dort ou qui perd le réseau ne bloque donc pas la classe.
  • Aucun joueur ne voit le prompt d'un autre à ce stade.

5. Notation croisée

Le tour bascule en notation. Les prompts sont révélés un à un, jamais tous ensemble.

Pour chaque prompt révélé, le joueur voit la cible, le prompt, et rien d'autre : ni la réponse obtenue, ni sa note, ni le nom de l'auteur si l'anonymat est actif. Il attribue une note de 1 à 10 sur la conformité du prompt aux règles du prompt engineering. Pas de commentaire : sur un téléphone, un champ libre à chaque prompt fait abandonner.

  • Un joueur ne note jamais son propre prompt. Il note donc les neuf prompts d'un tour à dix joueurs, et le tour ne se referme pas avant qu'il les ait tous notés.
  • Le prompt suivant s'affiche dès que tous les joueurs connectés, moins l'auteur du prompt affiché, ont noté le précédent.
  • Le classement est masqué pendant toute la phase de notation : ni score, ni prompt, ni réponse dans le flux, pour personne. Les noms, eux, restent : c'est la liste de classe, et le voir ne dit rien du prompt de qui que ce soit. Ce sont les scores qui font la fuite : je connais mon propre score du tour, et s'il est le seul absent de la colonne, il désigne ma ligne. Le prix est l'absence de tension pendant la notation ; le gain est une notation qui n'est pas un concours de prédiction.

6. Garde-fou LLM

Chaque prompt est aussi évalué par un LLM, sur la même chose que les pairs : la conformité aux règles du prompt engineering. Le LLM ne voit pas les notes des pairs et ne se cale sur personne.

La note de qualité d'un prompt est la moyenne des pairs bornée dans un intervalle de ±3 points autour de la note du LLM :

qualité = min(max(moyenne-pairs, note-llm − 3), note-llm + 3)

Le LLM est l'arbitre, les pairs corrigent. Une classe hostile ne peut pas maintenir un prompt nul à 10, ni lyncher un prompt solide à 0. En revanche une classe qui juge sainement peut remonter un prompt que le LLM sous-estime de 3 points, et le faire descendre d'autant. La note du LLM n'est montrée aux joueurs qu'au résumé de tour, jamais pendant la notation : l'afficher pendant ouvrirait l'ancrage et les pairs jugeraient la note du LLM au lieu du prompt.

Un joueur seul n'a personne pour noter son prompt : la note du modèle tient seule, sans moyenne de pairs autour. Une partie à un joueur se joue donc entièrement, avec des scores plus simples mais honnêtes.

7. Résumé de tour

Le résumé lève l'anonymat. Pour chaque joueur : le prompt, la proximité obtenue, la note du LLM, la moyenne des pairs, la note de qualité retenue, la note du tour. Un joueur absent n'apparaît pas dans la notation mais reste au classement avec les points qu'il a eus.

  • La classe décide de passer au tour suivant. Le tour se commente à voix haute, les joueurs appuyent sur « prêt », et le jeu enchaîne quand la majorité l'a fait.

8. Note de tour et classement

La note d'un tour est la moyenne des deux dimensions, sur 10 :

note-tour = (proximité + qualité) / 2

Pendant la rédaction, le tour en cours compte pour sa seule proximité, de façon provisoire ; au résumé il est corrigé. Cette correction peut être une baisse, et c'est le moment pédagogique : on y voit le prix d'un prompt faible.

Le classement final additionne les dix tours, sur 100. Le classement est mis à jour en direct pendant la rédaction et le résumé, et il est masqué pendant la notation.

9. Relance

L'admin peut relancer une partie avec les mêmes joueurs, avec ou sans didacticiel. Sans didacticiel, la relance va directement dans la rédaction, et les dix cibles sont retirées au sort.

Qui fait avancer la partie

C'est la règle centrale du jeu, et elle a changé deux fois.

La classe avance, l'admin regarde. Entre deux étapes, la classe discute à voix haute puis appuie sur « prêt ». Le jeu passe à la suite quand assez de joueurs l'ont fait, et l'admin n'a plus de bouton à presser pendant la séance. Une discussion ne peut pas attendre qu'un animateur pose la main sur un ordinateur portable, parce que c'est justement la discussion que le tour a servi à produire.

Deux seuils, et ils ne se ressemblent pas.

  • Le lobby est une unanimité : la partie démarre quand tous les joueurs connectés ont appuyé sur « prêt ». Tout le monde vient d'arriver et regarde le même écran, donc attendre le dernier ne coûte rien : un téléphone pas encore sorti de la poche est un téléphone qui va sortir.
  • Chaque discussion est une majorité, la moitié arrondie au supérieur : 11 sur 20, 2 sur 3, et 2 sur 2 quand il n'y a que deux joueurs. Au milieu d'une partie c'est l'inverse, un téléphone qui dormirait bloquerait toute la classe sur une barre qui n'avancera plus.

Le décompte ne compte que les joueurs connectés, et seulement s'il y en a au moins un, sinon une partie vide s'avancerait toute seule. Un téléphone qui dort ne bloque donc personne, sauf dans le lobby. L'auteur du prompt à l'écran ne vote pas : personne ne note le sien, donc il ne fait pas partie du décompte.

Un joueur seul joue. Le seuil compte les joueurs connectés, donc le seul joueur d'une salle le fait avancer lui-même, et sa partie se déroule jusqu'au classement. C'est une salle réelle : un animateur qui essaie le jeu, un groupe qui reste après le départ des autres.

Le bouton de l'admin reste, pour deux raisons : une salle dont le téléphone de tous les joueurs est mort n'avancerait jamais, et un animateur peut vouloir sauter une étape. Il fait la même transition que le vote, jamais une autre.

Règles transverses

  • Anonymat : choix de l'admin au moment de créer la partie, actif ou non pour les dix tours. L'anonymat masque le nom, pas l'égalité : tout le monde est noté, l'auteur est seulement inconnu. Un pseudonyme stable par joueur et par partie (« Joueur 3 ») évite que le même prompt soit attribué à deux personnes de deux manières différentes. Il ne résiste pas à quelqu'un qui compte les arrivées ; il retire le biais visuel, qui est le but.
  • Présence : portée par le flux temps réel lui-même, jamais stockée. Un joueur qui revient est retrouvé par son jeton. Toute avance de phase compte les joueurs connectés.
  • Nettoyage automatique : les parties inutilisées disparaissent seules, à trois profondeurs, et l'animateur n'a rien à purger.
  • Contenus en données : questions du QCM, cibles, barèmes de notation vivent dans des fichiers de contenu, jamais dans la logique.
  • Une prise par joueur et par phase. Une reconnexion ne rejoue rien et ne double rien.

Objectifs primaires

  1. Interdire de jouer sans avoir appris. Le didacticiel conditionne la partie : aucun joueur n'écrit de prompt avant d'avoir vu les huit questions.
  2. Noter la méthode, pas seulement le produit. Chaque prompt reçoit une note de conformité aux règles du prompt engineering, en plus de la note de proximité déjà existante. Sans cela, la note reste mesurable par la ruse.
  3. Rendre le classement indépendant de la notation des autres. La note LLM borne les notes humaines dans une bande de ±3 : la qualité d'un prompt ne dépend pas du niveau de ses cornotes.
  4. Supprimer le biais de dénotation. L'anonymat est un choix d'admin par partie, et il est réellement tenu, ce qui impose de masquer le classement pendant la notation.
  5. Rendre la seconde partie évidente. Une relance avec les mêmes joueurs, avec ou sans didacticiel.
  6. Tenir sur un téléphone, debout. Une prise par joueur et par phase, un écran lisible sans zoom, et la progression de la partie visible en continu.

Objectifs secondaires

  • La classe conduit sa partie. Le temps d'animateur se passe à commenters les tours, pas à appuyer sur « suivant ».
  • Ne jamais bloquer la séance. Un joueur qui décroche n'arrête pas la partie ; la classe avance, et le bouton de l'admin reste pour les cas où personne ne peut voter.
  • Se jouer seul. Une salle d'un joueur se déroule jusqu'au classement.
  • Multipilier les parties sans surveillance. L'admin gère une liste, et le nettoyage tourne sans lui.
  • Rester jouable sans clé d'API. Le mode de repli local est conservé, y compris pour l'évaluation de la qualité des prompts.
  • Rester éditable sans toucher au code. Questions, cibles, consignes : des données.