seo-generator-server/SELECTIVE_ENHANCEMENT_GUIDE.md
StillHammer db966a4ad6 feat(selective): Add detailed logging and comprehensive guide
- Add detailed logs in SelectiveCore.js:
  * LLM selection reasoning (auto vs specified)
  * Branch-specific logs (technical/transitions/style)
  * Config details before each layer
  * Modification counts after each layer

- Add detailed logs in SelectiveLayers.js:
  * Stack configuration details on startup
  * Per-layer execution logs with before/after samples
  * Modification rate percentages
  * Final summary table with all layers

- Add SELECTIVE_ENHANCEMENT_GUIDE.md:
  * Complete architecture explanation (3 levels)
  * All 5 available stacks documented
  * Usage examples (code, API, web)
  * Detailed log output examples
  * FAQ section

This improves observability and helps understand how stack configurations
translate to actual layer executions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 11:37:15 +08:00

7.3 KiB

📘 Guide du Selective Enhancement

🎯 Qu'est-ce que c'est ?

Le Selective Enhancement est un système modulaire qui améliore le contenu généré en appliquant des couches d'amélioration successives. Chaque couche utilise un LLM différent spécialisé pour un type d'amélioration.


🏗️ Architecture en 3 niveaux

Niveau 1 : Les Stacks Prédéfinis

Ce sont des "recettes" qui définissent quelles couches appliquer et dans quel ordre.

// Exemple de stack prédéfini
{
  name: 'standardEnhancement',
  description: 'Amélioration technique et style (OpenAI + Mistral)',
  layers: [
    { type: 'technical', llm: 'gpt-4o-mini', intensity: 0.9 },
    { type: 'style', llm: 'mistral-small', intensity: 0.8 }
  ],
  layersCount: 2
}

Niveau 2 : Les Couches (Layers)

Chaque couche a 3 paramètres clés :

  • type : Ce que la couche améliore

    • technical : Précision technique, termes métier
    • transitions : Fluidité entre phrases
    • style : Personnalité, ton, vocabulaire
  • llm : Le modèle utilisé

    • gpt-4o-mini : Excellent pour précision technique
    • mistral-small : Excellent pour style et personnalité
    • gemini-pro : Bon pour fluidité (actuellement désactivé)
  • intensity : Force de l'amélioration (0.5 à 1.5)

    • 0.6 : Légère amélioration
    • 1.0 : Amélioration normale
    • 1.2 : Amélioration forte

Niveau 3 : L'Exécution

Quand vous choisissez un stack, voici ce qui se passe :

1. Charge la configuration du stack
   └─> standardEnhancement = [technical + style]

2. Applique Couche 1 : technical (gpt-4o-mini)
   ├─ Avant : "Nos produits sont de qualité"
   └─ Après : "Nos panneaux PMMA garantissent une durabilité optimale"

3. Applique Couche 2 : style (mistral-small)
   ├─ Avant : "Nos panneaux PMMA garantissent une durabilité optimale"
   └─ Après : "Nos panneaux PMMA, c'est la garantie d'une durabilité qui tient dans le temps"

4. Résultat final = contenu amélioré par les 2 couches

📦 Stacks Disponibles

1. lightEnhancement (Rapide)

  • 1 couche : Technique uniquement
  • Durée : ~15-20s
  • Usage : Tests rapides, contenu déjà bon

2. standardEnhancement (Équilibré) RECOMMANDÉ

  • 2 couches : Technique + Style
  • Durée : ~30-40s
  • Usage : Production standard, bon compromis qualité/vitesse

3. fullEnhancement (Complet)

  • 2 couches : Technique intense + Style
  • Durée : ~35-45s
  • Usage : Contenu premium, qualité maximale

4. personalityFocus (Style prioritaire)

  • 2 couches : Style fort + Technique légère
  • Durée : ~30-40s
  • Usage : Quand la personnalité est importante

5. adaptive (Intelligent)

  • Analyse automatique du contenu
  • Couches variables selon les besoins détectés
  • Durée : Variable
  • Usage : Quand vous ne savez pas quoi choisir

🚀 Comment l'utiliser ?

Dans le code (Main.js)

await handleModularWorkflow({
  rowNumber: 2,
  selectiveStack: 'standardEnhancement',  // ← Choisir le stack ici
  adversarialMode: 'light',
  source: 'production'
});

Via API

POST /api/workflow/execute
{
  "rowNumber": 2,
  "selectiveStack": "standardEnhancement",  // ← Choisir le stack ici
  "adversarialMode": "light"
}

Via Interface Web

production-runner.html → Sélection stack dans le dropdown

📊 Logs détaillés (après modification)

Voici ce que vous verrez maintenant dans les logs :

📦 APPLICATION STACK SELECTIVE: standardEnhancement (2 couches)
   📊 12 éléments | Description: Amélioration technique et style
   🔍 Configuration du stack:
      Couche 1: technical | LLM: gpt-4o-mini | Intensité: 0.9
      Couche 2: style | LLM: mistral-small | Intensité: 0.8

   🔧 === COUCHE 1/2 ===
      Type: technical | LLM: gpt-4o-mini | Intensité: 0.9
      Éléments en entrée: 12
      📝 Échantillon AVANT (t0): Nos produits sont de qualité...
      🤖 LLM spécifié: gpt-4o-mini
      🔬 Branche: Technical Enhancement
      📝 Config technique: LLM=gpt-4o-mini, Intensity=0.9
      ✅ Technical enhancement terminé: 8 modifications
      📝 Échantillon APRÈS (t0): Nos panneaux PMMA garantissent...
      ✅ RÉSULTAT: 8 éléments modifiés (66.7% du total)
      ⏱️  Durée: 2340ms

   🔧 === COUCHE 2/2 ===
      Type: style | LLM: mistral-small | Intensité: 0.8
      Éléments en entrée: 12
      📝 Échantillon AVANT (t0): Nos panneaux PMMA garantissent...
      🤖 LLM spécifié: mistral-small
      🎨 Branche: Style Enhancement
      📝 Config style: LLM=mistral-small, Intensity=0.8
      ✅ Style enhancement terminé: 6 modifications
      📝 Échantillon APRÈS (t0): Nos panneaux PMMA, c'est la garantie...
      ✅ RÉSULTAT: 6 éléments modifiés (50.0% du total)
      ⏱️  Durée: 1890ms

✅ === STACK SELECTIVE standardEnhancement TERMINÉ ===
   📊 Couches réussies: 2/2
   🔄 Modifications totales: 14
   ⏱️  Durée totale: 4230ms

   📋 RÉCAPITULATIF PAR COUCHE:
      ✅ Couche 1: technical (gpt-4o-mini) - 8 modifs en 2340ms
      ✅ Couche 2: style (mistral-small) - 6 modifs en 1890ms

FAQ

Q: Pourquoi 2 couches dans standardEnhancement ?

R: Chaque LLM est spécialisé. GPT-4o-mini excelle en précision technique, Mistral en style. En combinant les deux, on obtient un contenu techniquement précis ET bien écrit.

Q: Quelle est la différence entre standardEnhancement et fullEnhancement ?

R: fullEnhancement utilise des intensités plus fortes (1.0 au lieu de 0.9) donc des modifications plus poussées. Utile pour du contenu premium.

Q: Puis-je créer mes propres stacks ?

R: Oui ! Modifiez PREDEFINED_STACKS dans lib/selective-enhancement/SelectiveLayers.js

Q: Comment savoir quel stack choisir ?

R:

  • Production standardstandardEnhancement
  • Tests rapideslightEnhancement
  • Qualité maxfullEnhancement
  • Pas sûradaptive (analyse automatique)

Q: Les modifications sont-elles cumulatives ?

R: Oui ! Couche 1 modifie le contenu → Couche 2 modifie le résultat de Couche 1 → Résultat final = contenu doublement amélioré.


🔧 Configuration technique

Fichiers impliqués

lib/selective-enhancement/
├── SelectiveCore.js       ← Moteur d'application des couches
├── SelectiveLayers.js     ← Définition des stacks prédéfinis
├── TechnicalLayer.js      ← Implémentation couche technique
├── StyleLayer.js          ← Implémentation couche style
└── TransitionLayer.js     ← Implémentation couche transitions

Mapping LLM → Type de couche

{
  'technical': 'gpt-4o-mini',      // Précision technique
  'transitions': 'gemini-pro',     // Fluidité (désactivé)
  'style': 'mistral-small',        // Personnalité
  'all': 'claude-sonnet-4-5'       // Polyvalent
}

🎓 Résumé

Configuration effective = Stack choisi

Quand vous faites :

selectiveStack: 'standardEnhancement'

Cela charge automatiquement :

{
  layers: [
    { type: 'technical', llm: 'gpt-4o-mini', intensity: 0.9 },
    { type: 'style', llm: 'mistral-small', intensity: 0.8 }
  ]
}

Et applique les 2 couches séquentiellement sur votre contenu.

C'est aussi simple que ça ! 🎉