Summary
This paper introduces MobileAgentBench, a new benchmark for evaluating Large Language Model (LLM)-based mobile agents on the Android platform. The authors argue that existing benchmarks suffer from limitations in scalability, robustness, flexibility, and realism. MobileAgentBench aims to address these issues by providing 100 built-in tasks across 10 open-source Android apps, facilitating automated evaluation on real devices, and incorporating a flexible task success judgment mechanism based on final UI state and app event signals. The benchmark also allows for easy customization and integration with existing agents, requiring minimal code modifications. The authors evaluate five popular mobile LLM agents (AndroidArena, AutoDroid, AppAgent, CogAgent, and MobileAgent) using their benchmark and provide baseline performance data.
Strengths
The authors convincingly identified important dimensions in current mobile agent benchmarks, particularly regarding scalability, robustness to diverse action sequences, realistic device-based testing, and ease of integration. Here are some strengths.
Automated evaluation: The framework automates the evaluation process, reducing manual effort and increasing reproducibility.
Accessibility and ease of integration: The benchmark is designed to be easily integrated with existing mobile agent frameworks, requiring minimal code changes.
Open-source and reproducible: The authors commit to making the benchmark open-source, promoting transparency and further development by the community.
Baseline data provided: The evaluation of five existing agents offers valuable baseline data for future research.
Weaknesses
I think main motivation for building a new benchmark should ultimately be about "can we evaluate better" or "can we evaluate more complex tasks". While suggested benchmark seem more "user-friendly" than the referenced ones, I'm not quite convinced if MobileAgentBench is moving us forward.
Limited app diversity results limited agent behaviors. The benchmark currently relies on 10 open-source apps from a single developer (SimpleMobileTools). While understandable for initial development, this limits the diversity of UI elements, interaction patterns, and complexities that agents face. The provided tasks, while covering basic functionalities, might not adequately capture the complexity of real-world mobile interactions. I expect a new benchmark that encompasses the referenced ones to involve more intricate, multi-step tasks involving data input, navigation across multiple apps, and handling errors are needed.
Limited metric depth: While the proposed metrics (SR, SE, Latency, Tokens, FFR, OER) are relevant, they could be expanded to capture aspects like agent robustness to unexpected UI changes, error recovery, and efficiency in terms of actions taken.
Limited explanation of the agent event listener app: The functionality and implementation details of the Android Accessibility Service-based event listener app are not thoroughly explained. A more detailed description is crucial for understanding the robustness and reliability of the event capture mechanism.
Questions
How does MobileAgentBench handle tasks that require interactions with system-level UI elements (e.g., notifications, permission requests)?
What is the specific implementation of the "hit test" used by the benchmark to determine successful button clicks?
How does the framework handle cases where the agent crashes or the app under test becomes unresponsive?
How does the choice of UIAutomator as the backend for AndroidViewClient impact performance and reliability? Have other backends been considered?