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>
78 lines
2.9 KiB
Markdown
78 lines
2.9 KiB
Markdown
# 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 |
|