Files
rpa_vision_v3/docs/archive/misc/NEXT_STEPS.md
Dom a27b74cf22 v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution
- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:23:51 +01:00

6.5 KiB

Prochaines Étapes - RPA Vision V3

Date: 22 Novembre 2024
Phase Actuelle: Phase 3 Complète
Prochaine Phase: Phase 4 - Construction de Workflow Graphs

État Actuel

Phases Complétées

Phase 1 : Fondations - Structures de Données

  • Modèles de données (RawSession, ScreenState, UIElement, StateEmbedding, WorkflowGraph)
  • Sérialisation JSON
  • Tests unitaires

Phase 2 : Système d'Embeddings et FAISS

  • FusionEngine (fusion multi-modale)
  • FAISSManager (indexation et recherche)
  • Calculs de similarité
  • StateEmbeddingBuilder

Phase 3 : Détection UI Sémantique VIENT D'ÊTRE COMPLÉTÉE

  • UIDetector hybride (OpenCV + VLM)
  • Classification de types et rôles
  • Extraction de features visuelles
  • Système opérationnel et testé

🎯 Prochaine Étape : Phase 4

Phase 4 : Construction et Matching de Workflow Graphs

Objectif: Construire automatiquement des graphes de workflows depuis les sessions enregistrées et matcher les états en temps réel.

Tâches Principales

5.1 GraphBuilder - Construction Automatique

Priorité: HAUTE
Durée estimée: 2-3 jours

Créer le système qui construit automatiquement des workflow graphs depuis les RawSessions.

Sous-tâches:

  • Créer classe GraphBuilder
  • Implémenter build_from_session()
  • Créer ScreenStates depuis RawSession
  • Calculer State Embeddings pour tous les états

Fichier: rpa_vision_v3/core/graph/graph_builder.py

5.2 Pattern Detection - Détection de Répétitions

Priorité: HAUTE
Durée estimée: 2-3 jours

Détecter automatiquement les patterns répétés dans les sessions.

Sous-tâches:

  • Implémenter clustering sur embeddings (DBSCAN ou K-means)
  • Identifier transitions récurrentes
  • Détecter séquences avec 3+ répétitions

Algorithme suggéré:

# 1. Calculer embeddings de tous les états
# 2. Clustering (DBSCAN avec distance cosinus)
# 3. Identifier transitions fréquentes entre clusters
# 4. Extraire séquences répétées

5.3 Node Construction - Création de Templates

Priorité: HAUTE
Durée estimée: 2 jours

Créer des WorkflowNodes depuis les patterns détectés.

Sous-tâches:

  • Créer ScreenTemplate depuis cluster d'états
  • Calculer embedding prototype (moyenne)
  • Extraire contraintes (fenêtre, texte, UI requis)

5.4 Edge Construction - Transitions

Priorité: HAUTE
Durée estimée: 2 jours

Créer des WorkflowEdges depuis les transitions observées.

Sous-tâches:

  • Identifier actions entre états
  • Créer TargetSpec avec rôles sémantiques
  • Définir pre/post-conditions

5.5 NodeMatcher - Matching en Temps Réel

Priorité: HAUTE
Durée estimée: 2-3 jours

Matcher l'état actuel contre les nodes du workflow.

Sous-tâches:

  • Créer classe NodeMatcher
  • Calculer State Embedding de l'état actuel
  • Chercher dans FAISS les prototypes similaires
  • Valider contraintes (fenêtre, texte, UI)

Algorithme:

# 1. Capturer état actuel
# 2. Calculer embedding
# 3. Recherche FAISS (top-k similaires)
# 4. Valider contraintes pour chaque candidat
# 5. Retourner meilleur match avec confiance

Ordre d'Implémentation Recommandé

1. GraphBuilder (5.1)
   ↓
2. Pattern Detection (5.2)
   ↓
3. Node Construction (5.3)
   ↓
4. Edge Construction (5.4)
   ↓
5. NodeMatcher (5.5)
   ↓
6. Tests d'intégration

Améliorations Optionnelles Phase 3

Avant de passer à la Phase 4, tu peux optionnellement améliorer la Phase 3 :

Option A : Mode Asynchrone (Recommandé)

Impact: Gain de vitesse 3-5x
Effort: 1-2 jours
Priorité: MOYENNE

Implémenter le traitement asynchrone des classifications VLM.

Bénéfices:

  • Temps de détection : 40s → 8-12s
  • Meilleure utilisation des ressources
  • Expérience utilisateur améliorée

Fichiers à modifier:

  • core/detection/ui_detector.py - Ajouter méthode async
  • core/detection/ollama_client.py - Ajouter client async

Option B : Détection Spécialisée Checkboxes

Impact: Meilleure détection petits éléments
Effort: 1 jour
Priorité: BASSE

Améliorer la détection des checkboxes et radio buttons.

Option C : Cache Intelligent

Impact: Vitesse sur frames similaires
Effort: 1 jour
Priorité: BASSE

Cacher les classifications pour éléments similaires.

Recommandation

🎯 Recommandation Principale

Passer directement à la Phase 4 pour compléter le système de bout en bout.

Raisons:

  1. Phase 3 est fonctionnelle et testée
  2. Phase 4 est critique pour le système complet
  3. Les optimisations Phase 3 peuvent attendre
  4. Mieux vaut avoir un système complet qu'un système partiel optimisé

📋 Plan d'Action

Semaine 1-2:

  • Implémenter GraphBuilder (5.1)
  • Implémenter Pattern Detection (5.2)
  • Tests unitaires

Semaine 3:

  • Implémenter Node Construction (5.3)
  • Implémenter Edge Construction (5.4)
  • Tests unitaires

Semaine 4:

  • Implémenter NodeMatcher (5.5)
  • Tests d'intégration
  • Documentation

Après Phase 4:

  • Revenir aux optimisations Phase 3 si nécessaire
  • Implémenter Phase 5 (Exécution d'Actions)

Dépendances Techniques

Pour Phase 4, tu auras besoin de:

Déjà disponible:

  • UIDetector (Phase 3)
  • StateEmbeddingBuilder (Phase 2)
  • FAISSManager (Phase 2)
  • Modèles de données (Phase 1)

À vérifier:

  • Bibliothèque de clustering (scikit-learn)
  • Algorithme de détection de séquences

Installation Requise

# Clustering
pip install scikit-learn

# Optionnel : Visualisation
pip install matplotlib seaborn

Questions à Considérer

Avant de commencer la Phase 4 :

  1. Algorithme de clustering: DBSCAN ou K-means ?

    • DBSCAN : Meilleur pour patterns de taille variable
    • K-means : Plus simple, nécessite nombre de clusters
  2. Seuil de similarité: Quelle valeur pour matcher les nodes ?

    • Recommandé : 0.85-0.90
    • À ajuster selon les tests
  3. Nombre de répétitions: Combien pour détecter un pattern ?

    • Recommandé : 3+ répétitions
    • Configurable
  4. Stockage des workflows: Format et organisation ?

    • JSON par workflow
    • Index FAISS séparé par workflow

Conclusion

Phase 3 complète et opérationnelle
🎯 Prochaine étape : Phase 4 - Construction de Workflow Graphs
⏱️ Durée estimée Phase 4 : 3-4 semaines
🚀 Objectif : Système RPA Vision V3 complet


Prêt à commencer la Phase 4 ?

Dis-moi quand tu veux démarrer et je t'aiderai à implémenter le GraphBuilder !