## SelectiveSmartTouch (NEW) - Architecture révolutionnaire: Analyse intelligente → Améliorations ciblées précises - 5 modules: SmartAnalysisLayer, SmartTechnicalLayer, SmartStyleLayer, SmartReadabilityLayer, SmartTouchCore - Système 10% segments: amélioration uniquement des segments les plus faibles (intensity-based) - Détection contexte globale pour prompts adaptatifs multi-secteurs - Intégration complète dans PipelineExecutor et PipelineDefinition ## Pipeline Validator Spec (NEW) - Spécification complète système validation qualité par LLM - 5 critères universels: Qualité, Verbosité, SEO, Répétitions, Naturalité - Échantillonnage intelligent par filtrage balises (pas XML) - Évaluation multi-versions avec justifications détaillées - Coût estimé: ~$1/validation (260 appels LLM) ## Optimizations - Réduction intensités fullEnhancement (technical 1.0→0.7, style 0.8→0.5) - Ajout gardes-fous anti-familiarité excessive dans StyleLayer - Sauvegarde étapes intermédiaires activée par défaut (pipeline-runner) ## Fixes - Fix typo critique SmartTouchCore.js:110 (determineLayers ToApply → determineLayersToApply) - Prompts généralisés multi-secteurs (e-commerce, SaaS, services, informatif) 🚀 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
9.8 KiB
SelectiveSmartTouch - Architecture Nouvelle Génération
🎯 Concept Révolutionnaire
SelectiveSmartTouch est une refonte complète de l'approche Selective Enhancement basée sur le principe Analyse → Amélioration Ciblée.
Problème de l'ancienne approche
❌ Approche "Améliore tout" (Selective Enhancement legacy):
LLM: "Voici un texte, améliore-le techniquement"
→ LLM devine ce qui manque
→ Résultats aléatoires, parfois hors-sujet
→ Prompts spécifiques à la signalétique (pas généralisable)
→ Pas de contrôle précis sur les modifications
Solution SmartTouch
✅ Approche Analyse→Ciblée (SelectiveSmartTouch):
1. ANALYSE (LLM température 0.2): "Ce texte manque de : X, Y, Z"
2. AMÉLIORATION GUIDÉE: "Ajoute précisément X, Y, Z sans toucher au reste"
→ Contrôle total, résultats prévisibles
→ Prompts génériques (multi-secteurs)
→ Logs structurés JSON (debugging facile)
→ Coûts optimisés (analyse=petit modèle)
📂 Architecture Modulaire
Phase 1: Analyse Intelligente
SmartAnalysisLayer.js - Analyse objective du contenu
const analysis = await smartAnalysis.analyzeElement(content, { mc0, personality });
// Retourne JSON structuré:
{
"technical": {
"needed": true,
"score": 0.4,
"missing": ["données chiffrées", "spécifications"],
"issues": ["vocabulaire trop générique"]
},
"style": {
"needed": true,
"score": 0.5,
"genericPhrases": ["nos solutions", "notre expertise"]
},
"readability": {
"needed": false,
"score": 0.8,
"complexSentences": [],
"repetitiveConnectors": []
},
"improvements": [
"Ajouter données concrètes (chiffres, dimensions)",
"Remplacer expressions génériques: nos solutions, notre expertise"
],
"overallScore": 0.57
}
Caractéristiques :
- LLM: GPT-4o-mini (objectivité)
- Température: 0.2 (précision max)
- Fallback algorithmique si LLM échoue
- Analyse multi-dimensionnelle (technique, style, lisibilité, vocabulaire)
Phase 2: Améliorations Ciblées
SmartTechnicalLayer.js
Applique UNIQUEMENT les améliorations techniques identifiées
const result = await smartTechnical.applyTargeted(content, analysis, {
mc0, personality, intensity: 1.0
});
// Skip automatique si analysis.technical.needed === false
// Prompt ciblé: "Ajoute données chiffrées, remplace vocabulaire générique"
Prompts génériques multi-secteurs :
- E-commerce: "Dimensions: 30x20cm, épaisseur 3mm"
- SaaS: "Compatible avec 95% des systèmes"
- Services: "Délai: 3-5 jours ouvrés"
SmartStyleLayer.js
Améliorations style UNIQUEMENT si nécessaire
const result = await smartStyle.applyTargeted(content, analysis, {
mc0, personality, intensity: 1.0
});
// Prompts adaptatifs selon secteur
// Exemples mode, SaaS, services, contenu informatif
SmartReadabilityLayer.js
Lisibilité UNIQUEMENT si score < 0.6
const result = await smartReadability.applyTargeted(content, analysis, {
intensity: 1.0
});
// Simplifie phrases longues
// Varie connecteurs répétitifs
// Fluidifie structure
🚀 Utilisation
1. Via SmartTouchCore (orchestrateur)
const { SmartTouchCore } = require('./selective-smart-touch/SmartTouchCore');
const smartTouch = new SmartTouchCore();
const result = await smartTouch.apply(content, {
mode: 'full', // ou 'technical_only', 'style_only', etc.
intensity: 1.0,
csvData: { mc0, personality },
layersOrder: ['technical', 'style', 'readability'] // Personnalisable
});
console.log(result.modifications); // Nombre de modifications
console.log(result.analysisResults); // Analyse JSON détaillée
2. Via Pipeline Builder (UI)
-
Glisser module "SmartTouch (Analyse→Ciblé)" depuis palette Enhancement
-
Choisir mode:
- full: Analyse + toutes améliorations (recommandé)
- analysis_only: Analyse seule pour debugging
- technical_only: Technique uniquement
- style_only: Style uniquement
- readability_only: Lisibilité uniquement
-
Configurer intensité (0.1-2.0)
-
Sauvegarder et exécuter
3. Via PipelineExecutor
const pipeline = {
name: "SmartTouch Test",
pipeline: [
{ step: 1, module: 'generation', mode: 'simple', intensity: 1.0 },
{ step: 2, module: 'smarttouch', mode: 'full', intensity: 1.0 }
]
};
const executor = new PipelineExecutor();
const result = await executor.execute(pipeline, rowNumber);
📊 Modes Disponibles
| Mode | Description | Couches appliquées | Cas d'usage |
|---|---|---|---|
| full | Analyse + toutes améliorations | Technical + Style + Readability | Production (recommandé) |
| analysis_only | Analyse sans modification | Aucune | Debugging, audit qualité |
| technical_only | Améliorations techniques ciblées | Technical | Contenu trop générique |
| style_only | Améliorations style ciblées | Style | Adapter personnalité |
| readability_only | Améliorations lisibilité ciblées | Readability | Phrases complexes |
🎨 Exemples Génériques (Multi-Secteurs)
E-commerce Mode
❌ AVANT: "Produit de qualité aux dimensions optimales"
✅ APRÈS: "Dimensions: 30x20cm, épaisseur 3mm - qualité premium"
SaaS/Tech
❌ AVANT: "Notre plateforme innovante optimise vos processus"
✅ APRÈS: "Automatisez vos workflows en 3 clics - compatible 95% des systèmes"
Services Professionnels
❌ AVANT: "Nos solutions de qualité"
✅ APRÈS: "Expertise comptable garantissant votre conformité fiscale"
Contenu Informatif
❌ AVANT: "Le réchauffement climatique est un problème important"
✅ APRÈS: "Le réchauffement climatique atteint +1.2°C depuis 1850"
🔄 Comparaison Selective vs SmartTouch
| Critère | Selective (ancien) | SmartTouch (nouveau) |
|---|---|---|
| Contrôle | ❌ Faible | ✅ Fort (dictature exacte) |
| Prévisibilité | ❌ Aléatoire | ✅ Déterministe |
| Généricité | ❌ Spécifique signalétique | ✅ Multi-secteurs |
| Debugging | ❌ Boîte noire | ✅ Analyse JSON visible |
| Coûts tokens | ⚠️ Moyen | ✅ Optimisé |
| Qualité | ⚠️ Variable | ✅ Consistante |
📈 Statistiques & Logs
SmartTouch retourne des stats détaillées :
{
"mode": "full",
"analysisResults": { /* JSON analyses par élément */ },
"layersApplied": [
{ "name": "technical", "modifications": 5, "duration": 2300 },
{ "name": "style", "modifications": 3, "duration": 1800 },
{ "name": "readability", "modifications": 2, "duration": 1500 }
],
"totalModifications": 10,
"elementsProcessed": 12,
"elementsImproved": 8,
"duration": 5600
}
Logs structurés :
🔍 SMART ANALYSIS BATCH: 12 éléments
✅ [Titre_H1]: 2 améliorations
✅ [Paragraphe_1]: 3 améliorations
📊 Score moyen: 0.62 | Améliorations totales: 18
🔧 === PHASE 2: AMÉLIORATIONS CIBLÉES ===
🎯 Couche: technical
✅ 5 modifications appliquées (2300ms)
🎯 Couche: style
⏭️ Skip (score: 0.85 - aucune amélioration nécessaire)
🧪 Testing
Test unitaire
const { SmartAnalysisLayer } = require('./SmartAnalysisLayer');
const analyzer = new SmartAnalysisLayer();
const analysis = await analyzer.analyzeElement("Contenu test...", {});
expect(analysis.overallScore).toBeGreaterThan(0);
expect(analysis.improvements).toBeInstanceOf(Array);
Test intégration
# Via Pipeline Builder UI
npm start
# → http://localhost:3000/pipeline-builder.html
# → Glisser "SmartTouch" + configurer + tester
📝 Migration depuis Selective
// ANCIEN (Selective Enhancement)
const result = await applySelectiveStack(content, 'fullEnhancement', config);
// NOUVEAU (SmartTouch)
const smartTouch = new SmartTouchCore();
const result = await smartTouch.apply(content, {
mode: 'full',
intensity: config.intensity,
csvData: config.csvData
});
Backward compatible : Selective Enhancement reste disponible, SmartTouch est un complément.
🛠️ Configuration Avancée
Ordre des couches personnalisé
const result = await smartTouch.apply(content, {
mode: 'full',
layersOrder: ['style', 'technical', 'readability'] // Style en premier
});
Skip analyse (mode legacy)
const result = await smartTouch.apply(content, {
mode: 'technical_only',
skipAnalysis: true // Applique directement (moins précis)
});
🚦 Statut du Module
- ✅ Core modules créés (Analysis, Technical, Style, Readability, Core)
- ✅ Intégration PipelineExecutor (module
smarttouchreconnu) - ✅ Intégration Pipeline Builder (drag-and-drop UI)
- ✅ Intégration API (PipelineDefinition, modes, durées)
- ⏳ Tests production (en cours)
- ⏳ Documentation utilisateur (à compléter)
🎓 Philosophie de Design
- Analyse avant action : Comprendre avant de modifier
- Ciblage précis : Améliorer UNIQUEMENT ce qui est nécessaire
- Généricité maximale : Fonctionne pour tout type de contenu
- Logs transparents : JSON structuré pour debugging
- Optimisation coûts : Analyse légère, améliorations ciblées
🔗 Voir aussi
lib/selective-enhancement/- Architecture legacy (toujours disponible)lib/pipeline/PipelineExecutor.js- Orchestrateur principallib/pipeline/PipelineDefinition.js- Définition modulespublic/pipeline-builder.html- Interface UI
Auteur: Architecture SmartTouch - Nouvelle Génération SEO Generator Date: 2025-01-13 Version: 1.0.0