# Guide: Génération de Tâches de Démonstration ## Objectif Créer automatiquement des tâches de démonstration pour tester le système de suggestions sans avoir à répéter manuellement des actions. ## Problème Rencontré Le script `generer_taches_demo.py` crée des tâches mais elles ne sont pas correctement persistées dans la base de données. ### Causes 1. **Structure des tâches**: Les `TaskProfile` ont une structure spécifique 2. **Sauvegarde**: La méthode `_save_task()` est privée et peut avoir des dépendances 3. **Embeddings**: Les embeddings doivent être indexés dans FAISS avec les bonnes métadonnées ## Solution Alternative: Utiliser le Mode Shadow Au lieu de générer des tâches artificiellement, la meilleure approche est d'utiliser le système normalement : ### Méthode 1: Apprentissage Manuel Rapide 1. **Lancez en mode Shadow**: ```bash cd geniusia2 ./venv/bin/python main.py --mode shadow ``` 2. **Effectuez des actions répétitives** (3x chacune): - Ouvrir la calculatrice (Super → "calc" → Entrée) × 3 - Cliquer sur "1" puis "+" puis "1" puis "=" × 3 - Fermer la fenêtre (Alt+F4) × 3 3. **Les tâches seront automatiquement créées** et sauvegardées 4. **Passez en mode Assist**: ```bash cd geniusia2 ./venv/bin/python main.py --mode assist ``` ### Méthode 2: Mode Progressif (Recommandé) 1. **Lancez en mode progressif**: ```bash cd geniusia2 ./run.sh ``` 2. **Effectuez des actions répétitives** 3. **Acceptez la proposition** de passer en mode Assist 4. **Les suggestions apparaîtront** automatiquement ## Script de Génération (À Améliorer) Le script `generer_taches_demo.py` existe mais nécessite des améliorations : ### Problèmes à Résoudre 1. ✅ Création des signatures → Fonctionne 2. ✅ Génération des embeddings → Fonctionne 3. ❌ Sauvegarde des tâches → Ne fonctionne pas correctement 4. ❌ Indexation FAISS → Pas synchronisée ### Améliorations Nécessaires ```python # Au lieu de: learning_manager._save_task(task) # Il faudrait: # 1. Sauvegarder la tâche avec toutes ses métadonnées # 2. Indexer chaque signature dans FAISS # 3. Associer les métadonnées correctement # 4. Vérifier que tout est persisté ``` ## Recommandation **Pour l'instant, utilisez l'apprentissage manuel** : 1. C'est plus fiable 2. C'est plus rapide (quelques minutes) 3. Ça teste le système réel 4. Ça garantit que tout fonctionne correctement ## Workflow Complet de Test ### Étape 1: Apprentissage (Mode Shadow) ```bash # Terminal 1: Lancer l'application cd geniusia2 ./venv/bin/python main.py --mode shadow # Effectuer des actions répétitives # - Ouvrir calculatrice × 3 # - Faire un calcul × 3 # - Fermer fenêtre × 3 ``` ### Étape 2: Vérification ```bash # Terminal 2: Vérifier les tâches créées ls -lh geniusia2/data/tasks/ # Devrait montrer des fichiers task_*.json # Vérifier l'index FAISS ls -lh geniusia2/data/embeddings/ # Devrait montrer faiss_index.bin et metadata.pkl ``` ### Étape 3: Test des Suggestions (Mode Assist) ```bash # Relancer en mode Assist cd geniusia2 ./venv/bin/python main.py --mode assist # Effectuer une action similaire # → Une suggestion devrait apparaître ! ``` ## Prochaines Améliorations du Script Pour rendre le script `generer_taches_demo.py` fonctionnel : 1. **Étudier la structure exacte** de `TaskProfile` 2. **Comprendre le format** de sauvegarde JSON 3. **Implémenter correctement** l'indexation FAISS 4. **Tester la récupération** des tâches ## Conclusion Le script de génération automatique est une bonne idée mais nécessite plus de travail. **Pour l'instant** : Utilisez l'apprentissage manuel, c'est rapide et fiable. **Pour plus tard** : Améliorez le script pour qu'il fonctionne correctement. --- **Date**: 2025-11-22 **Statut**: ⏳ En cours d'amélioration **Alternative**: ✅ Apprentissage manuel fonctionnel I