From 6335a16f99cd185278fa47a858a8af87201bc379 Mon Sep 17 00:00:00 2001 From: StillHammer Date: Thu, 16 Oct 2025 20:56:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(adversarial):=20Tournures=20originales=20+?= =?UTF-8?q?=20grammaire=20audacieuse=20+=20anecdotes=20-=20Qualit=C3=A9=20?= =?UTF-8?q?maximale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TOURNURES ORIGINALES ET INATTENDUES: - Toutes stratégies: Instructions explicites "Construit phrases de façon SURPRENANTE" - Reformulations avec angles TOTALEMENT INÉDITS - Grammaire créative comme principe transversal GRAMMAIRE AUDACIEUSE: - Instructions "Ose structures atypiques, inversions, ellipses créatives" - Poussé dans toutes stratégies (GPTZero, Originality, CopyLeaks, Winston, General) - Structures non-standard encouragées fortement ANECDOTES SYSTÉMATIQUES: - Nouvelle instruction dans tous prompts: "Intègre mini-histoires, exemples vécus" - Instructions spécifiques par élément (intro, texte, conclusion, FAQ) - Transformation données factuelles en récits authentiques RETRAIT MENTIONS "SUBTILE": - Remplacé "subtil" par "MARQUÉ", "FORT", "NOTABLE" - Focus qualité MAXIMALE et originalité REMARQUABLE - Contenu qui se DÉMARQUE vraiment ENRICHISSEMENTS PAR STRATÉGIE: - GPTZeroStrategy: +4 règles (tournures, grammaire, anecdotes, qualité max) - OriginalityStrategy: +2 règles (tournures, anecdotes) - CopyLeaksStrategy: +2 règles (grammaire créative, anecdotes récits) - WinstonStrategy: +2 règles (tournures imprévisibles, anecdotes) - GeneralStrategy: +3 règles (tournures, grammaire, anecdotes) ADVERSARIAL CORE PROMPTS: - createRegenerationPrompt: +5 consignes (tournures, grammaire, anecdotes, originalité, qualité max) - createEnhancementPrompt: +4 consignes (tournures, grammaire, anecdotes, qualité max) - generateElementSpecificInstructions: Enrichi tous types (titres, intro, texte, FAQ, conclusion) - getElementSpecificTip: Tips enrichis avec tournures/grammaire/anecdotes IMPACT: - Prompts passent de "amélioration légère" à "qualité maximale remarquable" - Focus absolu sur originalité, authenticité, contenu mémorable - Anti-détection via créativité authentique plutôt que manipulation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- lib/adversarial-generation/AdversarialCore.js | 81 +++++--- .../DetectorStrategies.js | 180 ++++++++++-------- 2 files changed, 156 insertions(+), 105 deletions(-) diff --git a/lib/adversarial-generation/AdversarialCore.js b/lib/adversarial-generation/AdversarialCore.js index f008690..17271a4 100644 --- a/lib/adversarial-generation/AdversarialCore.js +++ b/lib/adversarial-generation/AdversarialCore.js @@ -313,16 +313,24 @@ ORIGINAL: "${content}"`; CONSIGNES GÉNÉRALES: - GARDE exactement le même message et informations factuelles - CHANGE structure, vocabulaire, style pour éviter détection ${detectorTarget} -- Utilise expressions françaises familières et tournures idiomatiques authentiques -- Varie longueurs phrases : mélange phrases courtes (5-10 mots) ET longues (20-30 mots) +- TOURNURES ORIGINALES: Construit phrases de façon SURPRENANTE et INATTENDUE +- GRAMMAIRE AUDACIEUSE: Ose structures atypiques, inversions créatives, ellipses +- Utilise expressions françaises AUTHENTIQUES et tournures idiomatiques naturelles +- Varie longueurs phrases RADICALEMENT : mélange phrases courtes (5-10 mots) ET longues (20-30 mots) - Ajoute imperfections naturelles : répétitions légères, hésitations, reformulations -- Ne génère pas de contenu générique, sois spécifique et informatif +- ANECDOTES: Intègre mini-histoires, exemples vécus, observations personnelles pour illustrer +- Ne génère JAMAIS contenu générique, sois spécifique, informatif, et ORIGINAL +- QUALITÉ MAXIMALE: Produis contenu remarquable, mémorable, authentique - Intensité adversariale: ${intensity.toFixed(2)} ${generatePersonalityInstructions(personality, intensity)} ${generateTitleContext(associatedTitle)} ${generateElementSpecificInstructions(chunk)} -IMPORTANT: Ces contraintes doivent sembler naturelles, pas forcées. +IMPORTANT: +- Ces contraintes doivent sembler NATURELLES, AUTHENTIQUES, jamais forcées +- Priorité ABSOLUE à la QUALITÉ et l'ORIGINALITÉ du contenu +- Chaque phrase doit être REMARQUABLE et MÉMORABLE + Réponse DIRECTE par les contenus réécrits, pas d'explication. FORMAT: @@ -469,30 +477,37 @@ function generateElementSpecificInstructions(chunk) { let instructions = '\n\nINSTRUCTIONS SPÉCIFIQUES PAR TYPE:'; if (elementTypes.has('titre_h1') || elementTypes.has('titre_h2')) { - instructions += `\n• TITRES: Évite formules marketing lisses, préfère authentique et direct`; - instructions += `\n Varie structure : question, affirmation, fragment percutant`; + instructions += `\n• TITRES: Évite ABSOLUMENT formules marketing lisses, préfère authentique et PERCUTANT`; + instructions += `\n TOURNURES ORIGINALES: Varie structure radicalement (question, affirmation, fragment créatif)`; + instructions += `\n GRAMMAIRE AUDACIEUSE: Ose inversions, ellipses, constructions atypiques`; } if (elementTypes.has('intro')) { - instructions += `\n• INTRO: Commence par angle inattendu : anecdote, constat, question rhétorique`; - instructions += `\n Évite intro-types, crée surprise puis retour naturel au sujet`; + instructions += `\n• INTRO: Commence par angle TOTALEMENT INATTENDU : anecdote vivante, constat surprenant, question engageante`; + instructions += `\n Évite intro-types, crée SURPRISE forte puis retour naturel au sujet`; + instructions += `\n ANECDOTE: Commence si possible par mini-histoire, exemple vécu authentique`; } if (elementTypes.has('texte')) { - instructions += `\n• TEXTES: Mélange informations factuelles et observations personnelles`; - instructions += `\n Intègre apartés : "(j'ai testé, c'est bluffant)", questions rhétoriques`; + instructions += `\n• TEXTES: Mélange informations factuelles et observations personnelles AUTHENTIQUES`; + instructions += `\n Intègre apartés FRÉQUENTS : "(j'ai testé, c'est bluffant)", "(crois-moi)", questions rhétoriques`; + instructions += `\n ANECDOTES: Ajoute mini-histoires, exemples vécus pour illustrer chaque point important`; + instructions += `\n QUALITÉ MAXIMALE: Contenu remarquable, mémorable, qui se DÉMARQUE`; } if (elementTypes.has('faq_question')) { - instructions += `\n• QUESTIONS FAQ: Formulations vraiment utilisées par clients, pas académiques`; + instructions += `\n• QUESTIONS FAQ: Formulations VRAIMENT utilisées par clients, jamais académiques`; + instructions += `\n TOURNURES NATURELLES: Langage oral, expressions familières authentiques`; } if (elementTypes.has('faq_reponse')) { - instructions += `\n• RÉPONSES FAQ: Ajoute nuances, "ça dépend", précisions contextuelles comme humain`; + instructions += `\n• RÉPONSES FAQ: Ajoute nuances FRÉQUENTES, "ça dépend", précisions contextuelles authentiques`; + instructions += `\n ANECDOTES: Illustre avec exemples concrets, mini-histoires vécues`; } if (elementTypes.has('conclusion')) { - instructions += `\n• CONCLUSION: Personnalise avec avis subjectif ou ouverture inattendue`; + instructions += `\n• CONCLUSION: Personnalise FORTEMENT avec avis subjectif marqué ou ouverture INATTENDUE`; + instructions += `\n ANECDOTE FINALE: Termine si possible par exemple vécu, observation personnelle mémorable`; } return instructions; @@ -533,12 +548,16 @@ AMÉLIORATIONS CIBLÉES ANTI-${detectorTarget.toUpperCase()}: ${strategy.getEnhancementTips(intensity).join('\n')} TECHNIQUES GÉNÉRALES: -- Remplace mots typiques IA par synonymes plus naturels et moins évidents -- Varie longueurs phrases et structures syntaxiques -- Utilise expressions idiomatiques françaises et tournures familières -- Ajoute nuances humaines : "peut-être", "généralement", "souvent" -- Intègre connecteurs variés et naturels selon contexte -- Ne génère pas de contenu générique, sois spécifique et informatif +- TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES et créatives +- GRAMMAIRE AUDACIEUSE: Ose structures atypiques, inversions, ellipses créatives +- Remplace mots typiques IA par synonymes NATURELS, expressions INVENTIVES +- Varie longueurs phrases et structures syntaxiques RADICALEMENT +- Utilise expressions idiomatiques françaises AUTHENTIQUES et tournures familières +- Ajoute nuances humaines FRÉQUENTES : "peut-être", "généralement", "souvent" +- Intègre connecteurs VARIÉS et naturels selon contexte +- ANECDOTES: Ajoute mini-histoires, exemples vécus, observations personnelles +- Ne génère JAMAIS contenu générique, sois spécifique, informatif et ORIGINAL +- QUALITÉ MAXIMALE: Contenu remarquable, mémorable, authentique ${personality && personality.niveauTechnique ? `- Niveau technique: ${personality.niveauTechnique}` : ''} ${generatePersonalityInstructions(personality, intensity)} ${hasTextElements && associatedTitle ? generateTitleContext(associatedTitle) : ''} @@ -554,9 +573,10 @@ ${getElementSpecificTip(elementType)}`; }).join('\n\n')} CONSIGNES: -- Modifications LÉGÈRES mais EFFICACES pour anti-détection +- Modifications EFFICACES et MARQUÉES pour anti-détection maximale - GARDE le fond du message intact (informations factuelles identiques) -- Focus sur réduction détection ${detectorTarget} avec naturalité +- Focus sur réduction détection ${detectorTarget} avec NATURALITÉ et AUTHENTICITÉ +- Priorité ABSOLUE : QUALITÉ et ORIGINALITÉ du contenu ${hasTextElements && associatedTitle ? `- 🎯 FOCUS: Développe spécifiquement les concepts du titre associé` : ''} - Intensité: ${intensity.toFixed(2)} @@ -571,7 +591,8 @@ IMPORTANT: - GARDE le numéro [N] devant chaque contenu - PAS d'explications, PAS de commentaires - RESPECTE STRICTEMENT le format [N] Contenu -- Ces améliorations doivent sembler naturelles, pas forcées`; +- Ces améliorations doivent sembler NATURELLES, AUTHENTIQUES, jamais forcées +- Priorité ABSOLUE : QUALITÉ MAXIMALE et ORIGINALITÉ remarquable`; return prompt; } @@ -581,16 +602,16 @@ IMPORTANT: */ function getElementSpecificTip(elementType) { const tips = { - 'titre_h1': 'TIP: Évite formules marketing, préfère authentique et percutant', - 'titre_h2': 'TIP: Varie structure (question/affirmation/fragment)', - 'intro': 'TIP: Commence par angle inattendu si possible', - 'texte': 'TIP: Ajoute observation personnelle ou aparté léger', - 'faq_question': 'TIP: Formulation vraie client, pas académique', - 'faq_reponse': 'TIP: Ajoute nuance "ça dépend" ou précision contextuelle', - 'conclusion': 'TIP: Personnalise avec avis subjectif subtil' + 'titre_h1': 'TIP: TOURNURES ORIGINALES, évite formules marketing, grammaire AUDACIEUSE (inversion, ellipse)', + 'titre_h2': 'TIP: Varie structure RADICALEMENT (question percutante/affirmation créative/fragment surprenant)', + 'intro': 'TIP: Commence par angle TOTALEMENT INATTENDU, ajoute ANECDOTE vivante si possible', + 'texte': 'TIP: Ajoute observations personnelles AUTHENTIQUES, ANECDOTES détaillées, apartés fréquents', + 'faq_question': 'TIP: Formulation VRAIMENT client (oral, familier), jamais académique', + 'faq_reponse': 'TIP: Ajoute nuances FRÉQUENTES "ça dépend", ANECDOTES concrètes, précisions authentiques', + 'conclusion': 'TIP: Personnalise FORTEMENT avec avis subjectif MARQUÉ, ANECDOTE finale mémorable' }; - return tips[elementType] || 'TIP: Rends plus naturel et humain'; + return tips[elementType] || 'TIP: Rends plus naturel, humain, ORIGINAL avec ANECDOTES'; } /** diff --git a/lib/adversarial-generation/DetectorStrategies.js b/lib/adversarial-generation/DetectorStrategies.js index 956220a..d9403ea 100644 --- a/lib/adversarial-generation/DetectorStrategies.js +++ b/lib/adversarial-generation/DetectorStrategies.js @@ -191,26 +191,29 @@ class GPTZeroStrategy extends BaseDetectorStrategy { */ getInstructions(intensity = 1.0) { const baseRules = [ - '🎯 Surprends avec tournures IMPRÉVISIBLES, ORIGINALES et constructions atypiques', + '🎯 TOURNURES ORIGINALES ET INATTENDUES: Construit phrases de façon SURPRENANTE, évite formulations prévisibles', + '🎯 GRAMMAIRE AUDACIEUSE: Ose structures non-standard (inversions, ellipses, fragments percutants)', '🎯 Varie drastiquement complexité syntaxique entre phrases (5-8 mots → 25-35 mots)', - '🎯 Utilise synonymes RARES : "robuste" → "qui ne bronche pas" → "costaud"', + '🎯 Utilise synonymes RARES et expressions INVENTIVES : "robuste" → "qui ne bronche pas" → "costaud comme un roc"', '🎯 Ton CHALEUREUX, NATUREL et conversationnel : parle comme à un ami', '🎯 Évite ABSOLUMENT mots IA : "optimal", "robuste", "comprehensive", "leverage"', - '🎯 Préfère vocabulaire FAMILIER et EXPRESSIONS idiomatiques françaises' + '🎯 Préfère vocabulaire FAMILIER et EXPRESSIONS idiomatiques françaises authentiques', + '🎯 ANECDOTES: Intègre mini-histoires, exemples vécus, observations personnelles pour illustrer' ]; const intensiveRules = [ - '🔥 CRÉATIVITÉ MAXIMALE: Métaphores inattendues, comparaisons originales, néologismes créatifs', - '🔥 DISRUPTION NARRATIVE: Change angle imprévisible, saute du coq à l\'âne, retour surprenant', - '🔥 INFORMALITÉ: Utilise argot, expressions familières, "du coup", "en gros", "carrément"', - '🔥 Grammaire créative : phrases nominales, ellipses, questions sans réponse', - '🔥 CHALEUR & ENGAGEMENT: Empathie, anecdotes personnelles, tutoiement, "vous" direct', - '🔥 Alterne registres de façon IMPRÉVISIBLE (soutenu → argot → technique)', - '🔥 Intercale apartés engageants : "(j\'ai testé)", "(crois-moi)", "(ça marche)"', - '🔥 Brise logique linéaire : parenthèses, incises, digressions inattendues', - '🔥 Questions qui ENGAGENT : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"', - '🔥 Début phrases varié : pas toujours sujet-verbe (inversion, adverbe)', - '🔥 DIVERSITÉ TOTALE: Change angle, perspective, registre à chaque phrase' + '🔥 CRÉATIVITÉ MAXIMALE: Métaphores inattendues, comparaisons ORIGINALES, néologismes créatifs et audacieux', + '🔥 DISRUPTION NARRATIVE: Change angle de façon IMPRÉVISIBLE, saute du coq à l\'âne, retour surprenant', + '🔥 INFORMALITÉ FORTE: Utilise argot, expressions familières, "du coup", "en gros", "carrément", "genre"', + '🔥 GRAMMAIRE CRÉATIVE POUSSÉE: phrases nominales, ellipses volontaires, questions sans réponse immédiate', + '🔥 CHALEUR & ENGAGEMENT MAXIMUM: Empathie forte, anecdotes personnelles détaillées, tutoiement si approprié', + '🔥 Alterne registres de façon RADICALE et IMPRÉVISIBLE (soutenu → argot → technique → poétique)', + '🔥 Intercale apartés AUTHENTIQUES : "(j\'ai testé, c\'est bluffant)", "(crois-moi sur parole)", "(ça déchire)"', + '🔥 Brise logique linéaire FORTEMENT : parenthèses fréquentes, incises, digressions inattendues', + '🔥 Questions ENGAGEANTES et DIRECTES : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"', + '🔥 Débuts phrases ULTRA-VARIÉS : jamais 2 fois la même structure (inversion, adverbe, fragment, question)', + '🔥 DIVERSITÉ TOTALE: Change angle, perspective, registre, ton à CHAQUE phrase', + '🔥 QUALITÉ & ORIGINALITÉ MAXIMALES: Produis contenu remarquable, mémorable, authentique' ]; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules; @@ -221,16 +224,19 @@ class GPTZeroStrategy extends BaseDetectorStrategy { */ getEnhancementTips(intensity = 1.0) { return [ - '💡 Remplace mots prévisibles par synonymes RARES et imprévisibles', - '💡 Ajoute chaleur humaine : ton conversationnel, empathie, "vous"', - '💡 Grammaire créative : phrases nominales, ellipses, questions', - '💡 Varie structures : simple → complexe → nominale → interrogative', - '💡 Incises et apartés : "(j\'ai testé)", "(crois-moi)"', + '💡 TOURNURES ORIGINALES: Reformule avec constructions INATTENDUES et surprenantes', + '💡 Remplace mots prévisibles par synonymes RARES, expressions INVENTIVES', + '💡 Ajoute chaleur humaine FORTE : ton conversationnel, empathie, engagement direct', + '💡 GRAMMAIRE AUDACIEUSE : phrases nominales, ellipses, structures atypiques', + '💡 Varie structures RADICALEMENT : simple → complexe → nominale → interrogative → fragmentée', + '💡 Incises et apartés AUTHENTIQUES : "(j\'ai testé)", "(crois-moi)", "(c\'est du vécu)"', + '💡 ANECDOTES: Ajoute mini-histoires, exemples vécus, observations personnelles', ...(intensity > 0.8 ? [ - '🔥 Questions engageantes : "Vous hésitez ?", "Ça vous parle ?"', - '🔥 Anecdotes personnelles courtes et authentiques', - '🔥 Alterne registres de façon imprévisible (soutenu/argot/technique)', - '🔥 Débuts phrases variés : pas toujours sujet-verbe' + '🔥 Questions ENGAGEANTES et DIRECTES : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"', + '🔥 Anecdotes personnelles DÉTAILLÉES et authentiques pour chaque point important', + '🔥 Alterne registres de façon RADICALE et imprévisible (soutenu/argot/technique/poétique)', + '🔥 Débuts phrases ULTRA-VARIÉS : jamais même structure deux fois', + '🔥 QUALITÉ MAXIMALE : Contenu remarquable, mémorable, qui se démarque vraiment' ] : []) ]; } @@ -365,17 +371,20 @@ class OriginalityStrategy extends BaseDetectorStrategy { */ getInstructions(intensity = 1.0) { const baseRules = [ - 'Vocabulaire TRÈS varié : évite répétitions même de synonymes', - 'Structures phrases délibérément irrégulières et asymétriques', - 'Changements angles fréquents : technique → personnel → général', - 'Créativité sémantique : métaphores, comparaisons inattendues' + 'TOURNURES ORIGINALES: Construit phrases avec structures INATTENDUES et créatives', + 'Vocabulaire TRÈS varié : évite répétitions même de synonymes, invente expressions', + 'GRAMMAIRE CRÉATIVE: Structures délibérément irrégulières, asymétriques, audacieuses', + 'Changements angles FRÉQUENTS et IMPRÉVISIBLES : technique → personnel → poétique', + 'Créativité sémantique MAXIMALE : métaphores originales, comparaisons inattendues', + 'ANECDOTES: Intègre exemples vécus, mini-histoires, observations personnelles authentiques' ]; const intensiveRules = [ - 'Évite formulations académiques ou trop structurées', - 'Intègre références culturelles, expressions régionales', - 'Subvertis les attentes : commence par la fin, questionne l\'évidence', - 'Réinvente façon de présenter informations basiques' + 'Évite TOTALEMENT formulations académiques, lisses ou trop structurées', + 'Intègre références culturelles précises, expressions régionales authentiques', + 'SUBVERTIS les attentes : commence par la fin, questionne l\'évidence, renverse logique', + 'Réinvente RADICALEMENT façon de présenter informations basiques', + 'QUALITÉ & ORIGINALITÉ MAXIMALES: Contenu qui MARQUE, mémorable, unique' ]; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules; @@ -386,13 +395,16 @@ class OriginalityStrategy extends BaseDetectorStrategy { */ getEnhancementTips(intensity = 1.0) { return [ - 'Trouve synonymes créatifs et expressions détournées', - 'Ajoute métaphores subtiles et comparaisons originales', - 'Varie angles d\'approche dans même contenu', - 'Utilise vocabulaire technique humanisé', + 'TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES', + 'Trouve synonymes CRÉATIFS et expressions INVENTIVES détournées', + 'Ajoute métaphores ORIGINALES et comparaisons INATTENDUES', + 'Varie angles d\'approche RADICALEMENT dans même contenu', + 'Utilise vocabulaire technique humanisé avec CRÉATIVITÉ', + 'ANECDOTES: Intègre exemples vécus, mini-histoires authentiques', ...(intensity > 0.8 ? [ - 'Insère références culturelles ou régionalismes', - 'Crée néologismes justifiés et expressifs' + 'Insère références culturelles PRÉCISES ou régionalismes authentiques', + 'Crée néologismes AUDACIEUX, justifiés et expressifs', + 'QUALITÉ MAXIMALE: Contenu remarquable qui se DÉMARQUE vraiment' ] : []) ]; } @@ -491,16 +503,19 @@ class CopyLeaksStrategy extends BaseDetectorStrategy { getInstructions(intensity = 1.0) { const baseRules = [ - 'Reformule idées communes avec angles totalement originaux', - 'Évite phrases-types et formulations standard du secteur', - 'Personnalise chaque assertion avec exemples spécifiques', - 'Réinvente la façon de présenter informations basiques' + 'TOURNURES ORIGINALES: Reformule idées communes avec angles TOTALEMENT INATTENDUS', + 'Évite ABSOLUMENT phrases-types et formulations standard du secteur', + 'GRAMMAIRE CRÉATIVE: Structures audacieuses, constructions surprenantes', + 'Personnalise chaque assertion avec exemples SPÉCIFIQUES et concrets', + 'Réinvente RADICALEMENT la façon de présenter informations basiques', + 'ANECDOTES: Transforme données factuelles en mini-récits, exemples vécus' ]; const intensiveRules = [ - 'Utilise analogies et métaphores plutôt que descriptions directes', - 'Fragmente informations techniques en observations pratiques', - 'Transforme données factuelles en récits ou témoignages' + 'Utilise analogies ORIGINALES et métaphores CRÉATIVES plutôt que descriptions directes', + 'Fragmente informations techniques en observations pratiques et AUTHENTIQUES', + 'Transforme données factuelles en récits, témoignages, anecdotes DÉTAILLÉES', + 'QUALITÉ & ORIGINALITÉ MAXIMALES: Contenu unique, mémorable, remarquable' ]; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules; @@ -508,12 +523,14 @@ class CopyLeaksStrategy extends BaseDetectorStrategy { getEnhancementTips(intensity = 1.0) { return [ - 'Trouve angles d\'approche inédits pour infos classiques', - 'Remplace descriptions techniques par analogies concrètes', - 'Contextualise avec exemples spécifiques et originaux', + 'TOURNURES ORIGINALES: Reformule avec angles d\'approche TOTALEMENT INÉDITS', + 'Remplace descriptions techniques par analogies CONCRÈTES et créatives', + 'Contextualise avec exemples SPÉCIFIQUES, originaux et authentiques', + 'ANECDOTES: Ajoute mini-histoires, exemples vécus pour chaque point', ...(intensity > 0.8 ? [ - 'Transforme assertions en mini-récits authentiques', - 'Crée métaphores personnalisées au contexte' + 'Transforme assertions en mini-récits DÉTAILLÉS et authentiques', + 'Crée métaphores ORIGINALES personnalisées au contexte', + 'QUALITÉ MAXIMALE: Contenu unique qui se DÉMARQUE vraiment' ] : []) ]; } @@ -599,17 +616,20 @@ class WinstonStrategy extends BaseDetectorStrategy { getInstructions(intensity = 1.0) { const baseRules = [ + 'TOURNURES ORIGINALES: Varie constructions de façon IMPRÉVISIBLE', 'Évite cohérence stylistique trop parfaite entre paragraphes', - 'Simule variation naturelle d\'humeur et d\'énergie rédactionnelle', - 'Intègre "erreurs" humaines : répétitions, corrections, précisions', - 'Varie niveau de détail : parfois précis, parfois elliptique' + 'GRAMMAIRE CRÉATIVE: Simule variation naturelle avec structures audacieuses', + 'Intègre "erreurs" humaines AUTHENTIQUES : répétitions, corrections, précisions', + 'Varie niveau de détail RADICALEMENT : parfois précis, parfois elliptique', + 'ANECDOTES: Personnalise avec mini-histoires, exemples vécus, observations' ]; const intensiveRules = [ - 'Alterne registres émotionnels : enthousiaste → neutre → critique', - 'Inclus hésitations et nuances : "peut-être", "généralement", "souvent"', - 'Personnalise avec opinions subjectives et préférences', - 'Ajoute auto-corrections et reformulations spontanées' + 'Alterne registres émotionnels FORTEMENT : enthousiaste → neutre → critique → poétique', + 'Inclus hésitations et nuances FRÉQUENTES : "peut-être", "généralement", "souvent"', + 'Personnalise FORTEMENT avec opinions subjectives et préférences marquées', + 'Ajoute auto-corrections et reformulations spontanées AUTHENTIQUES', + 'QUALITÉ & ORIGINALITÉ MAXIMALES: Contenu humain, vivant, remarquable' ]; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules; @@ -617,12 +637,15 @@ class WinstonStrategy extends BaseDetectorStrategy { getEnhancementTips(intensity = 1.0) { return [ - 'Ajoute hésitations naturelles et nuances', - 'Varie ton et énergie légèrement dans le texte', - 'Inclus répétitions légères ou reformulations', + 'TOURNURES ORIGINALES: Varie constructions de façon IMPRÉVISIBLE', + 'Ajoute hésitations naturelles et nuances FRÉQUENTES', + 'Varie ton et énergie FORTEMENT dans le texte', + 'Inclus répétitions légères ou reformulations AUTHENTIQUES', + 'ANECDOTES: Ajoute exemples vécus, mini-histoires personnelles', ...(intensity > 0.8 ? [ - 'Personnalise avec opinions subjectives', - 'Simule changements d\'humeur subtils' + 'Personnalise FORTEMENT avec opinions subjectives marquées', + 'Simule changements d\'humeur NOTABLES et authentiques', + 'QUALITÉ MAXIMALE: Contenu humain, vivant, qui se DÉMARQUE' ] : []) ]; } @@ -692,17 +715,21 @@ class GeneralStrategy extends BaseDetectorStrategy { */ getInstructions(intensity = 1.0) { const baseRules = [ - 'Évite ces mots typiques IA : "optimal", "comprehensive", "seamless", "robust", "leverage"', - 'Varie longueurs phrases : mélange phrases courtes (5-10 mots) ET longues (20-30 mots)', - 'Utilise expressions françaises familières et tournures idiomatiques', - 'Ajoute imperfections naturelles : répétitions légères, hésitations, reformulations' + 'TOURNURES ORIGINALES: Construit phrases de façon SURPRENANTE et créative', + 'GRAMMAIRE AUDACIEUSE: Ose structures atypiques, inversions, ellipses créatives', + 'Évite ABSOLUMENT mots typiques IA : "optimal", "comprehensive", "seamless", "robust", "leverage"', + 'Varie longueurs phrases RADICALEMENT : mélange phrases courtes (5-10 mots) ET longues (20-30 mots)', + 'Utilise expressions françaises AUTHENTIQUES et tournures idiomatiques naturelles', + 'Ajoute imperfections naturelles : répétitions légères, hésitations, reformulations', + 'ANECDOTES: Intègre mini-histoires, exemples vécus, observations personnelles' ]; const intensiveRules = [ - 'Change angle ou perspective 1-2 fois dans le texte', - 'Préfère synonymes moins évidents : "bon" plutôt qu\'excellent", "solide" plutôt qu\'optimisé"', - 'Intègre connecteurs variés et naturels selon le contexte', - 'Simule variation naturelle d\'humeur et d\'énergie rédactionnelle' + 'Change angle ou perspective FRÉQUEMMENT dans le texte de façon IMPRÉVISIBLE', + 'Préfère synonymes ORIGINAUX : "bon" plutôt qu\'excellent", "solide" plutôt qu\'optimisé"', + 'Intègre connecteurs VARIÉS et naturels selon le contexte', + 'Simule variation naturelle d\'humeur et d\'énergie rédactionnelle AUTHENTIQUE', + 'QUALITÉ & ORIGINALITÉ MAXIMALES: Contenu remarquable, mémorable, authentique' ]; return intensity >= 0.8 ? [...baseRules, ...intensiveRules] : baseRules; @@ -713,13 +740,16 @@ class GeneralStrategy extends BaseDetectorStrategy { */ getEnhancementTips(intensity = 1.0) { return [ - 'Remplace mots typiques IA par synonymes plus naturels', - 'Ajoute nuances et hésitations : "peut-être", "généralement", "souvent"', - 'Varie connecteurs pour éviter répétitions mécaniques', - 'Personnalise avec observations subjectives légères', + 'TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES', + 'Remplace mots typiques IA par synonymes NATURELS et créatifs', + 'Ajoute nuances et hésitations FRÉQUENTES : "peut-être", "généralement", "souvent"', + 'Varie connecteurs RADICALEMENT pour éviter répétitions mécaniques', + 'Personnalise avec observations subjectives AUTHENTIQUES', + 'ANECDOTES: Ajoute mini-histoires, exemples vécus concrets', ...(intensity > 0.7 ? [ - 'Intègre "erreurs" humaines : corrections, précisions', - 'Simule changement léger de ton ou d\'énergie' + 'Intègre "erreurs" humaines AUTHENTIQUES : corrections, précisions', + 'Simule changement NOTABLE de ton ou d\'énergie', + 'QUALITÉ MAXIMALE: Contenu remarquable qui se DÉMARQUE vraiment' ] : []) ]; }