- 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>
240 lines
7.3 KiB
Markdown
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 !** 🎉
|