Les Agents IA, le test automatisé et le Défi du Grounding : de l’Intention à l’Action Automatisée

By
3 Minutes Read

Les agents IA annoncent une nouvelle révolution avec la possibilité de déléguer la réalisation d’actions aux LLM. Imaginez pouvoir demander à ChatGPT de vous donner l’horaire du train que vous voulez prendre mais aussi et surtout de faire la réservation à votre place !

Dès que l’on délègue la capacité d’action au LLM on voit arriver un grand nombre de nouveaux cas d’usage très intéressants. Dans le cas du test automatisé logiciel notamment on imagine le développement d’agents qui savent rédiger des tests mais aussi et surtout les exécuter en complète autonomie. 

Pour autant, les difficultés sont encore bien présentes et les agents IA souffrent encore de nombreuses imperfections. Un des points durs vient de la capacité d’action qui nécessite de répondre à deux questions : « Quoi Faire ? » et « Comment Faire ?».

Il faut en effet déjà savoir quoi faire, c’est-à-dire avoir une représentation abstraite de l’action à réaliser.

Par exemple, si le but est de réserver un billet de train, il faut commencer par effectuer une recherche d’horaire pour trouver le bon train. Une fois qu’on sait quoi faire (rechercher un train), il faut savoir comment faire, c’est-à-dire comprendre l’application avec laquelle on souhaite interagir et exploiter son interface graphique.

Toujours avec notre exemple, il faut savoir comment interagir avec la barre de recherche et y saisir les informations nécessaires à la recherche de notre train.

Les LLM sont aujourd’hui très forts pour offrir des réponses à la question du « Quoi Faire ?». En effet si vous posez à ChatGPT la question suivante : « Je suis sur le site sncfconnect, que dois-je faire pour réserver un train qui de Bordeaux à Nantes le 15 mars ? », il vous répondra :

agents-IA-défi

 

Pour répondre à la question du « Comment Faire ? » il faut être beaucoup plus précis et expliquer la façon dont on peut interagir automatiquement avec l’application.

Dans le domaine des applications web, les agents agissent concrètement en exploitant des framework techniques tels que Playwright par exemple. Si on pose la question suivante à ChatGPT : « comment faire en Playwright pour effectuer l'étape 2 (rechercher votre trajet) ? », il nous retournera un code Playwright mais les paramètres donnés ne marcheront pas !

En effet, le sélecteur CSS [data-testid="origin-input"] n’existe pas dans l’application web.

 

défi-grounding-IA

 

La difficulté du « Comment Faire ? » commence à être connue sous le nom de grounding. Il s’agit de partir d’une description abstraite, réponse à la question du « Quoi Faire ? », et de fournir les éléments techniques permettant d’interagir concrètement avec l’interface graphique de l’application. La difficulté majeure consiste à identifier les composants à interagir.

Depuis quelques années, plusieurs pistes de solution ont été envisagées dans le domaine des applications web. La première a consisté à fournir le DOM de l’application web avec une description de l’élément à interagir.

Dans notre exemple, on fournit le DOM de la page sncf-connect et on demande au LLM de nous donner le sélecteur CSS de la barre de recherche. Cette approche donne des résultats décevants essentiellement à cause de la complexité du DOM. 

Une deuxième approche a consisté à identifier tous les éléments interagissable de la page, de construire leur sélecteur CSS, et de demander au LLM lequel de ces sélecteurs correspond à l’élément avec lequel on veut interagir. Cette approche n’a pas donné de meilleurs résultats.

Une deuxième famille d’approches est développée depuis peu et exploite les copies d’écran. L’approche SOM (Set Of Mark) consiste à générer une copie d’écran du site web mais en entourant graphiquement tous les éléments interagissables et en leur apposant des labels graphiques numérotés.

Ainsi fait, on peut demander au LLM le numéro du label graphique de la zone qui entoure l’élément avec lequel on veut interagir. Cette approche donne des résultats très intéressants mais certains éléments sont difficilement identifiables (les menus, les petits boutons, etc.).

Enfin, certains LLM sont entraînés pour être capable de retourner les coordonnées X et Y des éléments. On peut alors leur demander de localiser des éléments. Là encore les résultats sont encourageants.

Quoi qu’il en soit, le problème du grounding n’est pas encore résolu et il existe de nombreux travaux qui proposent des solutions innovantes. Dans le domaine du test cela fait écho au problème de la testabilité d’un site. On peut en effet s’attendre à ce que les premiers résultats soient obtenus sur des applications facilement testables.

Si tel est le cas, on pourrait alors voir arriver très prochainement des agents aidant l’exécution des tests, permettant ainsi de mieux tester les applications.

Mr Suricate, leader français des tests automatisés no-code 

La solution SaaS no-code Mr Suricate couvre une large gamme de tests automatisés, vous permettant de maîtriser votre recettage et d’offrir à vos utilisateurs une expérience optimale.

Prenez le contrôle de vos applications et détectez les bugs en temps réel sur vos sites web, applications et API, en reproduisant automatiquement vos parcours utilisateurs à intervalles réguliers.

 

Demander une démo

 

Picture of Mr Suricate

Mr Suricate

Author