Neues Benchmarking-System für autonome Agenten auf Android
Dieses System bietet eine skalierbare Umgebung, um autonome Agenten in echten Android-Anwendungen zu testen.
― 8 min Lesedauer
Inhaltsverzeichnis
- Einführung in die Benchmarking-Umgebung
- Der Wert autonomer Agenten
- Belohnungssignale: Wie sie funktionieren
- Der Bedarf an einem neuen System
- Testen des neuen Systems
- Wichtige Beiträge
- Verwandte Arbeiten im Bereich
- Der Android-Vorteil
- Beobachtungen und Aktionen in der Umgebung
- Reproduzierbarkeit von Aufgaben und Parametrisierung
- Belohnungssignale aus dem Systemzustand
- Zusammensetzbare Aufgaben im Test
- Integration mit MiniWoB++
- Bewertung von Computersteuerungsagenten
- Experimentelle Ergebnisse und Analyse
- Herausforderungen und Verbesserungsbereiche
- Fazit
- Die Zukunft der Entwicklung autonomer Agenten
- Originalquelle
- Referenz Links
Autonome Agenten sind Computerprogramme, die Aufgaben für Menschen erledigen können. Sie können helfen, die Produktivität zu steigern und Anwendungen einfacher zu nutzen. Um diesen Bereich voranzutreiben, brauchen wir aber effektive Benchmarks, um diese Agenten zu testen. In diesem Artikel stellen wir eine voll funktionsfähige Android-Umgebung vor, die Belohnungssignale für verschiedene Aufgaben bietet, die in echten Android-Apps ausgeführt werden.
Im Gegensatz zu früheren Umgebungen, die nur feste Tests verwendeten, kann dieses neue System Aufgaben auf viele Arten mithilfe natürlicher Sprache erstellen, was eine breitere Palette realistischer Aufgaben ermöglicht. Die Belohnungen für diese Aufgaben basieren auf dem Systemzustand des Computers, was bedeutet, dass sie auf verschiedene Aufgaben und Apps anwendbar sind.
Einführung in die Benchmarking-Umgebung
Um zu zeigen, wie dieses neue System funktioniert, stellen wir einen neuen Agenten vor, der Computer steuern kann. Dieser Agent kann eine grosse Anzahl von Aufgaben erledigen, aber es gibt noch Spielraum für Verbesserungen. Wir haben auch einen bekannten Desktop-Agenten angepasst, um auf Android zu funktionieren, aber festgestellt, dass er auf mobilen Geräten weniger effektiv ist. Das deutet darauf hin, dass mehr Forschung nötig ist, um Agenten zu entwickeln, die plattformübergreifend funktionieren.
Wir haben Tests zu verschiedenen Aufgabentypen durchgeführt und festgestellt, dass die Änderung der Aufgabenparameter die Leistung eines Agenten erheblich beeinflussen kann. Das zeigt, wie wichtig es ist, Agenten unter verschiedenen Bedingungen zu bewerten.
Der Wert autonomer Agenten
Autonome Agenten können menschliche Befehle interpretieren und Geräte steuern, was Zeit sparen und komplexe Aufgaben erleichtern kann. Das Interesse an der Entwicklung dieser Agenten ist gross, wie die wachsende Anzahl an Systemen und verfügbaren Codes zeigt. Die meisten bestehenden Methoden messen die Leistung von Agenten anhand indirekter Metriken, die die reale Nutzung nicht genau widerspiegeln. Sie vergleichen normalerweise die Aktionen eines Agenten mit früheren menschlichen Leistungen, ohne zu berücksichtigen, dass es oft mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen.
Um diesen Bewertungsansatz zu verbessern, werden neue Testumgebungen entwickelt, die Agenten in realistischen Einstellungen platzieren und messen, wie oft sie Aufgaben erledigen.
Belohnungssignale: Wie sie funktionieren
Belohnungssignale sind Masse, die anzeigen, ob eine Aufgabe erfolgreich abgeschlossen wurde. Zum Beispiel, wenn die Aufgabe darin besteht, eine Nachricht an eine Person zu senden, zeigt eine positive Belohnung an, dass die Nachricht gesendet wurde. In realen Umgebungen, wie Apps, sind diese Belohnungen jedoch oft nicht leicht erhältlich, was das Programmieren herausfordernd macht.
Eine Möglichkeit, zuverlässige Belohnungssignale zu erhalten, ist die Nutzung menschlichen Urteils. Obwohl diese Methode für verschiedene Aufgaben nützlich sein kann, kann jede Bewertung zeitaufwendig und kostspielig sein. Kürzlich haben Modelle, die Feedback aus natürlichen Sprachaufgaben verwenden, vielversprechende Ergebnisse gezeigt, sind aber noch nicht perfekt.
Der Bedarf an einem neuen System
Bestehende Testumgebungen für autonome Agenten mangeln oft an Vielfalt und Skalierbarkeit. Sie verwenden typischerweise eine begrenzte Anzahl von Aufgaben in einem kleinen Bereich von Anwendungen. Unser neues System ist darauf ausgelegt, eine skalierbare Umgebung für die Entwicklung und das Testen dieser Agenten auf Android bereitzustellen.
Diese neue Umgebung besteht aus einem funktionierenden Android-Betriebssystem, das den Zugriff auf unzählige Android-Apps und das Web ermöglicht. Sie bietet eine breite Palette reproduzierbarer Aufgaben, um Agenten zu testen, ähnlich wie der MiniWoB++-Benchmark, konzentriert sich jedoch auf reale Anwendungen. Die Aufgaben werden mit zufälligen Parametern generiert, was viele einzigartige Ziele und Bedingungen schafft.
Um genaue Belohnungssignale zu gewährleisten, nutzen wir die Zustandsverwaltungskapazitäten des Android-Betriebssystems. Dies ermöglicht dauerhafte Belohnungen, die sich an verschiedene Aufgaben anpassen können, was die Bewertung von Computersteuerungsagenten erleichtert.
Testen des neuen Systems
Das neue System benötigt nur eine kleine Menge Speicher und Speicherplatz und verbindet Agenten über eine einfache Bibliothek mit dem Android-Betriebssystem. Es ist auch erweiterbar, was bedeutet, dass neue Aufgaben und Benchmarks leicht hinzugefügt werden können.
Um die Nützlichkeit unserer Umgebung zu demonstrieren, haben wir einen neuen multimodalen Agenten entwickelt und ihn in verschiedenen Aufgaben getestet. Der Agent zeigte signifikante Verbesserungen und erreichte eine höhere Erfolgsquote als zuvor angepasste Web-Agenten. Die Leistung ist jedoch immer noch niedriger als das menschliche Niveau, was auf den Bedarf an weiterer Entwicklung hinweist.
Wichtige Beiträge
Die hauptsächlichen Beiträge dieser Arbeit umfassen die Schaffung einer vielfältigen und realistischen Umgebung für das Testen autonomer Agenten, die Etablierung von Benchmark-Ergebnissen mithilfe eines hochmodernen Agenten und eine sorgfältige Analyse der Bedeutung der Bewertung von Agenten unter verschiedenen Bedingungen.
Verwandte Arbeiten im Bereich
Eine effektive Bewertung autonomer Agenten basiert auf Umgebungen, die reale Situationen nachbilden und sofortige Belohnungen beim Abschluss von Aufgaben bieten. Verschiedene bestehende Systeme bieten unterschiedliche Arten von simulierten Umgebungen. Viele davon haben jedoch Einschränkungen, wie die Verwendung fester Aufgabensets, die die Anpassungsfähigkeit einschränken.
MiniWoB++ ist beispielsweise ein Framework, das einfache, synthetische Webseiten verwendet, um Agenten zu testen, während andere sich auf bestimmte Anwendungstypen konzentrieren. Unser neues System zielt darauf ab, die Vorteile dieser Ansätze zu kombinieren und gleichzeitig ihre Einschränkungen zu überwinden.
Der Android-Vorteil
Android ist eine geeignete Plattform für die Entwicklung autonomer Agenten, da es weit verbreitet ist und eine flexible Umgebung bietet. Das Android-System lässt sich leicht emulieren, was es möglich macht, Forschung ohne spezielle Hardware durchzuführen. Diese Zugänglichkeit ermöglicht eine breitere Palette von Anwendungen und Interaktionen für das Testen von Agenten.
Beobachtungen und Aktionen in der Umgebung
In unserem System erhalten Agenten Beobachtungen und führen Aktionen auf Android über eine strukturierte Schnittstelle aus. Der Beobachtungsbereich umfasst Screenshots in voller Auflösung und eine detaillierte Darstellung der UI-Elemente, während der Aktionsbereich verschiedene Aktionen wie Klicks, Texteingaben, Scrollen und das Starten von Anwendungen ermöglicht.
Dieses Setup ist darauf ausgelegt, zu simulieren, wie Menschen mit mobilen Geräten interagieren, wodurch sichergestellt wird, dass Agenten lernen können, die Umgebung effektiv zu navigieren und zu steuern.
Parametrisierung
Reproduzierbarkeit von Aufgaben undDie Umgebung bietet eine Suite von Aufgaben über verschiedene Anwendungen, die alltägliche Aktivitäten nachahmen. Jede Aufgabe wird kontrolliert, um sicherzustellen, dass sie in Bezug auf App-Zustände und Parameter reproduzierbar ist. Dieses sorgfältige Management ermöglicht zufällige Initialisierungen für Aufgabenparameter und bietet einen realistischeren Testbereich für die Anpassungsfähigkeit von Agenten.
Belohnungssignale aus dem Systemzustand
Belohnungssignale werden durch sorgfältiges Management der App-Zustände mithilfe der Android Debug Bridge generiert. Diese Methode sorgt für genaue und konsistente Bewertungen über verschiedene Apps und Aufgaben hinweg. Die Verwendung des Systemzustands anstelle oberflächlicher UI-Elemente führt zu zuverlässigeren Ergebnissen.
Zusammensetzbare Aufgaben im Test
Unsere Umgebung ermöglicht die Erstellung von zusammengesetzten Aufgaben, indem bestehende Aufgaben kombiniert werden, was die Komplexität und Herausforderung für die Agenten erhöht. Diese Flexibilität ermöglicht es Agenten, komplexere Arbeitsabläufe zu bewältigen und ihre Fähigkeiten weiter zu testen.
Integration mit MiniWoB++
Um die Erweiterbarkeit unserer Umgebung zu demonstrieren, haben wir den MiniWoB++-Benchmark in unser System integriert. Anpassungen wurden vorgenommen, um die Kompatibilität zu gewährleisten und die Realitätsnähe der Aufgaben zu erhöhen, indem native Android UI-Elemente anstelle synthetischer HTML-Schnittstellen verwendet wurden.
Bewertung von Computersteuerungsagenten
Um die Effektivität unserer Umgebung zu testen, haben wir einen multimodalen autonomen Agenten entwickelt. Dieser Agent führt Aufgaben mit sowohl Text- als auch visuellen Eingaben aus und zeigt eine verbesserte Leistung im Vergleich zu früheren Modellen. Es gibt jedoch immer noch Herausforderungen zu bewältigen, wie die Probleme der Agenten mit bestimmten UI-Elementen und Aufgabenkomplexitäten.
Experimentelle Ergebnisse und Analyse
Wir haben umfassende Bewertungen der Leistung des Agenten über verschiedene Aufgaben hinweg durchgeführt. Die Ergebnisse zeigten, dass Agenten zwar recht gut abschneiden, aber in vielen Bereichen immer noch hinter der menschlichen Leistung zurückbleiben. Es wurden erhebliche Variationen in der Leistung der Agenten basierend auf den Aufgabenparametern festgestellt, was die Notwendigkeit fortlaufender Forschung zur Verbesserung ihrer Fähigkeiten unterstreicht.
Herausforderungen und Verbesserungsbereiche
Während der Tests standen die Agenten vor Herausforderungen im Zusammenhang mit Grundfehlern, Wahrnehmungsfehlern, Denkfehlern und fehlendem Wissen. Diese Probleme verdeutlichen die Komplexität mobiler Umgebungen und den Bedarf, dass Agenten sich besser an verschiedene UI- und Interaktionsmuster anpassen müssen.
Fazit
Dieser Artikel präsentiert eine robuste Umgebung für das Testen autonomer Agenten auf Android und erweitert die Grenzen dessen, was in der Computersteuerung möglich ist. Die Einführung dynamischer Aufgaben und genauer Belohnungssysteme soll die Forschung vorantreiben und letztendlich zu zuverlässigeren und effektiveren Agenten führen. Die fortlaufende Entwicklung und das Testen sind entscheidend, um diese Systeme zu verfeinern und sicherzustellen, dass sie in realen Situationen effektiv arbeiten können.
Die Zukunft der Entwicklung autonomer Agenten
Mit dem Fortschritt der Technologie werden sich auch die Ansätze zur Entwicklung und Bewertung autonomer Agenten weiterentwickeln. Die hier skizzierten Systeme und Rahmenbedingungen stellen einen Schritt in Richtung der Schaffung anpassungsfähigerer und fähigerer Agenten dar, die Menschen bei einer Vielzahl von Aufgaben unterstützen können. Indem wir uns auf reale Anwendungen und kontinuierliche Verbesserung konzentrieren, können wir den Weg für die nächste Generation autonomer Agenten ebnen, die wirklich in unser tägliches Leben integriert sind.
Titel: AndroidWorld: A Dynamic Benchmarking Environment for Autonomous Agents
Zusammenfassung: Autonomous agents that execute human tasks by controlling computers can enhance human productivity and application accessibility. However, progress in this field will be driven by realistic and reproducible benchmarks. We present AndroidWorld, a fully functional Android environment that provides reward signals for 116 programmatic tasks across 20 real-world Android apps. Unlike existing interactive environments, which provide a static test set, AndroidWorld dynamically constructs tasks that are parameterized and expressed in natural language in unlimited ways, thus enabling testing on a much larger and more realistic suite of tasks. To ensure reproducibility, each task includes dedicated initialization, success-checking, and tear-down logic, which modifies and inspects the device's system state. We experiment with baseline agents to test AndroidWorld and provide initial results on the benchmark. Our best agent can complete 30.6% of AndroidWorld's tasks, leaving ample room for future work. Furthermore, we adapt a popular desktop web agent to work on Android, which we find to be less effective on mobile, suggesting future research is needed to achieve universal, cross-platform agents. Finally, we also conduct a robustness analysis, showing that task variations can significantly affect agent performance, demonstrating that without such testing, agent performance metrics may not fully reflect practical challenges. AndroidWorld and the experiments in this paper are available at github.com/google-research/android_world.
Autoren: Christopher Rawles, Sarah Clinckemaillie, Yifan Chang, Jonathan Waltz, Gabrielle Lau, Marybeth Fair, Alice Li, William Bishop, Wei Li, Folawiyo Campbell-Ajala, Daniel Toyama, Robert Berry, Divya Tyamagundlu, Timothy Lillicrap, Oriana Riva
Letzte Aktualisierung: 2024-12-19 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2405.14573
Quell-PDF: https://arxiv.org/pdf/2405.14573
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.
Referenz Links
- https://github.com/google-research/android_world
- https://developer.android.com/studio
- https://gs.statcounter.com/os-market-share
- https://gs.statcounter.com/platform-market-share/desktop-mobile/worldwide/
- https://f-droid.org/
- https://developer.android.com/reference/android/view/accessibility/AccessibilityWindowInfo