Files
Geniusia_v2/archive/old_docs/PROBLEME_MODE_ASSISTE.md
2026-03-05 00:20:25 +01:00

4.4 KiB

⚠️ Problème Identifié - Mode Assisté

🔍 Problème

Le script test_mode_assiste_manuel.py utilisait une méthode qui n'existe pas dans LearningManager :

tasks = learning_manager.list_tasks()  # ❌ N'existe pas

Erreur Attendue

AttributeError: 'LearningManager' object has no attribute 'list_tasks'

Solution

Utiliser la méthode correcte get_all_tasks() :

task_metrics = learning_manager.get_all_tasks()  # ✅ Existe

📊 Différence entre les Méthodes

list_tasks() (N'existe pas)

  • Méthode inexistante
  • Aurait retourné des objets TaskProfile

get_all_tasks() (Existe)

  • Méthode existante dans LearningManager
  • Retourne une liste de dictionnaires avec métriques complètes

Exemple de retour :

[
    {
        'task_id': 'task_fc1d3e52',
        'task_name': 'Défilement rapide',
        'observation_count': 3,
        'confidence_score': 0.0,
        'concordance_rate': 0.0,
        'mode': 'shadow',
        'window_whitelist': ['Firefox']
    },
    # ... autres tâches
]

🔧 Correction Appliquée

Avant

# Vérifier les tâches existantes
print("📊 Vérification des tâches apprises...")
tasks = learning_manager.list_tasks()  # ❌

if not tasks:
    print("❌ Aucune tâche apprise trouvée !\n")
    return

print(f"✅ {len(tasks)} tâche(s) trouvée(s) :\n")
for i, task in enumerate(tasks, 1):
    print(f"   {i}. {task.task_name}")  # ❌ task est un objet
    print(f"      ID: {task.task_id}")
    print(f"      Actions: {len(task.signatures)}")

Après

# Vérifier les tâches existantes
print("📊 Vérification des tâches apprises...")

# Utiliser get_all_tasks() qui retourne une liste de dicts avec métriques
task_metrics = learning_manager.get_all_tasks()  # ✅

if not task_metrics:
    print("❌ Aucune tâche apprise trouvée !\n")
    return

print(f"✅ {len(task_metrics)} tâche(s) trouvée(s) :\n")
for i, task_info in enumerate(task_metrics, 1):
    print(f"   {i}. {task_info['task_name']}")  # ✅ task_info est un dict
    print(f"      ID: {task_info['task_id']}")
    print(f"      Observations: {task_info['observation_count']}")
    print(f"      Confiance: {task_info['confidence_score']:.2%}")

📝 Avantages de get_all_tasks()

  1. Métriques complètes : Retourne toutes les infos (observations, confiance, etc.)
  2. Format dict : Plus facile à manipuler que des objets
  3. Déjà implémenté : Pas besoin de créer une nouvelle méthode
  4. Utilisé ailleurs : Cohérent avec le reste du code

🎯 Méthodes Disponibles dans LearningManager

Voici les méthodes publiques disponibles :

Observation et Apprentissage

  • observe(action) : Enregistre une observation
  • create_task_from_signatures(signatures, ...) : Crée une tâche

Suggestions et Validation

  • suggest_action(context) : Génère une suggestion
  • confirm_action(feedback) : Traite la validation utilisateur

Évaluation et Métriques

  • calculate_confidence(vision_conf, llm_score, task_id) : Calcule la confiance
  • evaluate_task(task_id) : Évalue une tâche
  • get_all_tasks() : Retourne toutes les tâches avec métriques
  • get_task_stats() : Statistiques globales

Transitions de Mode

  • should_transition_to_auto(task_id) : Vérifie si passage en Autopilot
  • rollback_if_low_confidence(task_id) : Rétrograde si confiance faible

Gestion de Tâches

  • load_task(task_id) : Charge une tâche depuis le disque
  • set_current_task(task_id) : Définit la tâche actuelle
  • set_current_context(context) : Définit le contexte actuel
  • record_execution(decision) : Enregistre une exécution

Détection de Changements UI

  • check_ui_changes(task_id, current_screenshot) : Vérifie les changements
  • monitor_execution_drift(task_id, execution_result) : Surveille la dérive
  • get_ui_change_stats() : Statistiques de détection

État

  • get_mode() : Retourne le mode actuel
  • get_current_intent() : Retourne l'intention actuelle
  • set_current_intent(intent) : Définit l'intention

État Final

  • Problème identifié
  • Solution appliquée
  • Script corrigé
  • Aucune erreur de syntaxe
  • Prêt à l'emploi

🚀 Test

geniusia2/venv/bin/python test_mode_assiste_manuel.py

Résultat attendu : Le script liste toutes les tâches et simule une vérification de suggestion.


Problème résolu le 19 Novembre 2025