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>
2.9 KiB
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 |