## Nouvelles fonctionnalités ### 1. SeeClick Adapter (visual grounding fallback) - Nouvel adapter pour le modèle SeeClick (HuggingFace) - Intégré dans la chaîne de fallback: CLIP → Template → SeeClick → Static - Localise les éléments GUI à partir de descriptions textuelles ### 2. Self-Healing Interactif - Dialogue qui propose des alternatives quand l'ancre n'est pas trouvée - L'utilisateur peut choisir: candidat alternatif, coords statiques, ou sauter - Nouveaux endpoints: /healing/status, /healing/choose, /healing/candidates - État "waiting_for_choice" pour mettre l'exécution en pause ### 3. Dashboard Confiance (temps réel) - Affiche les scores de confiance pendant l'exécution - Montre: méthode utilisée, distance, taux de succès - Interface pliable en bas à droite - Visible uniquement en mode intelligent/debug ## Fichiers ajoutés - core/detection/seeclick_adapter.py - frontend_v4/src/components/SelfHealingDialog.tsx - frontend_v4/src/components/ConfidenceDashboard.tsx ## Fichiers modifiés - core/detection/__init__.py - backend/services/intelligent_executor.py - backend/api_v3/execute.py - frontend_v4/src/App.tsx - frontend_v4/src/services/api.ts - docs/VISION_RPA_INTELLIGENT.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9.2 KiB
9.2 KiB
RPA Vision - Architecture et Vision Produit
Document de référence - Janvier 2026
Vision Globale
RPA Vision n'est pas un simple enregistreur de macros. C'est un agent RPA apprenant qui fonctionne comme un stagiaire :
- Il observe - Capture les démonstrations humaines
- Il apprend - Stocke les patterns visuels (embeddings CLIP)
- Il essaie - Exécute avec supervision
- Il se trompe - Détecte ses erreurs
- On le corrige - Feedback humain
- Il devient autonome - Généralise à de nouveaux cas
Architecture Technique
Machine Cible
- CPU : Ryzen 9 9050X
- RAM : 128 Go DDR5 4040 MHz
- GPU : NVIDIA RTX 5090 12 Go
Cette configuration permet de tout faire tourner en local (pas de cloud).
Composants Principaux
rpa_vision_v3/
├── core/
│ ├── learning/ # Mémoire + apprentissage continu
│ ├── embedding/ # Représentation visuelle (CLIP)
│ ├── healing/ # Auto-correction (self-healing)
│ └── workflow/ # Orchestration
│
├── agent_v0/ # Agents autonomes (produit final)
│
├── web_dashboard/ # Interface de supervision (produit final)
│
└── visual_workflow_builder/ # VWB (outil transitoire)
Pipeline de Détection (Hybride)
┌─────────────────────────────────────────────────────────────────┐
│ ÉCRAN CAPTURÉ │
└─────────────────────────────────────────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ MODE 1: UI MAP JSON │
│ (OmniParser / UI-DETR-1) │
│ → Liste de bboxes + scores │
└───────────────────────────────┘
│
▼
┌───────────────────────────────┐
│ DÉCIDEUR (LLM local) │
│ Choisit ID élément │
│ (pas de coords libres) │
└───────────────────────────────┘
│
┌─────────┴─────────┐
│ │
Élément trouvé? UI map bruitée?
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ REFINE │ │ MODE 2: GROUND │
│ (crop + Moondream│ │ (SeeClick) │
│ ou OpenCV) │ │ → (x,y) direct │
└─────────────────┘ └─────────────────┘
│ │
└─────────┬─────────┘
▼
┌───────────────────────────────┐
│ VERIFY │
│ L'action a-t-elle eu effet? │
└───────────────────────────────┘
Modèles Utilisés
| Fonction | Modèle | Licence |
|---|---|---|
| UI Map (détection) | UI-DETR-1 ou OmniParser | OK commercial |
| Grounding (fallback) | SeeClick | OK commercial |
| Embeddings visuels | CLIP | MIT |
| Décideur | LLM local (Mistral/LLaMA 7-13B) | Apache/LLaMA |
Terrain de jeu
- Desktop natif Windows/Linux
- Citrix / VDI (images compressées)
- Petites icônes (cas difficile)
Rôle de VWB (Visual Workflow Builder)
VWB est un outil transitoire, pas le produit final.
Utilité
| Fonction | Description |
|---|---|
| Démo commerciale | Interface visuelle impressionnante pour prospects |
| Bootstrap | Créer rapidement des exemples d'apprentissage |
| Correction | Humain corrige les erreurs de l'agent via UI |
| Accélérateur | Génère des données d'entraînement validées |
Évolution prévue
| Aujourd'hui (VWB) | Demain (Produit final) |
|---|---|
| Interface drag & drop | Instructions texte/vocal |
| Workflows manuels | Workflows générés par l'agent |
| Humain dessine le chemin | Agent déduit le chemin |
| VWB + Dashboard | Dashboard + Agents seuls |
Modes d'Exécution VWB
Toggle Global (3 modes)
┌─────────────────────────────────────────────┐
│ ○ Basique │ ● Intelligent │ ○ Debug │
└─────────────────────────────────────────────┘
Comparaison des modes
| Fonction | Basique | Intelligent | Debug |
|---|---|---|---|
| Localisation | Coordonnées fixes | UI-DETR + CLIP | UI-DETR + CLIP |
| Décision | Séquentiel strict | LLM choisit | LLM choisit |
| Self-healing | OFF | ON | ON |
| Vérification | Aucune | Après chaque action | Après chaque action |
| Overlay visuel | Aucun | Aucun | Bboxes + scores |
| Vitesse | Rapide | Plus lent | Plus lent |
| Usage | Démo simple | Démo "magie" | Debug interne |
Scénario de Démo Type
Acte 1 : "Le robot classique"
[Mode: BASIQUE]
- Montrer un workflow simple : login → recherche → export
- Exécution fluide, rapide, prévisible
- Message : "Voici ce que font les RPA classiques"
Acte 2 : "Le problème"
[Mode: BASIQUE]
- Modifier légèrement l'interface (bouton déplacé, thème différent)
- Relancer le workflow
- ÇA CASSE
- Message : "Voilà pourquoi les RPA coûtent cher en maintenance"
Acte 3 : "La magie"
[Mode: INTELLIGENT]
- Même workflow, même interface modifiée
- L'agent cherche, trouve, s'adapte
- ÇA MARCHE
- Message : "Notre système apprend et s'adapte"
Acte 4 : "Le futur"
- Montrer le dashboard avec les agents
- Message : "À terme, plus besoin de dessiner. Vous lui dites ce que vous voulez."
Compréhension des Intentions
Le système utilise une approche hybride :
- Matching sémantique : Compare l'instruction avec les workflows connus (embeddings)
- Planification LLM : Si pas de match direct, le LLM local décompose l'instruction en étapes
Instruction: "Créer une facture pour le client Dupont"
│
▼
┌───────────────────────────────┐
│ Matching workflows connus │
│ "créer facture" → 85% match │
└───────────────────────────────┘
│
Match trouvé?
│ │
OUI NON
│ │
▼ ▼
Exécuter LLM planifie
workflow nouvelles étapes
existant (généralisation)
Données d'Apprentissage
VWB génère des données pour entraîner le moteur principal :
Format d'export
{
"screenshot_before": "base64...",
"action": {
"type": "click_anchor",
"target_description": "Bouton Valider",
"anchor_embedding": [0.12, -0.34, ...],
"coordinates": {"x": 450, "y": 230}
},
"screenshot_after": "base64...",
"success": true,
"human_validated": true
}
Boucle d'apprentissage
- Agent propose une action
- Humain valide/corrige via VWB
- Correction stockée dans learning repository
- Modèle s'améliore (fine-tuning incrémental)
Prochaines Étapes
Fait ✅
- Frontend VWB v4 avec React Flow
- Toggle Mode Basique/Intelligent/Debug
- Intégration UI-DETR-1 pour détection
- Overlay Debug (affichage bboxes en temps réel)
- Exécution intelligente (template matching)
- Sélection de zone de détection sur capture fixe
- Intégration SeeClick en fallback (grounding) - 24 janvier 2026
- Self-healing interactif (proposer alternatives quand échec) - 24 janvier 2026
- Dashboard confiance (scores en temps réel) - 24 janvier 2026
À faire
- Export données d'apprentissage (format JSON)
- Apprentissage des corrections (feedback loop)
- Connexion au moteur principal (agents autonomes)
Document créé le 23 janvier 2026 Mis à jour le 24 janvier 2026