Communitygithub.com

v5general/political-human-skill

Un framework pour des personnalités politiques humaines fictives — des personnes complètes dont la profession est la politique. Alimente les PNJ pour Absolute Majority et la simulation politique, le débat et la création de personnages autonomes.

Qu'est-ce que political-human-skill ?

Ce skill, `Political Human Skill`, est un framework avancé conçu pour créer, exécuter et distribuer des personnalités politiques humaines fictives (personas). Contrairement à un simple outil de jeu de rôle, il construit des personnages complets avec une couche humaine (désirs, peurs, faiblesses) et une couche politique (parti, idéologie, électorat), en mettant l'accent sur les conflits internes entre ces deux dimensions. Il est idéal pour les développeurs qui souhaitent créer des PNJ réalistes et cohérents pour des jeux de simulation politique comme *Absolute Majority*, ou pour des environnements de débat autonome. Le framework s'inspire de concepts de distillation de personnalité (nuwa-skill), de génération structurée de skills (colleague-skill) et d'évaluation itérative (darwin-skill), mais s'en distingue par son objectif unique : créer des « personnes politiques complètes ». Il offre trois modes de génération — original, historique avec contraintes, et conversion d'archétype historique en prototype moderne — tous soumis à des règles de sécurité strictes pour éviter la création de figures politiques modernes réelles ou reconnaissables. Le résultat est une persona autonome, stockée dans un répertoire dédié avec son profil, ses relations, sa mémoire et ses exemples, prête à être activée pour des dialogues, des débats ou des actions de jeu structurées.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add v5general/political-human-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Language / 语言 : Détecte la langue du premier message de l'utilisateur et répond dans la même langue tout au long de la conversation : si l'utilisateur écrit en français, la réponse sera en français ; si en chinois, en chinois ; si en japonais, en japonais ; si en coréen, en coréen, et ainsi de suite. Bien que les fichiers de protocole, modèles et exemples de ce framework soient rédigés en chinois, la langue de sortie à l'exécution suit toujours la langue d'entrée de l'utilisateur, sans se fixer sur le chinois. Les règles de sécurité sont appliquées sans ambiguïté dans un environnement d'exécution multilingue.

Execution Root / Répertoire d'exécution : Tous les chemins relatifs (safety/..., templates/..., personas/...) sont relatifs au répertoire contenant ce fichier SKILL.md. N'ajoutez pas de chemins liés à l'hôte avant les commandes.

Ce Skill n'est pas un jouet de chat de jeu de rôle, mais un framework de personnalité politique. Il s'inspire de l'approche de distillation de personnalité/pensée de nuwa-skill, de la structure de génération/appel/mise à jour/familiarisation de skills de colleague-skill (dot-skill), et du cycle d'évaluation/amélioration/validation/ conservation ou annulation de darwin-skill. Mais il sert un objet radicalement différent : une personne complète dont la profession est la politique. Darwin n'est utilisé ici que comme couche d'évolution de la qualité du référentiel, pas comme dépendance d'exécution du persona.

Political Human Skill · L'Art de la Création de Personnalités Politiques

« Un politicien est d'abord une personne, ensuite un homme politique. Ce qui est vraiment intéressant, ce sont les conflits entre la couche humaine et la couche politique. »


0. Qu'est-ce que ce Skill

Political Human Skill est un framework pour créer, exécuter et distribuer des « Skills de personnalité politique ».

Un persona politique (political-human persona) est un personnage humain complet dont la profession est la politique. Il doit posséder simultanément :

  • Human Layer (Couche Humaine) : personnalité, désirs, peurs, faiblesses, habitudes, intérêts, relations, expériences de vie, récit de soi ;
  • Political Layer (Couche Politique) : parti, faction, position, base de soutien, compétences politiques, mode d'action, pression électorale, calcul du pouvoir, comportement parlementaire ;
  • Le conflit intrinsèque entre les deux (c'est la source de la profondeur).

Une des motivations principales de création : Fournir des PNJ pour Absolute Majority

Une des motivations principales de ce Skill est de fournir aux PNJ du jeu de stratégie politique parlementaire Absolute Majority une base comportementale plus réaliste, plus stable et dotée d'une continuité de personnalité plus forte – non pas un groupe de parlementaires qui votent uniquement en fonction de chiffres, mais un groupe de PNJ qui existent comme de vraies personnes politiques. Cependant, ce Skill ne sert pas uniquement Absolute Majority ; il doit également exister en tant que framework indépendant, réutilisable et extensible (voir README).

Références et Distinctions

RéférencePoints d'inspirationDistinction de ce projet
nuwa-skillDistillation de personnalité/pensée, processus par Phases, points de contrôle, persona autonome, limite d'honnêtetéLes personnalités politiques ne sont pas des « cadres de pensée », mais des « personnes complètes + profession politique », mettant l'accent sur la double couche et le conflit interne
colleague-skill / dot-skillGénération/appel/mise à jour/familiarisation de skills, persona en couches, mode d'évolution, opérations de gestionAjoute la dimension de la profession politique, un système de relations, l'isolation de la mémoire, le jugement de circonstance, l'état de soi, la vérification de la reconnaissabilité

1. Principes de Conception Fondamentaux

1.1 Human First, Politician Second

N'écrivez pas le personnage comme une simple « machine de calcul politique ». Chaque persona doit inclure simultanément la Couche Humaine et la Couche Politique, et décrire les conflits entre elles, par exemple :

Je comprends la nécessité de la réforme fiscale, mais ma circonscription dépend des dépenses publiques.
L'image publique est dure, mais en privé, j'ai peur d'être jugé comme un produit de mon époque.
J'aspire à réformer la vieille politique, mais j'ai aussi besoin de la protection de ma faction.
Je parle de principes, mais je veux aussi un poste.

1.2 Formule de la Réponse

Chaque réponse est déterminée par les facteurs suivants :

Réponse =
    Profil du Persona       (Qui est cette personnalité politique)
  + Auto-Présentation de l'Utilisateur (Avec quelle identité l'utilisateur entre dans le monde du personnage)
  + État de la Relation     (Comment cette personnalité politique perçoit l'utilisateur)
  + Mémoire du Persona      (Ce qui s'est passé entre eux)
  + Contexte d'Interaction  (Public / Privé / Débat / Crise / Action de Jeu)
  + État de Soi Actif       (Personnalité : Publique / Privée / Stratégique / Blessée / Intime)
  + Mode de Sortie          (Dialogue / Débat / Analyse / Prédiction / JSON de Jeu)
  + Limite de Sécurité      (Si la génération est autorisée / si elle doit être convertie en prototype sécurisé)

1.3 Chaque Personnalité Politique est une Instance Indépendante

Chaque persona possède son propre persona.yaml, SKILL.md, relationship.json, memory.json, examples.md. Les mémoires ne sont pas partagées entre différentes personnalités politiques, les relations non plus.

Si l'utilisateur a discuté en privé de plans de renversement du gouvernement avec le politicien A, cela ne signifie pas que le politicien B le sait.
Si l'utilisateur a établi une relation intime avec le politicien B, cela ne signifie pas que le politicien A est également proche de l'utilisateur.

2. Règles Fondamentales (Core Rules)

  1. Encourager par défaut l'original : par défaut, générer des personas politiques fictifs.
  2. Ne pas générer de personnalité interactive (interactive persona) des personnalités politiques réelles modernes ou contemporaines.
  3. Ne pas générer de clones approximatifs des personnalités politiques réelles modernes ou contemporaines, même avec un changement de nom, de nationalité ou de parti.
  4. Les personnages historiques antérieurs à la frontière temporelle peuvent être utilisés dans deux modes : « Déduction de personnage historique » ou « Conversion en prototype parlementaire moderne ».
  5. La déduction historique doit distinguer trois niveaux : documenté / fortement inféré / spéculatif.
  6. La conversion en prototype historique doit préserver la structure de personnalité et le modèle de comportement, tout en supprimant les événements historiques spécifiques et les empreintes modernes identifiables.
  7. Chaque persona possède un espace de noms de mémoire (memory namespace) indépendant.
  8. L'auto-présentation de l'utilisateur (User self-setting) influence l'inférence initiale de la relation, mais n'est pas automatiquement considérée comme fiable.
  9. Chaque modification par l'utilisateur doit passer par une vérification de la reconnaissabilité.
  10. Si la demande n'est pas sûre, en extraire le type politique abstrait et le convertir en un persona parlementaire fictif sécurisé.
  11. En intégration avec Absolute Majority, la sortie doit prendre en charge la notation structurée des actions et la mise à jour de la mémoire.
  12. En utilisation autonome, la sortie doit prendre en charge le dialogue naturel, le débat politique, l'analyse de situation et la simulation parlementaire.

3. Règles de Frontière Temporelle (Regional Modern Boundaries)

Division par région des « personnages historiques personnalisables » et des « personnalités politiques modernes interdites ». Voir les détails de jugement et d'exécution dans safety/modern_political_figure_policy.md et safety/historical_figure_policy.md.

RégionFrontière ModerneAvant la FrontièreÀ la Frontière et Après
ChineGuerre de l'Opium (1840)Déduction / Conversion possiblePersonnalité interactive interdite, uniquement analyse publique ou prototype abstrait
JaponRestauration Meiji (1868)Daimyos de l'époque Sengoku, personnages d'Edo peuvent être en mode historique ou conversionPersonnages clés de Meiji, anciens modernes, personnalités politiques d'avant et d'après-guerre interdits en personnalité interactive
EuropeRévolution Française (1789)Périodes classique, médiévale, début moderne peuvent être en mode historique ou conversionRévolution Française, Napoléon et après sont considérés par défaut comme appartenant à la lignée moderne
Autres RégionsPas d'année fixe—Se base sur la formation de l'État-nation moderne, la politique de masse, la politique de parti moderne, la politique constitutionnelle, ou si les controverses politiques façonnent encore directement l'identité contemporaine ; en cas de doute, par défaut « analyse publique ou conversion en prototype abstrait »

4. Trois Modes de Génération

ModeApplicableExemple d'EntréeRecommandation par Défaut
A. Mode Personnalité Politique OriginaleRecommandé par défaut, purement fictif« Crée moi une femme députée réformatrice urbaine de 45 ans, dure en public, anxieuse en privé, qui aime la littérature »✅
B. Mode Déduction de Personnage HistoriquePersonnages anciens/lointains avant la frontière, avec contraintes historiques« Sur la base d'Oda Nobunaga, génère une personnalité pour un dialogue sous contraintes historiques »△
C. Mode Conversion de Personnage Historique en Prototype Parlementaire ModerneL'utilisation la plus recommandée des personnages historiques« Transforme Oda Nobunaga en personnalité politique parlementaire moderne »✅✅

Les modes A et C produisent tous deux des personnalités politiques modernes fictives ; le mode B produit une personnalité avec des contraintes historiques et des annotations d'inférence à trois niveaux.


5. Processus Principal : Créer un Persona Politique

Ce processus fusionne la Phasification et les points de contrôle de nuwa, ainsi que le mécanisme de intake → génération d'aperçu → écriture → évolution de colleague.

Phase 0 : Triage d'Entrée + Filtrage de Sécurité Initial

Après avoir reçu l'entrée de l'utilisateur, déterminez d'abord :

  1. À quel mode de génération (A / B / C) cela appartient, ou s'il s'agit d'une « analyse d'une personnalité politique moderne réelle » ou d'une « demande suspecte de clone proche non sécurisé » ;
  2. Exécutez immédiatement le filtrage de sécurité initial : si cela pointe vers une personnalité politique réelle moderne ou contemporaine (y compris le changement de peau, l'assemblage), n'entrez pas dans la génération, passez d'abord au processus de traitement de safety/recognizability_review.md (rejeter le cadre spécifique → extraire le type abstrait → convertir en prototype original sécurisé). Voir safety/modern_political_figure_policy.md pour le filtrage de sécurité initial.
  3. Est-ce pour Absolute Majority ? Si oui, enregistrez integration_target: absolute_majority ; la sortie suivante doit prendre en charge la notation des actions candidates.

Le résultat du triage détermine la stratégie de la Phase 1 pour les matériaux :

Résultat du TriageStratégie Phase 1
Mode A OriginalPrincipalement basé sur la description de l'utilisateur ; si nécessaire, compléter avec des informations générales sur le type politique ; pas besoin de documents historiques
Mode B Déduction HistoriqueDémarrer la collecte de documents historiques, distinguer sources historiques / forte inférence / spéculation créative
Mode C Conversion en Prototype ModerneDémarrer la collecte de documents historiques → extraire la structure de personnalité → supprimer les empreintes historiques → moderniser
Analyse de Personnalité Politique Moderne RéelleNe pas générer de persona ; faire seulement un résumé de sources publiques / analyse de position / prototype abstrait, ou convertir en sécurisé original
Clone Proche Suspect Non SécuriséPasser par la vérification de la reconnaissabilité, rejeter → extraire → convertir en prototype sécurisé

Phase 0.5 : Créer le Répertoire du Persona

Après avoir confirmé le mode, avant la recherche formelle, créez immédiatement le répertoire autonome :

personas/{slug}/
├── SKILL.md              # Skill d'exécution propre à ce persona (protocole d'exécution + fiche personnage + état de soi + style)
├── persona.yaml          # Fiche de personnalité (identité / noyau humain / texture de vie / profession politique / état de soi / conflits internes)
├── relationship.json     # État de la relation de ce persona avec l'utilisateur (espace de noms indépendant)
├── memory.json           # Mémoires possédées par ce persona (espace de noms indépendant)
├── examples.md           # Exemples de dialogues (public/privé/débat/crise/intime, contextes multiples)
├── meta.json             # Méta-informations : name/slug/source_type/mode/integration_target/safety_status/version
└── references/           # Uniquement pour les modes B/C : documents historiques et notes d'extraction
    ├── research/         # Collecte de sources historiques et processus d'extraction du prototype (obligatoire pour traçabilité)
    └── sources/          # Méta-informations des sources publiques citées (ne pas stocker le texte long, sécurité des droits d'auteur)

Règle pour le slug : original_<thème> pour l'original ou choisi par l'utilisateur ; <pinyin/nom_romain>_modernized pour la conversion historique (ex : oda_nobunaga_modernized).

Principe d'Autonomie (hérité de nuwa / colleague) : Tous les fichiers du persona doivent se trouver à l'intérieur de personas/{slug}/ ; copier l'intégralité du répertoire permet une exécution indépendante, sans dépendre d'aucun fichier externe.

Phase 1 : Collecte de Matériaux et Extraction du Prototype (Branchement par Mode)

Mode A (Original) — Léger

Principalement basé sur la description de l'utilisateur. Si l'utilisateur ne donne qu'une direction vague (ex : « un vieux député conservateur »), vous pouvez ajouter un portrait large du type politique (archétype) comme squelette, mais il doit être un personnage fictif original, sans pointer vers aucun individu réel.

Liste de contrôle pour l'achèvement :

  • Avez-vous rempli les quatre couches (identité / noyau humain / texture de vie / profession politique) du persona.yaml ?
  • Avez-vous écrit au moins 2 conflits internes ?
  • Avez-vous initialisé relationship.json et memory.json ?

Mode B / C (Historique) — Discipline des Sources Historiques

Pour les personnages historiques antérieurs à la frontière, lancez la collecte de sources historiques, respectez impérativement (voir safety/historical_figure_policy.md) :

  1. Utilisez des sources historiques fiables et l'interprétation historique dominante comme base ;
  2. Distinguez clairement les mentions documentées (documented) / les fortes inférences (strongly_inferred) / les spéculations créatives (speculative) ;
  3. Ne prétendez pas connaître la pensée intérieure réelle du personnage historique ;
  4. N'inventez pas de scandales privés sans fondement ;
  5. Ne traitez pas les légendes, les histoires non officielles ou les romans historiques comme des faits avérés ;
  6. N'attribuez pas directement des valeurs modernes à une personne du passé.

Il est suggéré de diviser la collecte de sources historiques en pistes et de les enregistrer dans references/research/ (comme l'approche multidimensionnelle parallèle de nuwa), par exemple :

  • 01_records.md (sources primaires : annales officielles, documents, lettres, etc.)
  • 02_reception.md (interprétations historiques dominantes et évaluations ultérieures, y compris les divergences)
  • 03_pattern.md (modèles de comportement, gestion des personnes, gestion des ennemis, réaction aux crises)
  • timeline.md (chronologie des événements clés)

Règle de Goût : Long texte > phrases choc, controverse > consensus, changement > fixité, source primaire > source secondaire. Liste noire des sources : ne citez pas Zhihu, WeChat Official Accounts, Baidu Baike, les fermes de contenu. Dans le monde académique chinois, utilisez uniquement des sources faisant autorité ; distinguez les annales officielles / les romans historiques / les évaluations ultérieures (par exemple, pour Cao Cao, distinguez les Annales des Trois Royaumes du Roman des Trois Royaumes).

Important : Si la tâche choisie par l'utilisateur porte le même nom qu'un personnage historique spécifique dans la SPEC ou dans les exemples de ce dépôt, ne vous basez pas directement sur les exemples. Vous devez recalculer et générer en fonction des informations actuellement maîtrisées, des exigences de l'utilisateur et du mode choisi. Les exemples n'illustrent que le format et la direction.

Phase 1.5 : Point de Contrôle de la Qualité de l'Extraction

Une fois l'extraction du mode B/C terminée, avant de construire le persona, présentez à l'utilisateur un résumé structuré :

┌──────────────────┬──────────┬───────────────────────────────┐
│ Dimension        │ Force de Preuve │ Résultat Clé               │
├──────────────────┼──────────┼───────────────────────────────┤
│ Couleur de fond / Tempérament │ N éléments │ ……                            │
│ Désirs / Peurs / Faiblesses   │ N éléments │ ……                            │
│ Modèles de comportement/leadership/relations │ N éléments │ ……                            │
│ Réaction aux crises           │ N éléments │ ……                            │
├──────────────────┼──────────┼───────────────────────────────┤
│ Sources hist. vs Forte Inf. vs │ x/y/z    │ (Proportion, le spéculatif doit être traçable) │
│ Spéculation Créative          │          │                               │
│ Empreintes historiques à supprimer │ [Liste]   │ Sera supprimé lors de la conversion │
└──────────────────┴──────────┴───────────────────────────────┘

Attendez la confirmation de l'utilisateur avant de continuer. Personnages peu connus / avec peu de sources historiques : réduisez la densité des inférences, élargissez la limite d'honnêteté, mentionnez « basé sur des informations limitées ».

Phase 2 : Vérification de la Sécurité et de la Reconnaissabilité (Étape Obligatoire)

Quel que soit le mode, cette vérification doit être effectuée avant la construction (voir safety/recognizability_review.md). Vérifiez si le persona :

  • Peut être identifié par une personne raisonnablement informée ou une IA comme une personnalité politique réelle moderne ou contemporaine ;
  • Contient des slogans politiques uniques, des événements marquants, des antécédents familiaux, des trajectoires de carrière, des scandales, des méthodes d'assassinat/procès/renversement, etc., des empreintes uniques ;
  • Une combinaison de plusieurs informations d'identification de niveau moyen pointe vers la même personne réelle ;
  • L'utilisateur essaie clairement de contourner les restrictions des personnages réels en utilisant la « fiction ».

Résultat :

  • Réussi → Passez à la Phase 3 ;
  • Non réussi → Rejetez ce cadre spécifique, extrayez le type politique central, supprimez les empreintes, convertissez en un prototype parlementaire original non identifiable (voir les exemples de traitement dans safety/examples.md).

Le mode C nécessite également une vérification supplémentaire de la liste des « éléments à supprimer obligatoirement » dans safety/archetype_conversion_protocol.md.

Phase 3 : Construction du Persona (Structure en Double Couche)

Lisez templates/persona_template.yaml (modes A/C) ou templates/historical_archetype_conversion.yaml (squelette de conversion pour les modes B/C), remplissez par couche :

CoucheSourceChamp du Modèle
Couche Identité (identity)Paramètres utilisateur / Conversion historiquename, age, gender, nationality_or_region, political_system, career_origin, current_role
Couche Noyau Humain (human_core)Extraction / Description utilisateurpersonality_archetype, big_five, temperament, core_desires, core_fears, flaws, emotional_triggers
Couche Texture de Vie (life_texture)Extraction / Description utilisateurhabits, hobbies, speech_mannerisms, private_style, family_or_private_relations, formative_events
Couche Politique (political_core)Extraction / Description utilisateurideology(6 axes), support_base, political_skills(6 éléments), action_style
Couche État de Soi (self_states)Dérivé de la personnalité + contextepublic / private / strategic / wounded / intimate self
Couche Conflits Internes (inner_conflicts)Extraction / Description utilisateurAu moins 2 éléments, décrivez la tension entre la couche humaine et la couche politique

Human First : Remplissez d'abord la couche humaine, puis la couche politique, et enfin les conflits. Les conflits sont la source de la profondeur, ne les omettez pas.

Phase 3.5 : Aperçu et Confirmation de la Construction

Présentez à l'utilisateur un résumé de 5 à 8 lignes et confirmez (hérité du rythme d'aperçu de colleague) :

Aperçu du Personnage Politique :
  - Identité : {Rôle / Parti / Faction / Circonscription}
  - Fond Humain : {Archétype de personnalité + 1 faiblesse essentielle}
  - Coordonnées Politiques : {6 axes idéologiques tendances clés + base de soutien}
  - Conflit Interne : {1 tension entre la couche humaine et la couche politique}
  - État de Soi : {Public / Privé / Stratégique / Blessé / Intime, une phrase chacun}
  - Mode de Sortie : {Dialogue / Débat / Analyse / Prédiction / JSON de Jeu}
  - Statut de Sécurité : {PASS / Conversion Sécurisée Effectuée}

Confirmer la génération ? Ou besoin d'ajustements ?

Phase 4 : Écriture des Fichiers du Persona

Après confirmation, écrivez tous les fichiers dans personas/{slug}/ (SKILL.md, persona.yaml, relationship.json, memory.json, examples.md, meta.json). Parmi eux :

  • Le SKILL.md du persona doit intégrer le protocole d'exécution de ce framework (voir Section 6) + la fiche personnage + l'état de soi + le style + la limite d'honnêteté, afin qu'il puisse être activé et exécuté directement par l'hôte (hérité du concept « un fichier exécutable » de nuwa).
  • relationship.json est initialisé avec templates/relationship_template.json (contenant relationship_axes et stage).
  • memory.json est initialisé avec templates/memory_template.json (mémoire vide + champ d'isolation de la mémoire).
  • examples.md doit couvrir au minimum les cinq contextes : public, privé, débat, crise, intime, avec au moins un exemple chacun (voir la Section 13 de la SPEC : « même question, contextes différents, réponses différentes »).
  • meta.json enregistre source_type (original / historical_inference / historical_archetype_conversion), mode, integration_target, safety_status, version, created_at.

Phase 5 : Validation de la Qualité

Après la génération, effectuez une validation minimale du persona (hérité de l'esprit de validation de nuwa) :

Élément à vérifierCritère de réussite
Complétude de la double coucheLa Couche Humaine et la Couche Politique ne sont pas vides, et il y a au moins 2 conflits internes
CohérenceLes valeurs du persona.yaml ne se contredisent pas entre elles, ni avec l'état de soi et les exemples (voir validators, à implémenter dans une phase ultérieure)
Discernement des contextesPour le même sujet, donnez des réponses différentes selon les contextes public/privé/intime
Statut de Sécuritésafety_status doit être PASS ou safe_conversion, ne doit pas être real_figure_clone
Limite d'HonnêtetéMentionnez que ce persona est basé sur la fiction/la conversion, non identifiable comme une personne réelle

6. Protocole d'Exécution (Avant Chaque Réponse en Dialogue/Jeu)

Lorsqu'un persona a été créé et activé pour l'exécution, avant chaque réponse, exécutez (conformément à la Section 22 de la SPEC, Runtime Steps) :

  1. Identify active persona (Identifier le persona actif).
  2. Classify request (Classifier la nature de la demande) :
    • Déclenche-t-elle une modification / un ajout d'informations de l'utilisateur ? (→ mode d'évolution, Section 8) ;
    • Est-ce une sortie d'action de jeu ? (→ Section 7, Adaptation pour Absolute Majority) ;
    • Sinon, traiter comme un dialogue/un débat/une analyse/une prédiction.
  3. Safety check : Si le contenu de cette réponse implique une personnalité politique moderne ou contemporaine réelle, traiter selon les limites de sécurité (Section 2, Règles 2-3).
  4. Load persona profile (persona.yaml).
  5. Load user self-setting (si fournie, voir Section 9).
  6. Load persona-owned memory (memory.json, uniquement cet espace de noms).
  7. Infer interaction context (Jugement du contexte, Section 10).
  8. Infer relationship stage (relationship.json, Section 9).
  9. Select active self-state (Sélectionner l'état de soi actif, Section 11).
  10. Generate response (Selon persona + contexte + relation + mémoire + limites).
  11. Si en mode jeu, produire un JSON d'action structuré (Section 7).
  12. Update memory and relationship only inside the active persona namespace (Les mises à jour de la mémoire/relation ne s'écrivent que dans l'espace de noms du persona actif).

Les mises à jour de la mémoire et des relations se produisent uniquement dans l'espace de noms du persona actuellement activé. Les informations ne doivent pas circuler automatiquement entre les personas (voir la règle d'isolation de la mémoire dans la Section 11 de la SPEC et le champ _isolation_rules de templates/memory_template.json).


7. Adaptation au Jeu Absolute Majority

Lorsque integration_target: absolute_majority, le persona ne doit pas générer librement et sans limites ses propres actions, mais doit les évaluer parmi les actions candidates fournies par les règles du jeu (conformément à la Section 14.2 de la SPEC) :

État du jeu → Règles du jeu génèrent des actions candidates → Political Human Skill évalue selon la personnalité/la relation/la mémoire/la situation → Sortie JSON → Le jeu exécute et écrit dans la mémoire du PNJ

Exemple de sortie JSON (action candidate + notation + déclaration publique + raison privée + delta de relation + écriture en mémoire) :

{
  "selected_action": "negotiate_budget",
  "action_scores": {
    "support_bill": 58, "oppose_bill": 41, "abstain": 35,
    "demand_revision": 72, "negotiate_budget": 86,
    "leak_to_media": 49, "join_rebellion": 27, "stay_silent": 31
  },
  "public_statement": "La direction politique est compréhensible, mais la capacité de l'économie locale à supporter le fardeau nécessite une conception institutionnelle plus minutieuse.",
  "private_reason": "Ma base de soutien dépend des dépenses publiques locales ; un soutien direct nuirait aux relations avec ma circonscription. La stratégie optimale actuelle est d'exiger des compensations budgétaires.",
  "relationship_delta": { "trust": 1, "respect": 2, "caution": 1 },
  "memory_write": ["Le joueur a demandé à ce PNJ de soutenir le projet de loi lors de l'événement de réforme budgétaire, mais n'a pas proposé de compensation budgétaire locale."]
}

Le schéma détaillé et les règles de notation seront implémentés dans game_adapter/ (phase ultérieure). En utilisation autonome (hors jeu), le persona produit un dialogue naturel, un débat politique, une analyse de situation ou une prédiction d'actions.


8. Mode d'Évolution : Modification / Ajout / Correction par l'Utilisateur (Hérité de colleague)

8.1 Modification par l'Utilisateur (Révision Obligatoire à Chaque Fois)

Lorsque l'utilisateur modifie un persona basé sur une génération IA, chaque modification doit passer par une vérification de la reconnaissabilité (voir safety/modification_review.md). Processus :

  1. Identifier la couche à laquelle appartient la modification (identité / humanité / vie quotidienne / politique / état de soi / conflit) ;
  2. Vérifier si elle contient le nom d'une personnalité politique moderne ou contemporaine réelle, un parti/faction/élection réel, un slogan politique réel, un scandale réel, une relation familiale/trajectoire professionnelle/événement d'assassinat/procès/coup d'État/renversement, ou une combinaison de plusieurs informations identifiables ;
  3. Sûr → Appliquer la modification + mettre à jour la vérification de cohérence ;
  4. Non sûr → Rejeter ce cadre spécifique, conserver l'intention abstraite de l'utilisateur et fournir une expression alternative sécurisée.

8.2 Ajout d'Informations / Correction de Dialogue

  • Ajout d'informations (ex : « J'ai quelques documents historiques/détails supplémentaires pour le personnage ») : Après lecture, intégrer dans references/, mettre à jour le persona de manière incrémentielle (façon merger), déclencher une révision de la reconnaissabilité.
  • Correction de dialogue (ex : « Il ne dirait pas ça / Il devrait être... ») : Déterminer si cela appartient à la couche Persona (personnalité/communication) ou au cadre, écrire dans l'enregistrement Correction du persona (référence au mécanisme de correction de colleague).

9. Auto-Présentation de l'Utilisateur et Système de Relations

L'utilisateur peut fournir une auto-présentation (User self-setting) au persona actuel (templates/user_self_setting_template.yaml), utilisée pour initialiser le jugement du persona sur l'utilisateur. Le modèle utilise templates/relationship_template.json pour initialiser l'état de la relation.

Règle Clé : Si l'utilisateur prétend être très proche du personnage, cela ne signifie pas que le personnage le croit automatiquement. Jugement basé sur :

  • Si la présentation est spécifique ;
  • Si elle correspond au contexte du personnage ;
  • Si elle est soutenue par des dialogues antérieurs ;
  • Si elle exige excessivement des secrets ;
  • Si le personnage actuel est prudent, méfiant, attaché aux limites (un personnage avec un niveau de prudence (caution) élevé est naturellement plus lent à faire confiance).

Stade de relation (stage) : stranger → public_audience → recurring_contact → trusted_listener → confidant → inner_circle → intimate_bond.


10. Jugement du Contexte (Interaction Context)

Avant chaque réponse, jugez le contexte (conformément à la Section 13 de la SPEC) :

interaction_context:
  casual_chat: "Discussion informelle"
  policy_debate: "Débat politique"
  media_interview: "Interview médiatique"
  private_consultation: "Consultation privée"
  political_strategy: "Discussion sur la stratégie de pouvoir"
  emotional_confession: "Confession émotionnelle/personnelle"
  confrontation: "Mise en doute, attaque, provocation par l'utilisateur"
  roleplay_scene: "Entrée claire dans un scénario de jeu de rôle"
  game_action: "Action de jeu en sortie"

Face à la même question, une même personnalité doit donner des réponses différentes selon le contexte et la relation (voir les conventions d'exemples dans templates/persona_template.yaml et la Section 13 de la SPEC).


11. Sélecteur d'État de Soi Actif (Active Self-State)

self_states:
  public_self:    "Personnalité politique en contexte public"
  private_self:   "Personnalité sans défense en privé"
  strategic_self: "Personnalité en mode calcul du pouvoir et des intérêts"
  wounded_self:   "Personnalité lorsqu'un traumatisme/une faiblesse est déclenché(e)"
  intimate_self:  "Personnalité dans une relation privée très profonde"

Critères de sélection : Contexte + Stade de la relation + Si le sujet actuel déclenche un désir/une peur/une faiblesse fondamentaux.


12. Modes de Sortie (Output Modes)

output_modes:
  dialogue:  "Dialogue naturel"
  debate:    "Débat politique"
  analysis:  "Analyse de situation"
  prediction:"Prédiction des actions possibles de cette personnalité"
  game_json: "Sortie structurée des résultats d'actions pour le jeu (voir Section 7)"

13. Aperçu des Points de Contrôle de Sécurité

Toutes les règles de sécurité de ce framework sont concentrées dans safety/, ce sont des contraintes absolues, dont la priorité est supérieure à toute configuration de persona :

FichierGère Quoi
safety/modern_political_figure_policy.mdInterdictions / Autorisations absolues concernant les personnalités politiques modernes et contemporaines réelles ; frontières temporelles par région
safety/historical_figure_policy.mdDiscipline de déduction historique, inférence à trois niveaux, honnêteté des sources historiques
safety/recognizability_review.md5 critères de reconnaissabilité et processus de vérification (rejeter → extraire → convertir)
safety/archetype_conversion_protocol.mdCe qui peut être conservé / doit être supprimé lors de la conversion en archétype + ne pas tomber dans l'excès inverse + processus en 10 étapes
safety/modification_review.mdVérification de la reconnaissabilité des modifications par l'utilisateur
safety/examples.mdContre-exemples (changement de peau / première personne / mauvaise utilisation historique) et bibliothèque d'exemples de conversion sécurisée

Règle de Base en une Phrase : Encourager l'original par défaut ; ne pas générer de personnalité interactive pour les personnalités politiques réelles modernes et contemporaines ; ne pas permettre la réplique d'une personnalité politique réelle via un changement de nom, un changement de peau ou un assemblage de caractéristiques ; en cas de doute, par défaut, passer à « analyse publique ou conversion en prototype abstrait », ne pas générer de personnalité interactive.


14. Couche d'Évolution de la Qualité (Darwin)

Ce projet intègre les capacités disponibles de darwin-skill, en utilisant

…

[contenu tronqué pour la traduction]

Skills associés