Command Palette
Search for a command to run...
ActionEngine : des agents GUI réactifs aux agents programmatiques grâce à une mémoire par machine à états
ActionEngine : des agents GUI réactifs aux agents programmatiques grâce à une mémoire par machine à états
Hongbin Zhong Fazle Faisal Luis França Tanakorn Leesatapornwongsa Adriana Szekeres Kexin Rong Suman Nath
Résumé
Les agents existants basés sur une interface graphique (GUI) fonctionnent en effectuant des appels étape par étape à des modèles vision-langage : prise d’un screenshot, raisonnement sur l’action suivante, exécution, puis répétition sur la nouvelle page. Cette approche entraîne des coûts élevés et une latence croissantes avec le nombre d’étapes de raisonnement, tout en souffrant d’une précision limitée en raison de l’absence de mémoire persistante des pages déjà visitées.Nous proposons ActionEngine, un cadre d’entraînement libre qui passe d’une exécution réactive à une planification programmatique grâce à une architecture à deux agents novatrice : un agent de navigation (Crawling Agent), qui construit une mémoire sous forme de machine à états actualisable des GUIs via une exploration hors ligne, et un agent d’exécution (Execution Agent), qui exploite cette mémoire pour synthétiser des programmes Python complets et exécutables destinés à l’exécution en ligne des tâches.Pour garantir une robustesse face aux évolutions des interfaces, les échecs d’exécution déclenchent une procédure de ré-ancrage basée sur la vision, permettant de corriger l’action défaillante et de mettre à jour la mémoire.Ce design améliore considérablement à la fois l’efficacité et la précision : sur les tâches Reddit du benchmark WebArena, notre agent atteint un taux de réussite de 95 %, en nécessitant en moyenne une seule requête au modèle linguistique (LLM), contre 66 % pour la meilleure base vision-only, tout en réduisant les coûts de 11,8 fois et la latence totale de 2 fois.En combinant planification programmatique globale, modèles d’actions validés par exploration, et exécution au niveau des nœuds avec validation et correction localisées, ces composants s’associent pour offrir une interaction GUI évolutive et fiable.