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:
- 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';
}
/**

View File

@ -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'
] : [])
];
}