Présentation d'Ap pWorld : Une nouvelle plateforme de test pour les agents IA
Ap pWorld simule des tâches réelles pour les agents IA dans un environnement contrôlé.
― 9 min lire
Table des matières
- C'est quoi Ap pWorld ?
- Caractéristiques d'Ap pWorld
- Applications d'Ap pWorld
- Exemple de Tâche
- Construction d'Ap pWorld
- Création de Données Réalistes
- Conception des Tâches
- Évaluation des Performances
- Évaluation des Agents
- Métriques de Performance
- Défis Communs Rencontrés par les Modèles
- Directions Futures
- Expansion de l’Environnement
- Scénarios Multi-Agents
- Assurer la Qualité et la Sécurité
- Conclusion
- Source originale
- Liens de référence
Dans notre quotidien, on utilise souvent diverses applis pour gérer des tâches comme commander des courses, envoyer des messages, et gérer des fichiers. Pour que les machines et les programmes informatiques, ou agents autonomes, puissent vraiment nous aider avec ces tâches, ils doivent faire plus que juste exécuter des commandes simples. Ils doivent être capables d’interagir avec différentes applis et comprendre du code complexe selon ce qui les entoure. Ça inclut gérer plusieurs actions et faire des choix selon différentes situations.
Cependant, beaucoup de tests existants pour ces programmes se concentrent seulement sur des tâches simples. Ils ne poussent pas les agents à réfléchir plus en profondeur ou à gérer des étapes compliquées. Pour y remédier, on a créé une nouvelle plateforme appelée Ap pWorld.
C'est quoi Ap pWorld ?
Ap pWorld est un environnement contrôlé où les programmes peuvent réaliser des tâches réalistes en utilisant différentes applis. Cet environnement comprend de nombreuses applis du quotidien, une variété d’outils, et des données réalistes impliquant des utilisateurs fictifs. En concevant un terrain de test difficile, on offre une meilleure compréhension de la façon dont les agents autonomes peuvent gérer des tâches du monde réel qui nécessitent un codage avancé et une pensée critique.
Caractéristiques d'Ap pWorld
Environnement d'Exécution Contrôlé :
Ap pWorld sert d’espace sûr pour que les agents opèrent. Ils peuvent interagir avec des applis sans faire face à des risques réels, comme envoyer des emails non sollicités ou dépenser de l'argent. Notre plateforme imite des fonctionnalités d'applis populaires, permettant aux agents d'y accéder et de les utiliser via des interfaces de programmation contrôlées.Tâches Défiantes :
On a créé une série de tâches que les agents doivent résoudre. Ces tâches sont conçues pour être complexes, nécessitant un mélange de compétences comme le raisonnement, la planification et le codage. Les agents devront combiner des actions de plusieurs applis et gérer les distractions qui pourraient les tromper.Évaluation robuste :
Au lieu de simplement comparer les agents à une solution parfaite, Ap pWorld a une méthode d'évaluation sophistiquée. Elle suit l’état des données avant et après une tâche pour déterminer si l’agent l’a complétée avec succès sans causer d'erreurs.
Applications d'Ap pWorld
Les capacités croissantes de l'IA montrent un potentiel pour automatiser de nombreuses tâches dans nos vies numériques. Par exemple, quelque chose d’aussi basique que commander des courses implique plusieurs étapes : vérifier une liste, communiquer avec d'autres sur leurs besoins, et sélectionner les bons articles via une appli. Automatiser de telles tâches signifie que l'agent doit gérer plusieurs applis et prendre des décisions basées sur des situations changeantes.
Exemple de Tâche
Prenons un exemple où un agent doit jouer de la musique pendant une séance d'entraînement. D'abord, il doit vérifier une note qui liste le plan d'entraînement. L'agent doit écrire un petit code pour lire cette note, ensuite vérifier quel jour on est et enfin déterminer combien de temps la séance d'entraînement est censée durer. Ça implique de lire des détails d'une note, de comprendre la durée des chansons dans les playlists, et de maintenir le flux de contrôle pour choisir la bonne playlist.
Construction d'Ap pWorld
Pour construire Ap pWorld, on a commencé par développer un cadre d'exécution de haute qualité qui comprend neuf applis du quotidien. Ces applis sont conçues pour représenter de vrais outils que la plupart des gens utilisent, comme des sites de shopping, des services d'email, et des systèmes de transfert d'argent.
Dans Ap pWorld, les agents interagissent avec ces applis via un ensemble de 457 interfaces de programmation d'applications (APIs). L'environnement est rempli de données réalistes basées sur les actions de 100 utilisateurs fictifs qui imitent des interactions de la vie réelle. En plus, on a conçu un benchmark qui présente 750 tâches uniques. Ces défis nécessitent que les agents génèrent du code pour répondre à différents prompts et situations inattendues.
Création de Données Réalistes
Pour simuler l'activité réelle des utilisateurs, on a créé une base de données qui reflète comment les gens utilisent les applis dans leur routine quotidienne. Cela impliquait de programmer des scénarios courants, comme partager des factures entre amis ou planifier des activités en groupe. Les données sont structurées pour refléter des relations diverses, comme des colocataires ou des collègues, ce qui ajoute une complexité supplémentaire aux tâches.
Conception des Tâches
Chaque tâche dans Ap pWorld est construite autour de scénarios courants. Par exemple, une tâche peut impliquer de commander un achat récent tout en tenant compte des préférences de couleur. Chacune de ces tâches est conçue pour inclure des éléments qui forcent l'agent à réfléchir à différents chemins ou résultats, leur demandant de s’adapter en fonction de nouvelles informations.
Évaluation des Performances
Pour évaluer la performance des agents sur ces tâches, on a développé un système d'évaluation programmatique. Au lieu de simplement comparer ce que l’agent a fait avec une solution correcte, on regarde l'état final de la base de données après que la tâche a été tentée. On vérifie les changements attendus, ainsi que les conséquences non intentionnelles qui peuvent survenir durant l'exécution de la tâche. Cela aide à garantir que les modèles peuvent compléter les tâches de diverses manières valides tout en atteignant le résultat souhaité.
Évaluation des Agents
Après avoir construit Ap pWorld, on a testé plusieurs modèles d'intelligence artificielle pour évaluer leurs performances. Ces modèles ont été évalués en utilisant les défis conçus pour Ap pWorld, en se concentrant sur leur capacité à naviguer efficacement dans des tâches nécessitant du codage interactif et l'utilisation d'APIs.
Métriques de Performance
Les modèles ont été évalués sur deux principales métriques :
- Achèvement de l'Objectif de Tâche (TGC) : Cela nous indique le pourcentage de tâches individuelles que l’agent a pu compléter avec succès.
- Achèvement de l'Objectif de Scénario (SGC) : Cela mesure le pourcentage de scénarios de tâches complètes qui ont été résolus avec succès dans l'ensemble.
Les résultats ont montré que même les meilleurs modèles d'IA avaient du mal avec les tâches qu'on a créées, réussissant à peine à compléter la moitié des tâches les plus simples et encore moins des défis plus complexes. Cela indique que les tâches dans Ap pWorld sont effectivement difficiles et demandent des niveaux plus élevés de raisonnement et d'interaction.
Défis Communs Rencontrés par les Modèles
Lors de l'évaluation, on a observé des erreurs typiques faites par les modèles :
- Échec d'Interaction : Parfois, les agents devinaient des réponses sans réellement vérifier l'environnement ou les données, ce qui menait à des résultats incorrects.
- Mauvaise Compréhension de l'Utilisation des APIs : Les agents utilisaient des APIs correctes mais avec de mauvais paramètres ou de fausses hypothèses sur ce qui était disponible.
- Non-respect Complet des Instructions : Dans certains cas, les agents suivaient les directives mais oubliaient des détails clés, entraînant des tâches incomplètes ou des erreurs.
Directions Futures
Pour l’avenir, Ap pWorld ouvre de nombreuses voies pour la recherche supplémentaire dans l'IA et la conception d'agents autonomes. La plateforme peut être modifiée pour inclure des tâches plus complexes, interfacer avec d'autres types d'applications, ou même permettre la coordination entre plusieurs agents pour des tâches collaboratives.
Expansion de l’Environnement
Une approche consiste à améliorer Ap pWorld en ajoutant des capacités d'interface utilisateur (UI), où les agents peuvent interagir directement avec les applis au lieu de se fier uniquement aux APIs. Cela peut refléter comment les humains s'engagent avec la technologie dans des situations réelles.
Scénarios Multi-Agents
De plus, explorer des scénarios impliquant plus d'un agent peut mener à des expériences intéressantes. Par exemple, différents agents pourraient collaborer pour planifier une réunion, gérer des ressources partagées, ou résoudre des problèmes nécessitant du travail d'équipe.
Assurer la Qualité et la Sécurité
À mesure que la technologie de l'IA évolue, il est crucial de veiller à ce que ces agents agissent de manière responsable. Ap pWorld offre un environnement sûr pour tester et évaluer comment les agents se comportent avant de les déployer dans des situations réelles.
Conclusion
Ap pWorld représente un pas en avant significatif dans le test et l'évaluation des agents d'IA pour les tâches quotidiennes. En créant un environnement réaliste rempli de défis engageants, on peut mieux comprendre les capacités et les limites des agents autonomes. Cela peut nous aider à améliorer leur conception et leur fonctionnalité, nous rapprochant d'un avenir où l'IA peut aider sans effort dans nos vies numériques.
Titre: AppWorld: A Controllable World of Apps and People for Benchmarking Interactive Coding Agents
Résumé: Autonomous agents that address day-to-day digital tasks (e.g., ordering groceries for a household), must not only operate multiple apps (e.g., notes, messaging, shopping app) via APIs, but also generate rich code with complex control flow in an iterative manner based on their interaction with the environment. However, existing benchmarks for tool use are inadequate, as they only cover tasks that require a simple sequence of API calls. To remedy this gap, we built $\textbf{AppWorld Engine}$, a high-quality execution environment (60K lines of code) of 9 day-to-day apps operable via 457 APIs and populated with realistic digital activities simulating the lives of ~100 fictitious users. We then created $\textbf{AppWorld Benchmark}$ (40K lines of code), a suite of 750 natural, diverse, and challenging autonomous agent tasks requiring rich and interactive code generation. It supports robust programmatic evaluation with state-based unit tests, allowing for different ways of completing a task while also checking for unexpected changes, i.e., collateral damage. The state-of-the-art LLM, GPT-4o, solves only ~49% of our 'normal' tasks and ~30% of 'challenge' tasks, while other models solve at least 16% fewer. This highlights the benchmark's difficulty and AppWorld's potential to push the frontiers of interactive coding agents. The project website is available at https://appworld.dev/.
Auteurs: Harsh Trivedi, Tushar Khot, Mareike Hartmann, Ruskin Manku, Vinty Dong, Edward Li, Shashank Gupta, Ashish Sabharwal, Niranjan Balasubramanian
Dernière mise à jour: 2024-07-26 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2407.18901
Source PDF: https://arxiv.org/pdf/2407.18901
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://www.latex-project.org/help/documentation/encguide.pdf
- https://github.com/stonybrooknlp/appworld
- https://www.openapis.org/
- https://jupyter.org
- https://fastapi.tiangolo.com/
- https://platform.openai.com/docs/guides/function-calling
- https://gvisor.dev/
- https://fastapi.tiangolo.com/reference/testclient/
- https://coverage.readthedocs.io/