Créer vrAIment des énigmes avec l’IA ?

Article écrit par : Patrice Nadam * Mélanie Fenaert
Première mise en ligne le 3 janvier 2024
Mise à jour le 5 janvier 2024
Une palette d’outils avec l’intelligence artificielle

Les énigmes sont l’ADN des escape games pédagogiques : leur variété, leur originalité et leur adéquation aux notions portées par le jeu demandent un véritable travail de réflexion et de recherche.

Que ces énigmes portent sur des nombres, des lettres, des images, des objets... divers outils incluant de l’intelligence artificielle peuvent venir au secours des enseignants et formateurs.

Au menu de cet article :

Cache-cache dans l’image

Les images peuvent être de bons supports d’énigmes : lettres cachées, objets à compter, images à double sens, rébus visuels… Que peuvent pour nous les IA génératives ?

Si vous cherchez à cacher des lettres ou autres caractères, il va falloir faire preuve de beaucoup de patience avec DALL-E et Bing Image Creator !

Nous leur avons proposé ce prompt :

Crée un décor de boulangerie dans lequel sont cachées les lettres du mot ESCAPE. Il faut que les lettres ne se voient pas au premier coup d’œil dans le décor, mais qu’on les retrouve à différents endroits en regardant bien les détails de l’image.

Quelques essais et tentatives d’ajustements du prompt plus tard, on peut clairement parler d’échec avec Bing Image Creator, qui ne comprend pas le concept de lettres dispersées. DALL-E s’en sort mieux, mais les meilleures images générées nécessitent tout de même des retouches. Dessins et texte ne font pas bon ménage chez les IA !

À gauche avec DALL-E, à droite avec Bing Image Creator :

PNG - 632.7 ko

Puisque les lettres ne sont pas son fort, tentons de placer un certain nombre d’objets

Crée un décor de boulangerie dans lequel sont cachés 6 chatons.

Après plusieurs essais… DALL-E ne sait pas compter, Bing Image Creator non plus mais en plus il fait carrément peur !
À gauche avec DALL-E, à droite avec Bing Image Creator :

PNG - 721.8 ko

Dans un autre style, certains outils permettent de créer des QR-codes semi-cachés dans un décor. Certains donnent vraiment de très beaux résultats.

Voici par exemple une création avec le site huggingface.co, gratuit et ne nécessitant pas de création d’un compte.

PNG - 350.9 ko

Un autre exemple magnifique, cette fois avec quickqr.art (création d’un compte nécessaire).

PNG - 624.4 ko

Le même site propose un outil de fusion d’images... De quoi peut-être imaginer des énigmes ?

PNG - 234 ko

Bref, hormis les très beaux QR-codes, les énigmes sous forme d’images créées par des IA ne sont pas très convaincantes ! Les IA génératives de texte seront-elles plus efficaces dans la création d’énigmes ?

Jouer sur les mots

Messages cachés, textes sibyllins, mots croisés… Les énigmes portant sur les mots devraient a priori être plus à la portée des IA génératives de textes, non ?

En effet, la création de formats simples comme les mots croisés est tout à fait abordable, et ce en deux minutes top chrono. Nous avons demandé à ChatGPT une short-list d’outils en ligne de création de mots croisés dont il connaissait le langage, puis lui avons adressé notre demande :

Propose moi des définitions au format du site puzzle-maker pour les mots suivants : digestion excrétion reproduction immunité circulation

Les définitions ci-dessous ont ensuite été copiées dans puzzle-maker.com, un site très simple, gratuit et utilisable sans compte, qui a généré la grille.

PNG - 132.4 ko

Rien de mystérieux dans cette grille, plutôt un bon vieil exercice qui peut avoir sa place dans une activité ludique. Que se passe-t-il si on demande plus de subtilité à nos chatbots « intelligents » ?

Dans le domaine de la stéganographie [1], ChatGPT en version gratuite est capable de générer des acrostiches : nous lui avons demandé de créer un texte cohérent constitué de six phrases commençant par les lettres du mot énigme, en lui imposant un thème.

PNG - 72 ko

On notera au passage que l’IA s’identifie au masculin.

Copilot (Bing) réussit également le test, avec des résultats similaires, si ce n’est que quand on lui demande de changer de thème il part sur un discours sur la nation française digne d’un homme politique dans la course présidentielle... Gemini (ex Bard de Google) n’est pas mal non plus et presque poétique [2], après quelques précisions (conserver l’ordre des lettres, ne pas parler d’énigme dans le texte) :
PNG - 62.3 ko

Demander quelque chose de plus complexe aux chatbots gratuits peut s’avérer fastidieux et frustrant. Par contre nous avons pu, avec ChatGPT4, générer un texte « banal et cohérent » dans lequel se cache un message d’amour en lisant le premier mot de chaque phrase.
PNG - 124.6 ko

C’est presque parfait, à quelques erreurs ou omissions grammaticales près. Il n’y a plus qu’à recopier le texte avec quelques retouches (ajouter les mots manquants en bout de phrase précédente), pour en faire une lettre manuscrite au message caché, à la manière de la lettre du film Un long dimanche de fiançailles.

Toujours en cachant des mots dans un texte banal, on peut créer un document qui servira de support à une grille de Cardan [3], et ça fonctionne plus tôt bien !

Imagine un court texte cohérent expliquant comment monter un meuble, dans lequel on peut retrouver séparément et dans cet ordre les mots : le, code, est, mille, trois, cent, un.

PNG - 218.7 ko

Pour l’instant, il est très compliqué de demander à ces IA de générer un texte utilisant une méthode plus complexe, telle que de cacher un message secret dans les lignes d’un texte gigogne, à la manière des lettres d’amour attribuées à George Sand et Alfred de Musset.

Il est vrai que les modèles d’apprentissage automatique des IA génératives sont basés sur des méthodes prédictives permettant de prévoir dans une phrase le mot (le morceau de mot, en fait, ou token) suivant le plus probable. L’IA ne comprend rien du contenu, mais c’est tout de même bluffant ! C’est sans doute pour cela qu’avec les versions précédentes de ChatGPT il manquait toujours une phrase lors de la création d’acrostiches avec les lettres du mots ENIGME. On avait beau le corriger, il en oubliait une nouvelle. Il fallait alors lui préciser qu’on désirait six phrases commençant par E... N... I.... etc.

C’est également pour cette raison, que ChatGPT est encore incapable d’écrire une phrase sans "e" à la manière de Georges Perec [4].

Compter sur l’IA

Nous avons interrogé différentes IA génératives de textes, et force est de constater qu’elles n’ont pas toutes la bosse des maths !

Le prompt de départ est volontairement très simple, afin de comparer les puissances de ces IA :

Tu es un concepteur d’escape game. Crée 3 énigmes indépendantes, dont le résultat permet de trouver 3 nombres différents dont la somme fait 360.

Les gratuits ChatGPT3.5 et Copilot, qui reposent sur un algorithme similaire, ont beaucoup de mal à comprendre ce que nous attendons, même quand nous tentons de préciser notre prompt. Leurs propositions sont au mieux très simples, souvent farfelues et erronées, quand ils ne donnent pas déjà la solution dans le texte de l’énigme. De plus, ces « énigmes » sont quasi systématiquement des problèmes de mathématiques [5].

Gemini, lui aussi gratuit, se perd carrément dans ses formules de suites mathématiques (il est vrai que le niveau des joueurs n’est pas précisé) ! Il essaye bien de nous proposer un message codé avec une correspondance lettre-nombre ainsi qu’un puzzle, mais ses calculs sont faux et l’ensemble reste très incohérent, quand bien même on essaye de lui faire préciser ses idées, en améliorant notre prompt.

Oublie ce qui a été écrit avant. Tu es un concepteur d’escape game. Crée 3 énigmes indépendantes et différentes, qui ne reposent pas toutes sur des calculs : cela peut être de l’observation, de la logique, de la manipulation, du décodage... Chacune aboutit à la découverte d’un nombre. Une fois les trois énigmes résolues, il faut que la somme des trois nombres trouvés fasse 360.

Gemini tente alors de nous proposer du Morse, un labyrinthe et un puzzle de miroirs, mais le lien avec les nombres est complètement décousu : le mot en Morse ne veut rien dire, on doit compter les cases du labyrinthe et les miroirs du puzzle…

ChatGPT4 (payant) est clairement beaucoup plus puissant. Il nous propose d’emblée trois énigmes qui pourraient se transposer dans le monde réel : un livre numéroté à retrouver dans une bibliothèque, des horloges arrêtées sur lesquelles relever le nombre de minutes, un tableau où compter les carrés d’une certaine couleur.

Au premier jet, certaines énigmes comportent des incohérences, et il ne précise pas les nombres à trouver : il faut donc poursuivre la conversation pour améliorer ses propositions. Il doit réitérer d’ailleurs plusieurs fois ses calculs pour arriver à la somme de 360 attendue. Mais au final, cela fonctionne : en une petite demi-heure, on obtient trois énigmes tout à fait valables et intéressantes à transposer dans un jeu d’évasion réel ou virtuel.
PNG - 257.3 ko

Retrouvez l’ensemble de la conversation avec ChatGPT4 : https://chat.openai.com/share/94098cde-5219-46be-8677-8b7c2c4f7e4d.

Un programme programmeur

Il est envisageable de demander à une IA de générer un petit programme dans le langage de son choix. Cela reste accessible aux néophytes, même s’il est recommandé d’avoir les bases en programmation afin de pouvoir corriger la proposition ou réclamer des améliorations à la machine. L’IA peut générer des programmes dans différents langages de programmation, tels que le JavaScript, le Python, le Java, etc.

En avril 2023, nous avons demandé à ChatGPT, pour tester la version gratuite, d’écrire le programme en JavaScript permettant d’afficher dans une page web un compte à rebours qui pourrait être stoppé à la saisie d’un mot de passe.

Le résultat est satisfaisant même si, à plusieurs reprises, nous avons dû demander à l’IA d’oublier ce qu’elle avait produit précédemment afin d’y ajouter une amélioration.

Nous lui avons demandé également d’empêcher l’utilisateur d’accéder au mot de passe via le code source de la page. Aucune de ses propositions n’a été satisfaisante.
Nous lui avons finalement suggéré une solution, certes peu élégante, mais efficace : supprimer le code en javascript qui fait apparaître en clair le mot de passe en fin de chargement de la page web.

Vous pourrez tester la page disponible sur notre site, avec le mot de passe monmotdepasse. Le code source correspondant est proposé dans ce fichier. L’image ci-après en montre le début.
PNG - 367.3 ko

Les commentaires dans le code sont ajoutés par ChatGPT lui-même. L’IA explique d’ailleurs en détails les diverses fonctions qu’elle génère.

Même si l’habillage de la page reste à améliorer, elle correspond à ce que nous attendions. Elle peut tout à fait être intégrée comme étape finale d’un escape game.

Bien que nous ne soyons pas pleinement convaincus par l’IA pour créer des énigmes, il y a cependant des pistes à suivre et quelques beaux outils. Nous attendons avec impatience que les progrès des IA et l’imagination des développeurs permettent d’aller plus loin !

Lire les autres articles sur L’IA et les escape games

[1La stéganographie est un domaine où l’on cherche à dissimuler discrètement de l’information dans un media de couverture (typiquement un signal de type texte, son, image, vidéo, etc.). Elle se distingue de la cryptographie qui cherche à rendre un contenu inintelligible à autre que qui-de-droit. Lorsqu’un acteur extérieur regarde un contenu cryptographié il peut deviner la nature sensible de l’information qui lui est cachée. L’intérêt de la stéganographie réside précisément dans la possibilité de communiquer en échangeant des contenus d’apparence anodines de façon à ne pas éveiller de soupçons. Wikipedia. Consulter aussi notre article Un peu de stéganographie.

[2Bon, un mauvais poète d’accord, mais n’en demandons pas trop.

[3voir notre article Derrière les grilles

[4Référence aux propos de David Chavalarias, directeur de recherche au CNRS, au Centre d’Analyse et de Mathématiques Sociales, qui a pointé le premier ce dysfonctionnement. Podcast France Inter Pourquoi ChatGPT est incapable d’écrire une phrase sans “e” à la Georges Perec.

[5On arrive à obtenir des résultats plus satisfaisants, du moins sans erreur de calcul, en précisant que l’on désire l’énigme sous forme de programme informatique, en Javascript par exemple.