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>
6.7 KiB
Document d'Exigences - Signature d'Écran et Mémoire de Cibles Inter-Frames
Auteur : Dom, Alice Kiro
Date : 20 décembre 2024
Introduction
La fonctionnalité de Signature d'Écran et Mémoire de Cibles Inter-Frames améliore la stabilité de RPA Vision V3 entre les captures d'interface utilisateur en implémentant un système robuste d'empreintes d'écran et de mémorisation des emplacements de cibles. Cette fonctionnalité résout le problème courant où des variations mineures d'interface (changements OCR, décalages d'ID d'éléments, micro-mouvements) causent des échecs de résolution de cibles entre des captures consécutives du même écran logique.
Glossaire
- Signature d'Écran : Une empreinte stable basée sur un hash de la disposition d'un écran qui reste cohérente malgré des variations mineures d'OCR, des changements d'ID d'éléments, ou de petits décalages positionnels
- Mémoire de Cibles Inter-Frames : Un système de cache qui mémorise où des spécifications de cibles spécifiques ont été résolues avec succès dans des frames précédents
- Empreinte de Cible : Une représentation normalisée des caractéristiques clés d'un élément d'interface (rôle, type, label, bbox, element_id)
- Mode Disposition : Mode de signature d'écran qui se concentre sur les éléments structurels tout en ignorant les variations de texte
- Mode Texte : Mode de signature d'écran qui inclut le contenu textuel pour un matching plus strict
- Index Spatial : Le système d'indexation spatiale existant utilisé pour les requêtes efficaces basées sur les bbox
- Résolveur de Cibles : Le composant central responsable de la résolution des spécifications de cibles vers des éléments d'interface réels
Exigences
Exigence 1
Histoire Utilisateur : En tant que système RPA, je veux générer des signatures d'écran stables, afin de pouvoir reconnaître le même écran logique malgré des variations mineures d'interface.
Critères d'Acceptation
- QUAND je génère une signature d'écran en mode disposition, LE système DOIT normaliser le contenu textuel en supprimant la sensibilité à la casse, les espaces supplémentaires, et les caractères de combinaison Unicode
- QUAND je quantifie les positions d'éléments, LE système DOIT utiliser des tailles de pas configurables pour ignorer les micro-mouvements tout en préservant les différences de disposition significatives
- QUAND je crée des signatures, LE système DOIT inclure le titre de fenêtre, la résolution d'écran, et les informations structurelles des éléments dans un ordre déterministe
- QUAND le même écran logique est capturé avec des variations mineures d'OCR, LE système DOIT générer des signatures identiques en mode disposition
- QUAND les signatures d'écran sont calculées, LE système DOIT utiliser le hachage SHA-1 pour une génération d'empreinte cohérente
Exigence 2
Histoire Utilisateur : En tant que système RPA, je veux maintenir une mémoire de cibles inter-frames, afin de pouvoir résoudre rapidement les cibles qui ont été trouvées dans des contextes d'écran similaires.
Critères d'Acceptation
- QUAND une cible est résolue avec succès, LE système DOIT stocker une empreinte de cible avec les informations de rôle, type, label, bbox, et element_id
- QUAND je stocke des empreintes de cibles, LE système DOIT utiliser un cache LRU avec des limites de taille configurables pour gérer l'utilisation mémoire
- QUAND je résous des cibles, LE système DOIT d'abord tenter de trouver des cibles en cache depuis des signatures d'écran similaires
- QUAND les IDs d'éléments en cache sont encore valides, LE système DOIT retourner l'élément en cache avec une confiance élevée
- QUAND les IDs d'éléments en cache sont invalides, LE système DOIT rechercher spatialement près de l'emplacement bbox en cache en utilisant l'index spatial
Exigence 3
Histoire Utilisateur : En tant que système RPA, je veux résoudre les cibles depuis la mémoire avant un scoring coûteux, afin d'améliorer les performances et la stabilité.
Critères d'Acceptation
- QUAND je résous une spécification de cible, LE système DOIT vérifier la mémoire inter-frames avant d'effectuer un scoring complet des éléments
- QUAND la résolution basée sur la mémoire réussit, LE système DOIT retourner des résultats avec des scores de confiance appropriés et des indicateurs de stratégie
- QUAND la résolution basée sur la mémoire échoue, LE système DOIT revenir aux méthodes de résolution standard
- QUAND les cibles sont résolues avec succès, LE système DOIT mettre à jour le cache inter-frames avec la nouvelle empreinte de cible
- QUAND le cache atteint les limites de taille, LE système DOIT évincer les entrées les moins récemment utilisées
Exigence 4
Histoire Utilisateur : En tant que système RPA, je veux effectuer des recherches spatiales pour les cibles en cache, afin de pouvoir trouver des éléments qui ont légèrement bougé ou changé d'IDs.
Critères d'Acceptation
- QUAND un ID d'élément en cache n'est pas trouvé, LE système DOIT interroger l'index spatial autour du centre bbox en cache
- QUAND j'effectue des recherches spatiales, LE système DOIT utiliser un padding configurable pour définir les zones de recherche
- QUAND je score les éléments trouvés spatialement, LE système DOIT considérer la correspondance de rôle, la correspondance de type, la similarité de label, et les pénalités de distance
- QUAND plusieurs candidats sont trouvés, LE système DOIT sélectionner l'élément avec le score le plus élevé basé sur des critères combinés
- QUAND la recherche spatiale réussit, LE système DOIT retourner des résultats avec des scores de confiance reflétant la qualité de la correspondance
Exigence 5
Histoire Utilisateur : En tant que système RPA, je veux des modes de signature configurables, afin de pouvoir équilibrer stabilité et précision selon les exigences du cas d'usage.
Critères d'Acceptation
- QUAND j'utilise le mode disposition, LE système DOIT se concentrer sur les éléments structurels tout en ignorant les variations de contenu textuel
- QUAND j'utilise le mode texte, LE système DOIT inclure le contenu textuel normalisé pour des exigences de matching plus strictes
- QUAND je génère des clés de cache, LE système DOIT incorporer les détails de spécification de cible et la signature d'écran
- QUAND les modes de signature sont spécifiés, LE système DOIT appliquer des stratégies de normalisation et quantification appropriées
- QUAND des décisions de mise en cache sont prises, LE système DOIT utiliser le mode disposition par défaut pour une stabilité maximale