feat(adversarial): Tournures originales + grammaire audacieuse + anecdotes - Qualité maximale

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 <noreply@anthropic.com>
This commit is contained in:
StillHammer 2025-10-16 20:56:23 +08:00
parent caedaca63d
commit 6335a16f99
2 changed files with 156 additions and 105 deletions

View File

@ -313,16 +313,24 @@ ORIGINAL: "${content}"`;
CONSIGNES GÉNÉRALES: CONSIGNES GÉNÉRALES:
- GARDE exactement le même message et informations factuelles - GARDE exactement le même message et informations factuelles
- CHANGE structure, vocabulaire, style pour éviter détection ${detectorTarget} - CHANGE structure, vocabulaire, style pour éviter détection ${detectorTarget}
- Utilise expressions françaises familières et tournures idiomatiques authentiques - TOURNURES ORIGINALES: Construit phrases de façon SURPRENANTE et INATTENDUE
- Varie longueurs phrases : mélange phrases courtes (5-10 mots) ET longues (20-30 mots) - 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 - 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)} - Intensité adversariale: ${intensity.toFixed(2)}
${generatePersonalityInstructions(personality, intensity)} ${generatePersonalityInstructions(personality, intensity)}
${generateTitleContext(associatedTitle)} ${generateTitleContext(associatedTitle)}
${generateElementSpecificInstructions(chunk)} ${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. Réponse DIRECTE par les contenus réécrits, pas d'explication.
FORMAT: FORMAT:
@ -469,30 +477,37 @@ function generateElementSpecificInstructions(chunk) {
let instructions = '\n\nINSTRUCTIONS SPÉCIFIQUES PAR TYPE:'; let instructions = '\n\nINSTRUCTIONS SPÉCIFIQUES PAR TYPE:';
if (elementTypes.has('titre_h1') || elementTypes.has('titre_h2')) { if (elementTypes.has('titre_h1') || elementTypes.has('titre_h2')) {
instructions += `\n• TITRES: Évite formules marketing lisses, préfère authentique et direct`; instructions += `\n• TITRES: Évite ABSOLUMENT formules marketing lisses, préfère authentique et PERCUTANT`;
instructions += `\n Varie structure : question, affirmation, fragment 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')) { if (elementTypes.has('intro')) {
instructions += `\n• INTRO: Commence par angle inattendu : anecdote, constat, question rhétorique`; instructions += `\n• INTRO: Commence par angle TOTALEMENT INATTENDU : anecdote vivante, constat surprenant, question engageante`;
instructions += `\n Évite intro-types, crée surprise puis retour naturel au sujet`; 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')) { if (elementTypes.has('texte')) {
instructions += `\n• TEXTES: Mélange informations factuelles et observations personnelles`; instructions += `\n• TEXTES: Mélange informations factuelles et observations personnelles AUTHENTIQUES`;
instructions += `\n Intègre apartés : "(j'ai testé, c'est bluffant)", questions rhétoriques`; 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')) { 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')) { 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')) { 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; return instructions;
@ -533,12 +548,16 @@ AMÉLIORATIONS CIBLÉES ANTI-${detectorTarget.toUpperCase()}:
${strategy.getEnhancementTips(intensity).join('\n')} ${strategy.getEnhancementTips(intensity).join('\n')}
TECHNIQUES GÉNÉRALES: TECHNIQUES GÉNÉRALES:
- Remplace mots typiques IA par synonymes plus naturels et moins évidents - TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES et créatives
- Varie longueurs phrases et structures syntaxiques - GRAMMAIRE AUDACIEUSE: Ose structures atypiques, inversions, ellipses créatives
- Utilise expressions idiomatiques françaises et tournures familières - Remplace mots typiques IA par synonymes NATURELS, expressions INVENTIVES
- Ajoute nuances humaines : "peut-être", "généralement", "souvent" - Varie longueurs phrases et structures syntaxiques RADICALEMENT
- Intègre connecteurs variés et naturels selon contexte - Utilise expressions idiomatiques françaises AUTHENTIQUES et tournures familières
- Ne génère pas de contenu générique, sois spécifique et informatif - 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}` : ''} ${personality && personality.niveauTechnique ? `- Niveau technique: ${personality.niveauTechnique}` : ''}
${generatePersonalityInstructions(personality, intensity)} ${generatePersonalityInstructions(personality, intensity)}
${hasTextElements && associatedTitle ? generateTitleContext(associatedTitle) : ''} ${hasTextElements && associatedTitle ? generateTitleContext(associatedTitle) : ''}
@ -554,9 +573,10 @@ ${getElementSpecificTip(elementType)}`;
}).join('\n\n')} }).join('\n\n')}
CONSIGNES: 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) - 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é` : ''} ${hasTextElements && associatedTitle ? `- 🎯 FOCUS: Développe spécifiquement les concepts du titre associé` : ''}
- Intensité: ${intensity.toFixed(2)} - Intensité: ${intensity.toFixed(2)}
@ -571,7 +591,8 @@ IMPORTANT:
- GARDE le numéro [N] devant chaque contenu - GARDE le numéro [N] devant chaque contenu
- PAS d'explications, PAS de commentaires - PAS d'explications, PAS de commentaires
- RESPECTE STRICTEMENT le format [N] Contenu - 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; return prompt;
} }
@ -581,16 +602,16 @@ IMPORTANT:
*/ */
function getElementSpecificTip(elementType) { function getElementSpecificTip(elementType) {
const tips = { const tips = {
'titre_h1': 'TIP: Évite formules marketing, préfère authentique et percutant', 'titre_h1': 'TIP: TOURNURES ORIGINALES, évite formules marketing, grammaire AUDACIEUSE (inversion, ellipse)',
'titre_h2': 'TIP: Varie structure (question/affirmation/fragment)', 'titre_h2': 'TIP: Varie structure RADICALEMENT (question percutante/affirmation créative/fragment surprenant)',
'intro': 'TIP: Commence par angle inattendu si possible', 'intro': 'TIP: Commence par angle TOTALEMENT INATTENDU, ajoute ANECDOTE vivante si possible',
'texte': 'TIP: Ajoute observation personnelle ou aparté léger', 'texte': 'TIP: Ajoute observations personnelles AUTHENTIQUES, ANECDOTES détaillées, apartés fréquents',
'faq_question': 'TIP: Formulation vraie client, pas académique', 'faq_question': 'TIP: Formulation VRAIMENT client (oral, familier), jamais académique',
'faq_reponse': 'TIP: Ajoute nuance "ça dépend" ou précision contextuelle', 'faq_reponse': 'TIP: Ajoute nuances FRÉQUENTES "ça dépend", ANECDOTES concrètes, précisions authentiques',
'conclusion': 'TIP: Personnalise avec avis subjectif subtil' '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';
} }
/** /**

View File

@ -191,26 +191,29 @@ class GPTZeroStrategy extends BaseDetectorStrategy {
*/ */
getInstructions(intensity = 1.0) { getInstructions(intensity = 1.0) {
const baseRules = [ 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)', '🎯 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', '🎯 Ton CHALEUREUX, NATUREL et conversationnel : parle comme à un ami',
'🎯 Évite ABSOLUMENT mots IA : "optimal", "robuste", "comprehensive", "leverage"', '🎯 É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 = [ const intensiveRules = [
'🔥 CRÉATIVITÉ MAXIMALE: Métaphores inattendues, comparaisons originales, néologismes créatifs', '🔥 CRÉATIVITÉ MAXIMALE: Métaphores inattendues, comparaisons ORIGINALES, néologismes créatifs et audacieux',
'🔥 DISRUPTION NARRATIVE: Change angle imprévisible, saute du coq à l\'âne, retour surprenant', '🔥 DISRUPTION NARRATIVE: Change angle de façon IMPRÉVISIBLE, saute du coq à l\'âne, retour surprenant',
'🔥 INFORMALITÉ: Utilise argot, expressions familières, "du coup", "en gros", "carrément"', '🔥 INFORMALITÉ FORTE: Utilise argot, expressions familières, "du coup", "en gros", "carrément", "genre"',
'🔥 Grammaire créative : phrases nominales, ellipses, questions sans réponse', '🔥 GRAMMAIRE CRÉATIVE POUSSÉE: phrases nominales, ellipses volontaires, questions sans réponse immédiate',
'🔥 CHALEUR & ENGAGEMENT: Empathie, anecdotes personnelles, tutoiement, "vous" direct', '🔥 CHALEUR & ENGAGEMENT MAXIMUM: Empathie forte, anecdotes personnelles détaillées, tutoiement si approprié',
'🔥 Alterne registres de façon IMPRÉVISIBLE (soutenu → argot → technique)', '🔥 Alterne registres de façon RADICALE et IMPRÉVISIBLE (soutenu → argot → technique → poétique)',
'🔥 Intercale apartés engageants : "(j\'ai testé)", "(crois-moi)", "(ça marche)"', '🔥 Intercale apartés AUTHENTIQUES : "(j\'ai testé, c\'est bluffant)", "(crois-moi sur parole)", "(ça déchire)"',
'🔥 Brise logique linéaire : parenthèses, incises, digressions inattendues', '🔥 Brise logique linéaire FORTEMENT : parenthèses fréquentes, incises, digressions inattendues',
'🔥 Questions qui ENGAGENT : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"', '🔥 Questions ENGAGEANTES et DIRECTES : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"',
'🔥 Début phrases varié : pas toujours sujet-verbe (inversion, adverbe)', '🔥 Débuts phrases ULTRA-VARIÉS : jamais 2 fois la même structure (inversion, adverbe, fragment, question)',
'🔥 DIVERSITÉ TOTALE: Change angle, perspective, registre à chaque phrase' '🔥 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; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules;
@ -221,16 +224,19 @@ class GPTZeroStrategy extends BaseDetectorStrategy {
*/ */
getEnhancementTips(intensity = 1.0) { getEnhancementTips(intensity = 1.0) {
return [ return [
'💡 Remplace mots prévisibles par synonymes RARES et imprévisibles', '💡 TOURNURES ORIGINALES: Reformule avec constructions INATTENDUES et surprenantes',
'💡 Ajoute chaleur humaine : ton conversationnel, empathie, "vous"', '💡 Remplace mots prévisibles par synonymes RARES, expressions INVENTIVES',
'💡 Grammaire créative : phrases nominales, ellipses, questions', '💡 Ajoute chaleur humaine FORTE : ton conversationnel, empathie, engagement direct',
'💡 Varie structures : simple → complexe → nominale → interrogative', '💡 GRAMMAIRE AUDACIEUSE : phrases nominales, ellipses, structures atypiques',
'💡 Incises et apartés : "(j\'ai testé)", "(crois-moi)"', '💡 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 ? [ ...(intensity > 0.8 ? [
'🔥 Questions engageantes : "Vous hésitez ?", "Ça vous parle ?"', '🔥 Questions ENGAGEANTES et DIRECTES : "Vous hésitez ?", "Ça vous parle ?", "On y va ?"',
'🔥 Anecdotes personnelles courtes et authentiques', '🔥 Anecdotes personnelles DÉTAILLÉES et authentiques pour chaque point important',
'🔥 Alterne registres de façon imprévisible (soutenu/argot/technique)', '🔥 Alterne registres de façon RADICALE et imprévisible (soutenu/argot/technique/poétique)',
'🔥 Débuts phrases variés : pas toujours sujet-verbe' '🔥 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) { getInstructions(intensity = 1.0) {
const baseRules = [ const baseRules = [
'Vocabulaire TRÈS varié : évite répétitions même de synonymes', 'TOURNURES ORIGINALES: Construit phrases avec structures INATTENDUES et créatives',
'Structures phrases délibérément irrégulières et asymétriques', 'Vocabulaire TRÈS varié : évite répétitions même de synonymes, invente expressions',
'Changements angles fréquents : technique → personnel → général', 'GRAMMAIRE CRÉATIVE: Structures délibérément irrégulières, asymétriques, audacieuses',
'Créativité sémantique : métaphores, comparaisons inattendues' '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 = [ const intensiveRules = [
'Évite formulations académiques ou trop structurées', 'Évite TOTALEMENT formulations académiques, lisses ou trop structurées',
'Intègre références culturelles, expressions régionales', 'Intègre références culturelles précises, expressions régionales authentiques',
'Subvertis les attentes : commence par la fin, questionne l\'évidence', 'SUBVERTIS les attentes : commence par la fin, questionne l\'évidence, renverse logique',
'Réinvente façon de présenter informations basiques' '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; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules;
@ -386,13 +395,16 @@ class OriginalityStrategy extends BaseDetectorStrategy {
*/ */
getEnhancementTips(intensity = 1.0) { getEnhancementTips(intensity = 1.0) {
return [ return [
'Trouve synonymes créatifs et expressions détournées', 'TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES',
'Ajoute métaphores subtiles et comparaisons originales', 'Trouve synonymes CRÉATIFS et expressions INVENTIVES détournées',
'Varie angles d\'approche dans même contenu', 'Ajoute métaphores ORIGINALES et comparaisons INATTENDUES',
'Utilise vocabulaire technique humanisé', '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 ? [ ...(intensity > 0.8 ? [
'Insère références culturelles ou régionalismes', 'Insère références culturelles PRÉCISES ou régionalismes authentiques',
'Crée néologismes justifiés et expressifs' '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) { getInstructions(intensity = 1.0) {
const baseRules = [ const baseRules = [
'Reformule idées communes avec angles totalement originaux', 'TOURNURES ORIGINALES: Reformule idées communes avec angles TOTALEMENT INATTENDUS',
'Évite phrases-types et formulations standard du secteur', 'Évite ABSOLUMENT phrases-types et formulations standard du secteur',
'Personnalise chaque assertion avec exemples spécifiques', 'GRAMMAIRE CRÉATIVE: Structures audacieuses, constructions surprenantes',
'Réinvente la façon de présenter informations basiques' '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 = [ const intensiveRules = [
'Utilise analogies et métaphores plutôt que descriptions directes', 'Utilise analogies ORIGINALES et métaphores CRÉATIVES plutôt que descriptions directes',
'Fragmente informations techniques en observations pratiques', 'Fragmente informations techniques en observations pratiques et AUTHENTIQUES',
'Transforme données factuelles en récits ou témoignages' '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; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules;
@ -508,12 +523,14 @@ class CopyLeaksStrategy extends BaseDetectorStrategy {
getEnhancementTips(intensity = 1.0) { getEnhancementTips(intensity = 1.0) {
return [ return [
'Trouve angles d\'approche inédits pour infos classiques', 'TOURNURES ORIGINALES: Reformule avec angles d\'approche TOTALEMENT INÉDITS',
'Remplace descriptions techniques par analogies concrètes', 'Remplace descriptions techniques par analogies CONCRÈTES et créatives',
'Contextualise avec exemples spécifiques et originaux', 'Contextualise avec exemples SPÉCIFIQUES, originaux et authentiques',
'ANECDOTES: Ajoute mini-histoires, exemples vécus pour chaque point',
...(intensity > 0.8 ? [ ...(intensity > 0.8 ? [
'Transforme assertions en mini-récits authentiques', 'Transforme assertions en mini-récits DÉTAILLÉS et authentiques',
'Crée métaphores personnalisées au contexte' '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) { getInstructions(intensity = 1.0) {
const baseRules = [ const baseRules = [
'TOURNURES ORIGINALES: Varie constructions de façon IMPRÉVISIBLE',
'Évite cohérence stylistique trop parfaite entre paragraphes', 'Évite cohérence stylistique trop parfaite entre paragraphes',
'Simule variation naturelle d\'humeur et d\'énergie rédactionnelle', 'GRAMMAIRE CRÉATIVE: Simule variation naturelle avec structures audacieuses',
'Intègre "erreurs" humaines : répétitions, corrections, précisions', 'Intègre "erreurs" humaines AUTHENTIQUES : répétitions, corrections, précisions',
'Varie niveau de détail : parfois précis, parfois elliptique' 'Varie niveau de détail RADICALEMENT : parfois précis, parfois elliptique',
'ANECDOTES: Personnalise avec mini-histoires, exemples vécus, observations'
]; ];
const intensiveRules = [ const intensiveRules = [
'Alterne registres émotionnels : enthousiaste → neutre → critique', 'Alterne registres émotionnels FORTEMENT : enthousiaste → neutre → critique → poétique',
'Inclus hésitations et nuances : "peut-être", "généralement", "souvent"', 'Inclus hésitations et nuances FRÉQUENTES : "peut-être", "généralement", "souvent"',
'Personnalise avec opinions subjectives et préférences', 'Personnalise FORTEMENT avec opinions subjectives et préférences marquées',
'Ajoute auto-corrections et reformulations spontanées' 'Ajoute auto-corrections et reformulations spontanées AUTHENTIQUES',
'QUALITÉ & ORIGINALITÉ MAXIMALES: Contenu humain, vivant, remarquable'
]; ];
return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules; return intensity >= 1.0 ? [...baseRules, ...intensiveRules] : baseRules;
@ -617,12 +637,15 @@ class WinstonStrategy extends BaseDetectorStrategy {
getEnhancementTips(intensity = 1.0) { getEnhancementTips(intensity = 1.0) {
return [ return [
'Ajoute hésitations naturelles et nuances', 'TOURNURES ORIGINALES: Varie constructions de façon IMPRÉVISIBLE',
'Varie ton et énergie légèrement dans le texte', 'Ajoute hésitations naturelles et nuances FRÉQUENTES',
'Inclus répétitions légères ou reformulations', '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 ? [ ...(intensity > 0.8 ? [
'Personnalise avec opinions subjectives', 'Personnalise FORTEMENT avec opinions subjectives marquées',
'Simule changements d\'humeur subtils' '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) { getInstructions(intensity = 1.0) {
const baseRules = [ const baseRules = [
'Évite ces mots typiques IA : "optimal", "comprehensive", "seamless", "robust", "leverage"', 'TOURNURES ORIGINALES: Construit phrases de façon SURPRENANTE et créative',
'Varie longueurs phrases : mélange phrases courtes (5-10 mots) ET longues (20-30 mots)', 'GRAMMAIRE AUDACIEUSE: Ose structures atypiques, inversions, ellipses créatives',
'Utilise expressions françaises familières et tournures idiomatiques', 'Évite ABSOLUMENT mots typiques IA : "optimal", "comprehensive", "seamless", "robust", "leverage"',
'Ajoute imperfections naturelles : répétitions légères, hésitations, reformulations' '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 = [ const intensiveRules = [
'Change angle ou perspective 1-2 fois dans le texte', 'Change angle ou perspective FRÉQUEMMENT dans le texte de façon IMPRÉVISIBLE',
'Préfère synonymes moins évidents : "bon" plutôt qu\'excellent", "solide" plutôt qu\'optimisé"', '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', 'Intègre connecteurs VARIÉS et naturels selon le contexte',
'Simule variation naturelle d\'humeur et d\'énergie rédactionnelle' '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; return intensity >= 0.8 ? [...baseRules, ...intensiveRules] : baseRules;
@ -713,13 +740,16 @@ class GeneralStrategy extends BaseDetectorStrategy {
*/ */
getEnhancementTips(intensity = 1.0) { getEnhancementTips(intensity = 1.0) {
return [ return [
'Remplace mots typiques IA par synonymes plus naturels', 'TOURNURES ORIGINALES: Reformule avec constructions SURPRENANTES',
'Ajoute nuances et hésitations : "peut-être", "généralement", "souvent"', 'Remplace mots typiques IA par synonymes NATURELS et créatifs',
'Varie connecteurs pour éviter répétitions mécaniques', 'Ajoute nuances et hésitations FRÉQUENTES : "peut-être", "généralement", "souvent"',
'Personnalise avec observations subjectives légères', '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 ? [ ...(intensity > 0.7 ? [
'Intègre "erreurs" humaines : corrections, précisions', 'Intègre "erreurs" humaines AUTHENTIQUES : corrections, précisions',
'Simule changement léger de ton ou d\'énergie' 'Simule changement NOTABLE de ton ou d\'énergie',
'QUALITÉ MAXIMALE: Contenu remarquable qui se DÉMARQUE vraiment'
] : []) ] : [])
]; ];
} }