Files
rpa_vision_v3/docs/CONSOLIDATION_20260405.md
Dom 72a9651b94 docs: consolidation 5 avril — état des lieux complet
Pipeline entraînement validé (15.7s, extrapolation 1h = 10 min).
CLIP vérification validée (sim 0.87-0.99 sur fenêtres).
Acteur gemma4 branché (PASSER/EXECUTER/STOPPER, think=True).
Grounding fenêtre + template taskbar fonctionnels.
Problèmes identifiés : ambiguïté Rechercher, éléments VLM.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 21:25:10 +02:00

2.9 KiB

Consolidation — 5 avril 2026

Ce qui fonctionne

Pipeline d'entraînement (mesuré)

Étape Temps/screenshot Extrapolation 1h
ScreenAnalyzer (OCR docTR) 1.05s 9 min
CLIP Embeddings (ViT-B-32) 0.093s 1 min
FAISS Index <0.01s <1s
GraphBuilder 0.7s total <1 min
Total 1.2s/shot ~10 min

Résolution visuelle

  • Grounding qwen2.5vl : fonctionne sur les fenêtres croppées (by_text OCR/VLM)
  • Template matching : fonctionne pour les icônes/taskbar (crop 80x80)
  • gemma4 enrichissement : lit le texte des éléments sans OCR (onglets, icônes)

Vérifications

  • CLIP : vérifie la bonne application (sim > 0.75 sur fenêtre)
  • Titre fenêtre : vérifie l'état par nom d'app (polling 10s)
  • Pré-vérification : stoppe si mauvaise fenêtre AVANT de cliquer

Acteur intelligent

  • gemma4 think=True : décide PASSER/EXECUTER/STOPPER (5s, 75% correct)
  • Branché dans l'executor quand target_not_found
  • Mode texte CPU (pas d'image, pas de VRAM)

Infrastructure

  • Ollama 0.16.3 host (port 11434) : qwen2.5vl:7b GPU 9.4GB
  • Docker Ollama 0.20 (port 11435) : gemma4:e4b GPU 3.6GB
  • Jamais simultanés (auto-unload gemma4 après build)
  • VM Win11 (192.168.122.14) : SSH + agent Léa
  • Anti-bot : Bézier mouse + frappe char-by-char

Problèmes identifiés (non résolus)

P1 : Ambiguïté "Rechercher" (taskbar vs explorateur)

Le crop 80x80 de la barre de recherche Windows ressemble à la barre de recherche de l'explorateur. Le template matching clique au mauvais endroit. L'acteur doit apprendre à distinguer les contextes.

P2 : Éléments VLM (by_text_source="vlm")

Le grounding qwen2.5vl ne trouve pas toujours les textes lus par gemma4 (ex: "voiture elec" — texte d'onglet). L'acteur prend le relais et décide PASSER quand l'état est déjà atteint.

P3 : Premier chargement VLM lent

Le premier appel à qwen2.5vl ou gemma4 après redémarrage prend 30-60s (chargement en VRAM). Les appels suivants sont rapides (0.2-5s).

Architecture validée

ENREGISTREMENT (une fois)
  Agent capture → screenshots + events
  ↓
BUILD (une fois, ~15s)
  ScreenAnalyzer (OCR) → CLIP → FAISS → GraphBuilder
  gemma4 enrichit les éléments sans OCR
  → Workflow enrichi + actions avec embeddings CLIP
  
REPLAY (à chaque exécution)
  Fast path :
    Titre fenêtre OK → grounding qwen2.5vl → clic → polling titre → OK
  Slow path (quand target_not_found) :
    Acteur gemma4 → PASSER / STOPPER / EXECUTER

Métriques de replay sur VM

Session Résultat Détail
Notepad (dernier test) 4/32 actions Recherche + ouverture Bloc-notes OK, bloque sur onglet
Grounding texte OCR 100% Rechercher, Ouvrir, Fichier, Enregistrer
CLIP vérification 100% sim 0.87-0.99
Acteur gemma4 Validé unitairement PASSER correct pour onglet actif