Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) : - 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm) - Score moyen 0.75, temps moyen 1.6s - Texte tapé correctement (bonjour, test word, date, email) - 0 retries, 2 actions non vérifiées (OK) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
315 lines
11 KiB
Markdown
315 lines
11 KiB
Markdown
# RPA Precision Enhancement - Spécification des Exigences
|
|
|
|
**Auteur**: Dom, Alice Kiro
|
|
**Date**: 15 décembre 2024
|
|
**Version**: 1.0
|
|
**Statut**: Nouveau
|
|
|
|
## 🎯 Vue d'Ensemble
|
|
|
|
Suite aux corrections réussies des Fiches #1, #2, et #3 qui ont résolu les bugs critiques de précision ("robot qui clique à côté"), cette spécification définit la prochaine phase d'amélioration du système RPA Vision V3 pour atteindre une précision de niveau production.
|
|
|
|
## 📋 Contexte et Motivation
|
|
|
|
### Succès Actuels ✅
|
|
- **Fiche #1**: Contrats de données unifiés (aliases de compatibilité)
|
|
- **Fiche #2**: Format BBOX XYWH standardisé (précision géométrique)
|
|
- **Fiche #3**: Context hints intégrés dans résolution composite
|
|
- **Précision actuelle**: ~95% (amélioration de +35% depuis les corrections)
|
|
|
|
### Défis Restants 🎯
|
|
1. **Robustesse multi-environnements**: Variations d'écran, résolutions, DPI
|
|
2. **Adaptation dynamique**: UI qui changent (mises à jour, thèmes)
|
|
3. **Performance à l'échelle**: Optimisation pour workflows complexes
|
|
4. **Monitoring avancé**: Métriques de précision en temps réel
|
|
5. **Auto-amélioration**: Apprentissage continu des échecs
|
|
|
|
## 🎯 Objectifs Principaux
|
|
|
|
### Objectif 1: Précision Robuste Multi-Environnements
|
|
- **Cible**: 98%+ de précision sur différentes résolutions/DPI
|
|
- **Métriques**: Taux de succès par environnement, écart-type des positions
|
|
- **Valeur**: Déploiement fiable sur parcs hétérogènes
|
|
|
|
### Objectif 2: Adaptation Dynamique UI
|
|
- **Cible**: Détection automatique des changements UI et re-calibration
|
|
- **Métriques**: Temps de récupération après changement UI, taux de faux positifs
|
|
- **Valeur**: Maintenance réduite, workflows auto-résilients
|
|
|
|
### Objectif 3: Performance Optimisée
|
|
- **Cible**: <50ms résolution moyenne, <200ms pour cas complexes
|
|
- **Métriques**: Latence P95, throughput résolutions/seconde
|
|
- **Valeur**: Workflows fluides, expérience utilisateur améliorée
|
|
|
|
### Objectif 4: Monitoring Intelligent
|
|
- **Cible**: Dashboard temps réel avec alertes prédictives
|
|
- **Métriques**: MTTR (Mean Time To Recovery), précision par composant
|
|
- **Valeur**: Proactivité opérationnelle, debugging facilité
|
|
|
|
## 👥 Personas et Cas d'Usage
|
|
|
|
### Persona 1: Administrateur RPA
|
|
**Besoins**:
|
|
- Monitoring centralisé de la précision
|
|
- Alertes automatiques sur dégradation
|
|
- Métriques de performance par workflow
|
|
|
|
**Cas d'usage**:
|
|
- Surveiller 50+ workflows en production
|
|
- Détecter rapidement les régressions
|
|
- Optimiser les configurations par environnement
|
|
|
|
### Persona 2: Développeur Workflow
|
|
**Besoins**:
|
|
- Outils de debugging précision
|
|
- Feedback temps réel sur qualité résolution
|
|
- Suggestions d'amélioration automatiques
|
|
|
|
**Cas d'usage**:
|
|
- Créer workflows robustes multi-environnements
|
|
- Diagnostiquer échecs de résolution
|
|
- Optimiser sélecteurs pour performance
|
|
|
|
### Persona 3: Utilisateur Final
|
|
**Besoins**:
|
|
- Workflows qui "marchent toujours"
|
|
- Récupération transparente des erreurs
|
|
- Performance constante
|
|
|
|
**Cas d'usage**:
|
|
- Exécuter workflows quotidiens sans intervention
|
|
- Travailler sur différents postes/résolutions
|
|
- Bénéficier d'améliorations automatiques
|
|
|
|
## 📋 User Stories
|
|
|
|
### Epic 1: Robustesse Multi-Environnements
|
|
|
|
#### US-1.1: Normalisation DPI/Résolution
|
|
**En tant qu'** administrateur RPA
|
|
**Je veux** que les workflows fonctionnent identiquement sur différentes résolutions
|
|
**Afin de** déployer sur un parc hétérogène sans reconfiguration
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Détection automatique DPI/résolution
|
|
- [ ] Normalisation coordonnées BBOX
|
|
- [ ] Tests sur 3+ résolutions différentes
|
|
- [ ] Précision >95% sur chaque environnement
|
|
|
|
#### US-1.2: Adaptation Échelle UI
|
|
**En tant que** développeur workflow
|
|
**Je veux** que les éléments soient trouvés même avec zoom/échelle différents
|
|
**Afin de** créer des workflows universels
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Support zoom 75%-150%
|
|
- [ ] Recalibration automatique des seuils
|
|
- [ ] Métriques de confiance ajustées
|
|
- [ ] Fallback multi-échelle
|
|
|
|
### Epic 2: Adaptation Dynamique
|
|
|
|
#### US-2.1: Détection Changements UI
|
|
**En tant qu'** utilisateur final
|
|
**Je veux** que mes workflows continuent de fonctionner après mises à jour UI
|
|
**Afin de** ne pas avoir à les reconfigurer constamment
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Détection automatique changements layout
|
|
- [ ] Stratégies de récupération adaptatives
|
|
- [ ] Apprentissage des nouveaux patterns
|
|
- [ ] Notification changements détectés
|
|
|
|
#### US-2.2: Auto-Calibration Seuils
|
|
**En tant que** système RPA
|
|
**Je veux** ajuster automatiquement mes seuils de confiance
|
|
**Afin de** maintenir une précision optimale
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Analyse historique des succès/échecs
|
|
- [ ] Ajustement dynamique des seuils
|
|
- [ ] A/B testing des configurations
|
|
- [ ] Rollback automatique si dégradation
|
|
|
|
### Epic 3: Performance Optimisée
|
|
|
|
#### US-3.1: Cache Intelligent
|
|
**En tant que** système RPA
|
|
**Je veux** un cache multi-niveaux optimisé
|
|
**Afin de** réduire la latence de résolution
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Cache embeddings par session
|
|
- [ ] Cache relations spatiales
|
|
- [ ] Invalidation intelligente
|
|
- [ ] Métriques hit rate >80%
|
|
|
|
#### US-3.2: Résolution Parallèle
|
|
**En tant que** développeur workflow
|
|
**Je veux** résoudre plusieurs cibles en parallèle
|
|
**Afin d** accélérer les workflows complexes
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] API résolution batch
|
|
- [ ] Pool de workers configurables
|
|
- [ ] Gestion ressources GPU/CPU
|
|
- [ ] Latence réduite 50%+ pour batch
|
|
|
|
### Epic 4: Monitoring Avancé
|
|
|
|
#### US-4.1: Dashboard Précision Temps Réel
|
|
**En tant qu'** administrateur RPA
|
|
**Je veux** un dashboard temps réel de la précision
|
|
**Afin de** détecter rapidement les problèmes
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Métriques temps réel par workflow
|
|
- [ ] Graphiques tendances précision
|
|
- [ ] Alertes seuils configurables
|
|
- [ ] Export données pour analyse
|
|
|
|
#### US-4.2: Diagnostic Automatique
|
|
**En tant que** développeur workflow
|
|
**Je veux** des suggestions automatiques d'amélioration
|
|
**Afin d'** optimiser mes sélecteurs
|
|
|
|
**Critères d'acceptation**:
|
|
- [ ] Analyse patterns d'échec
|
|
- [ ] Suggestions sélecteurs alternatifs
|
|
- [ ] Scoring qualité résolution
|
|
- [ ] Recommandations performance
|
|
|
|
## 🔧 Exigences Techniques
|
|
|
|
### Performance
|
|
- **Latence résolution**: <50ms P95 (simple), <200ms P95 (composite)
|
|
- **Throughput**: >100 résolutions/seconde
|
|
- **Mémoire**: <500MB overhead cache
|
|
- **CPU**: <10% utilisation baseline
|
|
|
|
### Fiabilité
|
|
- **Précision**: >98% multi-environnements
|
|
- **Disponibilité**: 99.9% uptime
|
|
- **Récupération**: <5s après changement UI
|
|
- **Cohérence**: Résultats identiques multi-exécutions
|
|
|
|
### Scalabilité
|
|
- **Workflows simultanés**: >50
|
|
- **Éléments UI**: >1000 par écran
|
|
- **Historique**: 30 jours métriques
|
|
- **Environnements**: Support 10+ configurations
|
|
|
|
### Sécurité
|
|
- **Données sensibles**: Pas de capture credentials
|
|
- **Logs**: Anonymisation automatique
|
|
- **Accès**: RBAC pour monitoring
|
|
- **Audit**: Traçabilité complète actions
|
|
|
|
## 🚫 Exclusions
|
|
|
|
### Hors Périmètre v1.0
|
|
- **OCR avancé**: Reconnaissance texte complexe (v2.0)
|
|
- **IA générative**: Génération workflows automatique (v2.0)
|
|
- **Multi-applications**: Workflows cross-app (v1.1)
|
|
- **Mobile**: Support tablettes/smartphones (v2.0)
|
|
|
|
### Contraintes Acceptées
|
|
- **Environnements supportés**: Windows 10+, macOS 12+, Ubuntu 20+
|
|
- **Navigateurs**: Chrome 90+, Firefox 88+, Edge 90+
|
|
- **Résolutions**: 1024x768 à 4K
|
|
- **Langues**: Interface anglais/français uniquement
|
|
|
|
## 📊 Métriques de Succès
|
|
|
|
### Métriques Primaires
|
|
1. **Précision Globale**: >98% (vs 95% actuel)
|
|
2. **Latence P95**: <50ms simple, <200ms composite
|
|
3. **MTTR**: <5 minutes (vs 30 minutes actuel)
|
|
4. **Satisfaction Utilisateur**: >4.5/5 (enquête)
|
|
|
|
### Métriques Secondaires
|
|
1. **Cache Hit Rate**: >80%
|
|
2. **False Positive Rate**: <2%
|
|
3. **Adaptation Time**: <10s après changement UI
|
|
4. **Resource Efficiency**: <10% CPU, <500MB RAM
|
|
|
|
### Métriques de Qualité
|
|
1. **Code Coverage**: >90%
|
|
2. **Performance Tests**: 100% passing
|
|
3. **Security Scan**: 0 vulnérabilités critiques
|
|
4. **Documentation**: 100% APIs documentées
|
|
|
|
## 🗓️ Jalons et Livrables
|
|
|
|
### Phase 1: Fondations (Semaines 1-2)
|
|
- [ ] Architecture monitoring avancé
|
|
- [ ] Framework métriques temps réel
|
|
- [ ] Cache multi-niveaux
|
|
- [ ] Tests performance baseline
|
|
|
|
### Phase 2: Robustesse (Semaines 3-4)
|
|
- [ ] Normalisation DPI/résolution
|
|
- [ ] Adaptation multi-échelle
|
|
- [ ] Détection changements UI
|
|
- [ ] Stratégies récupération
|
|
|
|
### Phase 3: Performance (Semaines 5-6)
|
|
- [ ] Résolution parallèle
|
|
- [ ] Optimisations cache
|
|
- [ ] Profiling et tuning
|
|
- [ ] Benchmarks comparatifs
|
|
|
|
### Phase 4: Monitoring (Semaines 7-8)
|
|
- [ ] Dashboard temps réel
|
|
- [ ] Alertes intelligentes
|
|
- [ ] Diagnostic automatique
|
|
- [ ] Documentation utilisateur
|
|
|
|
## 🔗 Dépendances
|
|
|
|
### Dépendances Internes
|
|
- **Core Models**: Contrats données stabilisés (Fiches #1-3) ✅
|
|
- **Target Resolver**: Context hints implémentés (Fiche #3) ✅
|
|
- **Action Executor**: Précision BBOX corrigée (Fiche #2) ✅
|
|
- **Analytics System**: Infrastructure existante
|
|
|
|
### Dépendances Externes
|
|
- **Monitoring Stack**: Prometheus/Grafana ou équivalent
|
|
- **Cache Backend**: Redis ou équivalent
|
|
- **GPU Resources**: CUDA 11+ pour optimisations
|
|
- **Testing Infrastructure**: Environnements multi-résolution
|
|
|
|
## ⚠️ Risques et Mitigation
|
|
|
|
### Risques Techniques
|
|
1. **Performance Dégradation**: Monitoring peut impacter latence
|
|
- *Mitigation*: Sampling intelligent, async processing
|
|
2. **Cache Invalidation**: Complexité gestion cohérence
|
|
- *Mitigation*: Stratégies TTL conservatrices, validation
|
|
3. **Multi-threading**: Race conditions résolution parallèle
|
|
- *Mitigation*: Design thread-safe, tests concurrence
|
|
|
|
### Risques Produit
|
|
1. **Over-engineering**: Complexité vs bénéfice utilisateur
|
|
- *Mitigation*: MVP itératif, feedback utilisateur continu
|
|
2. **Adoption**: Résistance changement workflows existants
|
|
- *Mitigation*: Rétrocompatibilité, migration progressive
|
|
3. **Maintenance**: Overhead opérationnel monitoring
|
|
- *Mitigation*: Automation maximale, self-healing
|
|
|
|
## 📚 Références
|
|
|
|
### Standards et Bonnes Pratiques
|
|
- **W3C Accessibility Guidelines**: Pour sélecteurs robustes
|
|
- **IEEE 829**: Standards documentation tests
|
|
- **ISO 25010**: Qualité logiciel (performance, fiabilité)
|
|
|
|
### Technologies de Référence
|
|
- **Selenium Grid**: Architecture parallélisation
|
|
- **Prometheus**: Métriques et monitoring
|
|
- **OpenTelemetry**: Observabilité distribuée
|
|
- **Apache Kafka**: Streaming métriques temps réel
|
|
|
|
---
|
|
|
|
**Prochaine étape**: Création du document de design détaillé basé sur ces exigences. |