Blog Metlivi

Comment empêcher les dialogues de personnages IA d'inventer des indices dans un jeu d'enquête

Si un personnage IA peut discuter d'indices, faites dépendre chaque affirmation exploitable d'une source scénarisée et d'un état de découverte géré par le jeu. Ne donnez au modèle que les preuves trouvées par le joueur, exigez qu'il identifie la source derrière toute déclaration semblable à un indice et traitez les détails non étayés comme indisponibles. Isolez les bavardages et l'ambiance dans un canal de simple habillage narratif qui ne peut ni mettre à jour le dossier de l'enquête ni débloquer la progression. Cela permet aux personnages de s'exprimer avec souplesse sans laisser un dialogue improvisé réécrire l'énigme.

30 septembre 20267 min readLecture, arts et culturePar Metlivi Editorial Team
Section 1

Pourquoi les indices inventés perturbent une enquête

Dans un jeu d'enquête, les joueurs rassemblent des informations, en tirent des conclusions et utilisent ce qu'ils apprennent pour chercher davantage d'informations. Cela fait de la relation entre l'indice et la connaissance du joueur un élément central de la boucle de jeu, plutôt qu'un simple détail de style de dialogue. Un personnage qui mentionne avec assurance une lettre inexistante ou nomme une personne que le joueur n'a jamais rencontrée peut accidentellement créer une fausse piste. Le joueur n'a aucun moyen fiable de savoir si ce détail est un indice conçu par les auteurs, un mensonge délibéré ou du remplissage généré. L'article « Generative Forensics: Procedural Generation and Information Games » décrit les jeux d'information en termes d'accumulation de connaissances et de leur utilisation pour comprendre un mystère ; en adoptant ce cadre, les affirmations générées non vérifiées peuvent brouiller les connaissances à partir desquelles le joueur est censé raisonner.

La solution commence par une distinction claire : un indice est un fait du jeu sur lequel le joueur peut agir ; l'habillage narratif est un dialogue expressif qui n'ajoute ni ne modifie aucun fait du jeu. Un personnage peut paraître hésitant, évasif, drôle ou haut en couleur, mais une réplique ne doit pas devenir une preuve simplement parce qu'elle est formulée de manière persuasive.

Section 2

Créer un registre d'indices scénarisé avant de générer le dialogue

Tenez un registre concis et explicite pour chaque indice exploitable. Il peut résider dans une base de données, un fichier de contenu ou un outil narratif ; l'essentiel est que le modèle n'en invente pas le contenu. Incluez des champs qui précisent ce que dit l'indice, d'où il provient, qui peut le connaître et quand il devient disponible.

Champ : clue_id ; Ce qu'il enregistre : Identifiant stable de la preuve ; Exemple (illustratif) : note_blue_01

Champ : canonical_fact ; Ce qu'il enregistre : Le fait établi par le jeu ; Exemple (illustratif) : « Le mot est signé de l'initiale M. »

Champ : source_id ; Ce qu'il enregistre : Objet, scène ou réplique scénarisée servant d'appui ; Exemple (illustratif) : archive_note_03

Champ : discovery_condition ; Ce qu'il enregistre : État du jeu requis avant de pouvoir en discuter ; Exemple (illustratif) : found_archive_note_03

Champ : allowed_speakers ; Ce qu'il enregistre : Personnages autorisés à le connaître ou à en discuter ; Exemple (illustratif) : Mara, Ivo

Champ : certainty ; Ce qu'il enregistre : Si la source énonce un fait ou suggère une interprétation ; Exemple (illustratif) : explicit

Champ : player_facing_label ; Ce qu'il enregistre : Comment la preuve apparaît dans le carnet d'enquête, le cas échéant ; Exemple (illustratif) : « Mot non signé »

Les noms et valeurs ci-dessus sont un exemple fictif destiné à illustrer un format, et non une référence à un jeu particulier. Remarquez que le registre sépare le contenu explicite d'une source de son interprétation : une initiale en guise de signature n'établit pas à elle seule qui a rédigé un mot. Cette distinction donne au système de dialogue la latitude nécessaire pour laisser un personnage spéculer sans présenter sa spéculation comme une preuve nouvellement vérifiée.

Section 3

Conditionner les indices par l'état de découverte, et non par la seule conversation

Représentez la découverte sous la forme d'un état propre au jeu. Par exemple, found_archive_note_03 ne devient vrai que lorsque le joueur trouve réellement la note. Au début d'une conversation, transmettez au personnage une liste des faits scénarisés qu'il est autorisé à aborder, filtrée en fonction de l'état de découverte du joueur et des connaissances du personnage. Un indice n'est disponible que lorsque les deux conditions sont remplies : le joueur a validé sa condition de découverte, et l'interlocuteur est autorisé à le connaître.

Il s'agit d'une application pratique de la génération augmentée par récupération (RAG) : récupérer les enregistrements pertinents, les placer dans le contexte du modèle et générer à partir de ces enregistrements. La vue d'ensemble du RAG par Microsoft décrit ce flux de récupération–enrichissement–génération et avertit qu'une récupération médiocre ou incomplète peut tout de même aboutir à des résultats inexacts. Pour un jeu, la récupération doit respecter les conditions de découverte avant d'atteindre le modèle. Dire au modèle « ne divulgue rien » est bien moins efficace que de masquer entièrement les preuves non découvertes.

Dans la mesure du possible, conservez la vérification des permissions en dehors du modèle. C'est le jeu, plutôt qu'une ligne de prose générée, qui doit déterminer si un élément de preuve intègre un carnet, résout une énigme ou déclenche une interaction. Le modèle peut formuler un fait autorisé ; l'état du jeu doit décider si ce fait est autorisé au départ.

Section 4

Donner au modèle un contrat strict et une solution de repli sûre

Un prompt efficace doit préciser la voix du personnage, la scène actuelle, les enregistrements d'indices autorisés et la distinction entre preuve et habillage narratif. Définissez ce qu'il convient de faire lorsqu'une question dépasse les preuves fournies : refuser de confirmer, indiquer que le personnage l'ignore, ou répondre par une réplique non exploitable dans le ton du personnage. Incluez également des instructions pour les données contradictoires ou ambiguës. Le guide d'ingénierie des prompts RAG de Microsoft recommande des limites d'ancrage explicites, un comportement de repli, des identifiants de source et des consignes pour traiter les contradictions. Ce sont des principes de conception précieux pour les dialogues de personnages contrôlés comme pour les assistants d'information.

Par exemple, si le joueur demande si l'initiale M prouve que Mara a écrit le mot, la réponse autorisée pourrait être : « Le M est bien là, mais cela ne nous dit pas pour autant qui a signé. » Le système peut autoriser cette formulation car elle préserve la différence entre le fait source et une déduction. Il ne doit pas improviser un témoin, une analyse graphologique ou un second document pour rendre la réponse plus gratifiante.

Faites renvoyer au modèle des champs structurés tels que spoken_text, claim_type et source_ids. Pour une réponse contenant un indice, exigez au moins un identifiant de source valide et confrontez cet identifiant aux enregistrements fournis pour ce tour de dialogue. Pour l'habillage narratif, marquez la réponse comme ne constituant pas une preuve et empêchez-la d'activer des indicateurs d'indices. Une sortie structurée ne garantit pas que le texte est vrai ; elle crée une information vérifiable par le jeu avant l'affichage ou tout changement d'état.

Section 5

Étiqueter l'habillage pour que les joueurs en perçoivent la portée

L'habillage narratif peut englober l'humeur d'un personnage, une plaisanterie anodine ou une remarque générale sur la pièce. Il ne doit pas introduire discrètement une date, un lieu, un objet, un témoin désigné, un mobile ou tout autre détail que les joueurs pourraient légitimement prendre pour une piste. Si vous souhaitez des propos spéculatifs, rendez l'incertitude lisible dans la formulation et tenez-la à l'écart des systèmes objectifs comme la liste des preuves, l'état des quêtes et les interactions basées sur des indices.

Cette distinction peut se refléter à la fois dans les données et dans la présentation. En interne, balisez les répliques comme étant des preuves, des interprétations ou de l'habillage ; dans l'interface, réservez le style visuel des preuves ou les entrées de carnet aux indices scénarisés par le jeu. Un personnage peut dire : « Le mot a peut-être été laissé à la hâte », mais à moins que le jeu n'ait prévu cette possibilité comme une interprétation autorisée, elle ne doit pas apparaître comme un indice confirmé ni ouvrir une nouvelle branche narrative. Cet étiquetage tripartite est une recommandation de conception née de la nécessité de préserver ce que la source énonce, ce que quelqu'un en déduit et ce qui relève du simple dialogue expressif.

Section 6

Utiliser des outils narratifs pour suivre l'état et les conditions

Vous n'avez pas besoin d'un moteur de jeu particulier pour appliquer cette approche. Les outils d'écriture interactive prennent généralement en charge les passages ou sections, les variables et le contenu conditionnel. La documentation officielle d'Ink décrit les variables et la logique conditionnelle permettant de contrôler le contenu de l'histoire ; le guide des passages du Twine Cookbook présente les passages comme des sections de contenu pouvant également inclure du code modifiant l'affichage ou la réactivité du texte. Ces fonctionnalités peuvent représenter l'état de découverte, les connaissances des personnages et les dialogues conditionnels, que le dialogue soit généré ou scénarisé à la main.

Veillez à la cohérence des identifiants d'indices et des noms d'états entre la documentation narrative et la logique du jeu. Une variable comme found_archive_note_03 est plus facile à vérifier qu'un vague indicateur clue2, en particulier lorsque plusieurs scènes la consultent ou la modifient. Ajoutez un lien traçable reliant chaque réplique générée exploitable à son enregistrement source autorisé ; si une ligne n'a pas de source valide, le moteur peut la rejeter ou basculer sur une réponse de repli sûre plutôt que de la traiter comme un indice.

Section 7

Tester les limites avec des sessions de jeu ciblées

Testez les conversations aux limites des conditions de découverte, là où les règles d'état sont les plus susceptibles d'échouer. Essayez d'engager une conversation avant que l'indice ne soit trouvé, immédiatement après sa découverte, et après avoir discuté avec un personnage possédant des connaissances différentes. Posez des questions directes sur des preuves non découvertes, posez une question à laquelle la source ne répond que partiellement, et rejouez la scène si le jeu le permet. Comparez la réplique affichée, les identifiants de source renvoyés et toute modification apportée au carnet ou à l'état de l'histoire.

Une liste de contrôle concise permet de garder ces vérifications bien concrètes :

Chaque affirmation exploitable correspond à un indice scénarisé ou à une interprétation explicitement autorisée.

La condition de découverte de l'indice est vérifiée avant qu'il n'apparaisse comme une information disponible.

L'interlocuteur est autorisé à connaître l'information dans cette scène.

Les questions non étayées reçoivent la réponse de repli prévue au lieu d'un nouveau fait précis.

Les répliques d'habillage ne peuvent pas ajouter d'entrées au carnet, débloquer des verrous d'indices ou modifier l'état des preuves.

Des données ambiguës ou contradictoires génèrent de l'incertitude ou une réponse de repli vérifiable, et non une nouvelle résolution implicite.

L'ancrage factual (grounding) limite le risque de fausses pistes inventées, mais il ne garantit pas que la prose générée respectera toujours les faits fournis. La récupération peut omettre un enregistrement pertinent, et un modèle peut continuer à produire du texte inexact malgré l'ancrage, comme le souligne Microsoft dans son guide sur les limites du RAG. Conservez l'autorité finale sur les indices au sein des données scénarisées et de la logique du jeu ; servez-vous de la génération pour donner une voix à ces paramètres balisés.

La règle empirique est simple : laissez le modèle choisir les mots, tandis que l'énigme scénarisée et l'état actuel du jeu déterminent ce que ces mots ont le droit d'établir. Lorsque chaque indice exploitable possède une source, un verrou de découverte et un statut précis, les personnages peuvent s'exprimer plus naturellement sans donner aux joueurs des preuves que le jeu n'a jamais prévues.

À lire aussi

Continuer sur ce thème