seo-generator-server/TODO.md
2025-09-03 15:29:19 +08:00

4.2 KiB

TODO - AMÉLIORATIONS WORKFLOW CRITIQUES

🚨 PRIORITÉ 1 - INTÉGRATION IA DANS PERSONNALITÉS

PROBLÈME ACTUEL

  • Les fallback IA ont été supprimés pour éviter la dégradation de qualité
  • Si une IA échoue (Claude, OpenAI, Gemini, Mistral), le workflow s'arrête brutalement
  • Aucune stratégie de récupération intelligente

SOLUTION REQUISE

Intégrer les préférences IA directement dans les profils de personnalités Google Sheets

Nouveaux champs à ajouter dans la sheet "Personnalités" :

  • LLM_Prefere : LLM principal pour cette personnalité (ex: "claude", "openai")
  • LLM_Fallback : LLM de secours si le principal échoue
  • Temperature : Température spécifique à la personnalité (0.7-1.0)
  • Style_Prompt : Instructions spécifiques pour adapter le prompt au style

Exemple de données :

Marc | Expert technique | ... | claude | openai | 0.8 | "Utilise un vocabulaire technique précis"
Sophie | Passionnée | ... | gemini | mistral | 1.0 | "Sois chaleureux et utilise des anecdotes"

Logique de fallback intelligent :

  1. Utiliser LLM_Prefere de la personnalité
  2. Si échec → utiliser LLM_Fallback de la personnalité
  3. Si échec → relancer avec nouvelle personnalité (voir ci-dessous)

🔄 PRIORITÉ 2 - RELANCE AVEC NOUVELLE PERSONNALITÉ

PROBLÈME ACTUEL

  • Si l'enhancement d'une personnalité échoue, le workflow s'arrête
  • Perte complète du travail déjà effectué

SOLUTION REQUISE

Système de relance avec sélection d'une nouvelle personnalité

Stratégie de récupération :

  1. Détection d'échec : Capturer les erreurs IA lors de l'enhancement
  2. Sauvegarde état : Garder le contenu généré jusqu'à l'étape qui a échoué
  3. Nouvelle sélection : Choisir une personnalité différente avec LLM disponible
  4. Reprise partielle : Reprendre seulement l'étape qui a échoué, pas tout le workflow

Implémentation suggérée :

async function enhanceWithPersonalityRecovery(content, personality, attempt = 1) {
  try {
    return await enhance(content, personality);
  } catch (error) {
    if (attempt < 3) {
      const newPersonality = selectAlternativePersonality(personality);
      logSh(`🔄 Relance tentative ${attempt + 1} avec ${newPersonality.nom}`, 'INFO');
      return await enhanceWithPersonalityRecovery(content, newPersonality, attempt + 1);
    }
    throw new Error(`FATAL: Échec après 3 tentatives avec personnalités différentes`);
  }
}

📋 PRIORITÉ 3 - AUTRES AMÉLIORATIONS

A. Monitoring des échecs IA

  • Logging détaillé : Quel LLM échoue, quand, pourquoi
  • Métriques de fiabilité : Taux de succès par LLM et par personnalité
  • Alertes proactives : Notification si un LLM devient indisponible

B. Configuration dynamique

  • Tests de connectivité : Vérifier la disponibilité des LLM avant le workflow
  • Sélection intelligente : Éviter les LLM connus comme indisponibles
  • Mise en cache : Cache des réponses LLM pour éviter les redondances

C. Rollback partiel

  • Sauvegarde étapes : Sauvegarder le résultat de chaque étape du workflow
  • Reprise granulaire : Reprendre à l'étape qui a échoué, pas depuis le début

IMPLÉMENTATION IMMÉDIATE

Étape 1 : Modifier Google Sheets

  1. Ajouter colonnes dans sheet "Personnalités"
  2. Remplir les données pour les 15 personnalités existantes
  3. Tester la lecture des nouvelles colonnes

Étape 2 : Adapter le code

  1. BrainConfig.js : Lire les nouveaux champs LLM des personnalités
  2. SelectiveEnhancement.js : Utiliser les LLM préférés par personnalité
  3. LLMManager.js : Ajouter logique de fallback par personnalité

Étape 3 : Tests

  1. Tester avec LLM indisponible volontairement
  2. Vérifier la relance avec nouvelle personnalité
  3. Valider la qualité du contenu avec les fallbacks

🎯 RÉSULTAT ATTENDU

  • 99% de disponibilité : Le workflow ne s'arrête plus pour des problèmes IA temporaires
  • Qualité préservée : Chaque personnalité utilise son LLM optimal
  • Récupération intelligente : Échec d'une personnalité = essai avec une autre
  • Zero perte de travail : Reprise à l'étape d'échec, pas restart complet