Graphical User Interface (GUI) Agents, benefiting from recent advances in multimodal large language models (MLLM), have achieved significant development. However, due to the frequent updates of GUI applications, adapting to new tasks without forgetting old tasks in GUI continual learning remains an open problem. In this work, we reveal that while Supervised Fine-Tuning (SFT) facilitates fast adaptation, it often triggers knowledge overwriting, whereas Reinforcement Learning (RL) demonstrates an inherent resilience that shields prior interaction logic from erasure. Based on this insight, we propose a Continual GUI Learning (CGL) framework that dynamically balances adaptation efficiency and skill retention by enhancing the synergy between SFT and RL. Specifically, we introduce an SFT proportion adjustment mechanism guided by policy entropy to dynamically control the weight allocation between the SFT and RL training phases. To resolve explicit gradient interference, we further develop a specialized gradient surgery strategy. By projecting exploratory SFT gradients onto GRPO-based anchor gradients, our method explicitly clips the components of SFT gradients that conflict with GRPO. On top of that, we establish an AndroidControl-CL benchmark, which divides GUI applications into distinct task groups to effectively simulate and evaluate the performance of continual GUI learning. Experimental results demonstrate the effectiveness of our proposed CGL framework across continual learning scenarios. The benchmark, code, and model will be made publicly available.
Figures & tables
Figure 1: Overview of Continual GUI Learning (CGL). (a) GUI environments evolve as new app categories emerge, causing static GUI agents to misalign with the real world. (b) Existing paradigms struggle to balance stability in legacy tasks and plasticity in novel task accuracy. (c) Our CGL framework achieves balanced adaptation and retention.
Figure 2: Preliminary comparison of SFT and GRPO on the LLaVA-OneVision-0.5B model. (a) Adaptation performance on a newly introduced task: SFT demonstrates fast plasticity, whereas GRPO exhibits slower adaptation. (b) Forgetting of the initial task after sequential training: SFT undergoes substantial degradation, while GRPO maintains higher retention.
Figure 3: Overview of the proposed CGL framework. (Left) Error-Aware Routing pipeline: It dynamically routes data based on prediction feedback, where erroneous actions trigger SFT knowledge injection to facilitate correction. (Top Right) Gradient Surgery: Resolves directional conflicts between GRPO and SFT gradients through projection to maintain optimization stability. (Bottom Right) Entropy-Regulated Tuning: A dynamic strategy that manages the exploration-exploitation trade-off by adjusting the SFT weight λ . The bottom bar charts illustrate the model’s action probability distribution p , where the yellow shaded area denotes the ground truth ( gt ) action range.
Categories
SP
PO
CO
TT
ST
ES
LE
Apps
15
15
8
10
13
11
17
Trajectories
1140
1240
617
686
771
559
1030
Table 1: Distribution of AndroidControl-CL. Abbreviations: SP (Shopping), PO (Productivity and Office), CO (Communication), TT (Travel and Transportation), ST (System Tools), ES (Education and Science), LE (Life and Entertainment).
Method
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Avg. Step-Acc.
Avg. Trajectory Acc.
Avg. FM
SFT
65.64
74.73
74.66
72.00
77.39
64.12
80.08
72.66
14.61
-6.81
SFT+KL
74.16
75.23
76.89
75.49
82.06
66.01
79.29
75.59
22.39
-1.78
SFT+Replay
70.88
76.43
77.23
74.19
78.21
64.37
80.63
74.56
20.07
-4.69
GRPO [ 8 ]
75.44
78.86
78.01
76.41
81.57
67.93
77.80
76.57
23.85
-0.93
RIF-RFT [ 16 ]
76.53
74.19
75.99
73.55
81.40
65.91
75.34
74.40
22.17
-0.88
Ours
75.55
81.32
80.73
76.88
83.41
68.90
78.13
77.84
24.77
-0.52
Table 2: Performance comparison of LLava-onsevision-0.5b under Task Order 1. All accuracy values are reported as percentages (%).
Method
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Avg. Step Acc.
Avg. Trajectory Acc.
Avg.FM
SFT
70.54
79.52
78.90
76.41
83.24
69.24
80.42
76.90
23.53
-5.73
SFT+KL
79.30
83.85
82.32
79.84
85.83
74.08
80.71
80.84
34.69
-1.01
SFT+Replay
74.61
83.35
81.66
79.02
85.61
72.26
82.08
79.80
30.19
-3.11
GRPO [ 8 ]
79.63
84.74
83.43
81.34
85.74
74.08
81.73
81.53
36.78
-0.62
RIF-RFT [ 16 ]
79.53
83.35
80.77
80.25
85.94
73.00
80.25
80.44
32.91
-0.58
Ours
80.32
85.46
81.99
82.03
88.17
75.81
82.53
82.33
38.03
-0.02
Table 3: Performance comparison of QwenVL2.5-3b under Task Order 1. All accuracy values are reported as percentages (%).
Model
Task Order 1
Task Order 2
Task Order 3
Step Acc. (%)
Trajectory Acc. (%)
FM
Step Acc. (%)
Trajectory Acc. (%)
FM
Step Acc. (%)
Trajectory Acc. (%)
FM
SFT
76.90
23.53
-5.73
77.21
23.46
-5.33
76.87
23.69
-6.03
SFT+KL
80.84
34.69
-1.01
80.77
34.33
-0.96
80.69
34.13
-1.13
SFT+Replay
79.80
27.19
-3.11
80.53
28.06
-2.70
80.39
27.34
-3.29
GRPO [ 8 ]
81.53
36.78
-0.62
81.75
36.60
-0.33
81.44
36.72
-0.52
RIF-RFT [ 16 ]
80.44
32.91
-0.58
80.50
33.02
-0.46
80.35
31.88
-0.55
Table 4: Model performance comparison across different task orders.
Modules
Metrics
SFT
GRPO
KL
D-SFT
D- λ
G-Surg
Step-Acc
Traj-Acc
FM
√
76.90
23.53
-5.73
√
√
80.84
34.69
-1.01
√
√
81.53
36.78
-0.62
√
–
–
–
√
√
√
81.68
36.79
-0.57
Table 5: Ablation study of modules.
Figure 4: Trends of policy entropy (top) and SFT loss weight λ (bottom) across training steps for Entropy-Regulated Tuning.
Figure 5: High-accuracy region comparison of GRPO and our CGL in continual GUI learning.
Figure 6: Entropy trends with different hyperparameters
QwenVL2.5
Avg.Step-Acc.
λ=1
81.62
λ=0.2
81.58
λ=0.01
81.90
ours
82.33
Table 6: Performance comparison under different λ settings for QwenVL2.5.
Category
Number of Apps
Number of Episodes
App Examples
Shopping
15
1140
amazon, ebay, alibaba.com
Productivity
15
1240
Drive, WPS Office, Word
Communication
8
617
Gmail, Outlook, Skype
Travel
10
686
Maps, booking.com, Expedia
Tools
13
771
Clock, Recorder, Settings
Education
11
559
Leafsnap, Arts & Culture, Duolingo
Table 7: App Category Statistics for Training Dataset
Training Stage →
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Test on:
Shopping
77.63
75.63
75.58
76.58
76.12
76.49
75.55
Productivity
-
80.80
80.80
78.39
80.97
81.30
81.32
Communication
-
-
80.88
77.90
80.77
80.33
80.73
Travel
-
-
-
77.78
77.09
76.27
76.88
Tools
-
-
-
-
84.14
84.09
83.41
Table 8: Evolution of Task-Specific Performance (LLaVA-OneVision-0.5b, Task Order 1). Columns represent the sequence of training tasks (left to right); rows represent the evaluation performance on specific test sets after each training stage.
Training Stage →
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Test on:
Shopping
79.77
80.67
81.33
81.77
80.53
81.72
80.32
Productivity
-
85.41
85.18
84.13
85.46
85.29
85.46
Communication
-
-
84.23
83.98
82.98
83.20
81.99
Travel
-
-
-
83.06
83.13
82.51
82.03
Tools
-
-
-
-
86.42
87.88
88.17
Table 9: Evolution of Task-Specific Performance (CGL on Qwen2.5-VL-3b, Task Order 1). CGL demonstrates stability and positive transfer (e.g., Tools accuracy improves over time).
Training Stage →
Shopping
Entertainment
Education
Tools
Travel
Communication
Productivity
Test on:
Shopping
79.77
79.96
80.53
80.72
80.58
80.25
79.63
Entertainment
-
81.55
81.45
81.05
80.71
81.45
82.08
Education
-
-
76.67
75.81
76.03
75.27
75.81
Tools
-
-
-
86.52
86.23
86.61
87.29
Travel
-
-
-
-
81.96
82.10
82.85
Table 10: Evolution of Task-Specific Performance (CGL on Qwen2.5-VL-3b, Task Order 2). The distinct task order further validates the robustness of CGL.
Training Stage →
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Test on:
Shopping
79.77
81.39
80.30
80.34
79.72
80.34
79.63
Productivity
-
85.22
84.18
83.63
84.13
84.46
84.74
Communication
-
-
84.20
82.65
83.20
82.87
83.43
Travel
-
-
-
81.98
80.59
80.79
81.34
Tools
-
-
-
-
86.71
85.35
85.74
Table 11: Baseline Performance: GRPO (Qwen2.5-VL-3b, Task Order 1). GRPO shows high stability but lower plasticity compared to CGL.
Training Stage →
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Test on:
Shopping
79.77
75.62
73.59
73.34
71.57
70.89
70.54
Productivity
-
86.49
82.97
81.92
80.89
80.12
79.52
Communication
-
-
85.30
81.80
80.23
79.67
78.90
Travel
-
-
-
82.06
79.78
78.45
76.41
Tools
-
-
-
-
87.81
85.01
83.24
Table 12: Baseline Performance: SFT (Qwen2.5-VL-3b, Task Order 1). SFT suffers from significant forgetting (e.g., Shopping drops from 79.77% to 70.54%).
Training Method
Shopping
Productivity
Communication
Travel
Tools
Education
Entertainment
Avg. Trajectory Acc.
Ours-Order1
80.32
85.46
81.99
82.03
88.17
75.81
82.53
82.33
Ours-Order2
79.63
86.18
84.42
82.85
87.29
75.81
82.08
82.61
Ours-Order3
80.39
86.17
84.91
81.81
87.87
74.16
81.50
82.40
SFT-Joint-Training
81.73
86.74
85.75
82.24
88.17
77.00
82.76
83.48
GRPO-Joint-Training
80.58
85.97
84.53
82.65
87.49
74.73
80.94
82.41
Table 13: Comparison with Multi-Task Joint Training (Qwen2.5-VL-3b). Joint training represents the theoretical upper bound where all data is available simultaneously. CGL (Ours) achieves performance comparable to GRPO-Joint-Training across all task orders.
Figure 7: Trajectory Visualization: Search for New Nike Shoes on Amazon. The agent executes the task through the following action sequence: (1) Launch the application via Open(Amazon) ; (2) Focus on the search field via Click(0.507, 0.089) ; (3) Input the product query via Input_text(‘‘Nike shoes’’) ; (4) Select the target suggestion via Click(0.444, 0.210) ; (5) Browse the product list via Scroll(down) ; (6) Terminate the episode via Finish() . Coordinates indicate the relative (x,y) position on the screen interface.
Figure 8: Trajectory Visualization: Product Search on eBay. The agent locates specific sporting goods via the following sequence: (1) Launch the application via Open(eBay) ; (2) Activate the search interface via Click(0.382, 0.162) ; (3) Input the product category via Input_text(‘‘football gloves’’) ; (4) Select the top suggestion via Click(0.490, 0.152) ; (5) Terminate the task via Finish() .
Figure 9: Trajectory Visualization: Search for Mens Running Shoes on Flipkart. The agent successfully navigates the interface through the following action sequence: (1) Launch the application via Open(Flipkart) ; (2) Activate the search field via Click(0.562, 0.139) ; (3) Enter the search query via Input_text(‘‘Mens Running Shoes’’) ; (4) Select the target product from the results via Click(0.318, 0.154) ; (5) Complete the task via Finish() . Coordinates (x,y) represent the normalized relative position on the screen.
Figure 10: Trajectory Visualization: File Retrieval on Google Drive. The agent retrieves a specific historical document: (1) Launch the application via Open(Drive) ; (2) Focus on the search bar via Click(0.500, 0.091) ; (3) Enter the file query via Input_text(‘‘Year 1964 finance’’) ; (4) Access the target file from results via Click(0.495, 0.159) ; (5) Terminate the task via Finish() .
Figure 11: Trajectory Visualization: Currency Exchange Tracking on Xe. The agent navigates to the financial charting interface: (1) Launch the application via Open(Xe) ; (2) Synchronize with the interface via Wait() ; (3) Execute a secondary Wait() for data loading; (4) Navigate to the charts section via Click(0.300, 0.937) ; (5) Terminate the task via Finish() .
Figure 12: Trajectory Visualization: Document Creation on WPS Office. The agent initializes a new document: (1) Launch the application via Open(WPS Office) ; (2) Wait() for initialization; (3) Input the document title via Input_text(‘‘New car’’) ; (4) Wait() for processing; (5) Confirm the creation via Click(0.079, 0.080) ; (6) Terminate the task via Finish() .
Figure 13: Trajectory Visualization: Email Search on Gmail. The agent filters inbox contents for specific events: (1) Launch the application via Open(Gmail) ; (2) Focus on the search field via Click(0.287, 0.084) ; (3) Enter the query via Input_text(‘‘upcoming events’’) ; (4) Execute the search via Click(0.920, 0.904) ; (5) Terminate the task via Finish() .
Figure 14: Trajectory Visualization: Messaging on Skype. The agent sends a greeting to a specific contact: (1) Launch the application via Open(Skype) ; (2) Select the contact via Click(0.500, 0.435) ; (3) Activate the text input area via Click(0.378, 0.942) ; (4) Type the message via Input_text(‘‘Hello Amelia’’) ; (5) Send the message via Click(0.934, 0.574) ; (6) Terminate the task via Finish() .
Figure 15: Trajectory Visualization: Account Management on Outlook. The agent navigates settings to manage accounts: (1) Launch the application via Open(Outlook) ; (2) Open the side menu via Click(0.078, 0.080) ; (3) Select the target account via Click(0.244, 0.285) ; (4) Confirm the action via Click(0.862, 0.387) ; (5) Terminate the task via Finish() .
Figure 16: Trajectory Visualization: Hotel Search on Booking.com. The agent searches for accommodation in a specific location: (1) Launch the application via Open(Booking.com) ; (2) Activate search via Click(0.500, 0.239) ; (3) Input the destination via Input_text(‘‘Berlin’’) ; (4) Select the suggestion via Click(0.578, 0.181) ; (5) View results via Click(0.500, 0.422) ; (6) Terminate the task via Finish() .
Figure 17: Trajectory Visualization: Flight Details on Expedia. The agent retrieves specific flight information: (1) Launch the application via Open(Expedia) ; (2) Select flights via Click(0.808, 0.203) ; (3) Access recent searches via Click(0.309, 0.586) ; (4) Wait() for data retrieval; (5) Browse results via Scroll(down) ; (6) Select the airline via Click(0.500, 0.196) ; (7) View detailed itinerary via Click(0.137, 0.188) ; (8) Terminate the task via Finish() .
Figure 18: Trajectory Visualization: Hotel Inquiry on MakeMyTrip. The agent initiates a hotel search process: (1) Launch the application via Open(MakeMyTrip) ; (2) Wait() for the interface to load; (3) Select the hotel category via Click(0.383, 0.252) ; (4) Initiate the search via Click(0.500, 0.518) ; (5) Terminate the task via Finish() .
Figure 19: Trajectory Visualization: Alarm Adjustment on Clock. The agent modifies an existing alarm setting: (1) Launch the application via Open(Clock) ; (2) Select the target alarm via Click(0.233, 0.226) ; (3) Adjust the hour setting via Click(0.379, 0.660) ; (4) Confirm the modification via Click(0.801, 0.760) ; (5) Terminate the task via Finish() .
Figure 20: Trajectory Visualization: Forecast Retrieval on Weather. The agent navigates to the extended forecast view: (1) Launch the application via Open(Weather) ; (2) Wait() for data synchronization; (3) Expand the forecast view via Click(0.905, 0.858) ; (4) Browse the weekly data via Scroll(down) ; (5) Continue browsing via Scroll(down) ; (6) Terminate the task via Finish() .
Figure 21: Trajectory Visualization: Document Retrieval on Google Files. The agent locates a specific file: (1) Launch the application via Open(files) ; (2) Activate the search bar via Click(0.902, 0.083) ; (3) Input the filename via Input_text(‘‘Venice tour’’) ; (4) Open the file via Click(0.524, 0.154) ; (5) Terminate the task via Finish() .
Figure 22: Trajectory Visualization: Book Search on Google Play Books. The agent searches for and selects a specific title: (1) Launch the application via Open(google play books) ; (2) Focus on the search bar via Click(0.324, 0.091) ; (3) Enter the book title via Input_text(‘‘WOMEN IN ISLAM by...’’) ; (4) Execute search via Click(0.920, 0.899) ; (5) Select the first result via Click(0.500, 0.288) ; (6) Terminate the task via Finish() .
Figure 23: Trajectory Visualization: Plant Identification on Blossom. The agent searches for botanical information: (1) Launch the application via Open(Blossom) ; (2) Activate the search bar via Click(0.500, 0.398) ; (3) Input the plant name via Input_text(‘‘ihi’’) ; (4) Select the entry via Click(0.225, 0.177) ; (5) Terminate the task via Finish() .
Figure 24: Trajectory Visualization: Artwork Search on Arts & Culture. The agent retrieves specific artist works: (1) Launch the application via Open(Arts & Culture) ; (2) Click the search icon via Click(0.067, 0.083) ; (3) Input the query via Input_text(‘‘Emily Carr artwork’’) ; (4) Confirm the search via Click(0.920, 0.904) ; (5) Terminate the task via Finish() .
Figure 25: Trajectory Visualization: Audio Playback on Insight Timer. The agent navigates to and plays specific sleep content: (1) Navigate back via Back() ; (2) Open the Sleep tab via Click(0.499, 0.258) ; (3) Select the music category via Click(0.172, 0.297) ; (4) Select the track “Deep sleep” via Click(0.500, 0.412) ; (5) Activate playback via Click(0.499, 0.489) ; (6) Terminate the task via Finish() .
Figure 26: Trajectory Visualization: Content Discovery on Pinterest. The agent searches for a specific art category: (1) Launch the application via Open(Pinterest) ; (2) Navigate to the search tab via Click(0.344, 0.947) ; (3) Activate the search bar via Click(0.494, 0.092) ; (4) Input the query via Input_text(‘‘Sculpture art’’) ; (5) Execute search via Click(0.920, 0.899) ; (6) Terminate the task via Finish() .
Figure 27: Trajectory Visualization: Guided Meditation on Insight Timer. The agent selects a morning ritual: (1) Launch the application via Open(Insight Timer) ; (2) Browse content via Scroll(down) ; (3) Select the “Morning Affirmation” podcast via Click(0.499, 0.603) ; (4) Initiate playback via Click(0.500, 0.203) ; (5) Terminate the task via Finish() .
Beijing Key Laboratory of Intelligent Information Technology, School of Computer Science & Technology, Beijing Institute of Technology · State Key Laboratory of General Artificial Intelligence, BIGAI · Wuhan University +1