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

240 lines
7.3 KiB
Markdown

# 📘 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.
```javascript
// 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)
```javascript
await handleModularWorkflow({
rowNumber: 2,
selectiveStack: 'standardEnhancement', // ← Choisir le stack ici
adversarialMode: 'light',
source: 'production'
});
```
### Via API
```javascript
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 standard** → `standardEnhancement`
- **Tests rapides** → `lightEnhancement`
- **Qualité max** → `fullEnhancement`
- **Pas sûr** → `adaptive` (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
```javascript
{
'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 :
```javascript
selectiveStack: 'standardEnhancement'
```
Cela charge automatiquement :
```javascript
{
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 !** 🎉