IntentScore: Intent-Conditioned Action Evaluation for Computer-Use Agents
Organizations: George Washington University, Washington D.C., USA
Abstract
Computer-Use Agents (CUAs) leverage large language models to execute GUI operations on desktop environments, yet they generate actions without evaluating action quality, leading to irreversible errors that cascade through subsequent steps. We propose IntentScore, a plan-aware reward model that learns to score candidate actions from 398K offline GUI interaction steps spanning three operating systems. IntentScore trains with two complementary objectives: contrastive alignment for state-action relevance and margin ranking for action correctness. Architecturally, it embeds each candidate's planning intent in the action encoder, enabling discrimination between candidates with similar actions but different rationales. IntentScore achieves 97.5% pairwise discrimination accuracy on held-out evaluation. Deployed as a re-ranker for Agent S3 on OSWorld, an environment entirely unseen during training, IntentScore improves task success rate by 6.9 points, demonstrating that reward estimation learned from heterogeneous offline trajectories generalizes to unseen agents and task distributions.
Figures & tables
| Model | Hard | Real Inc. | Gap1 mean | Gap1 0.10 |
|---|---|---|---|---|
| Alignment loss only (baseline) | 0.866 | 0.917 | 0.202 | 69.5% |
| + Margin ranking loss( , ) | 0.879 | 0.931 | 0.213 | 71.9% |
| + Aggressive margin ( , ) | 0.886 | 0.935 | 0.251 | 76.8% |
| + MPNet + SigLIP2 + larger model | 0.902 | 0.928 | 0.309 | 79.5% |
| + Intention-aware action encoder | 0.949 | 0.962 | 0.362 | 87.8% |
| + Cross-OS pretraining ( IntentScore ) | 0.975 | 0.997 | 0.373 | 93.2% |
| Model | Chrome | GIMP | Calc | Impress | Writer | Multi | OS | TDB | VLC | VSCode | All |
|---|---|---|---|---|---|---|---|---|---|---|---|
| S3 (baseline) | 53.2 | 53.8 | 42.6 | 46.8 | 52.2 | 29.0 | 58.3 | 66.7 | 29.4 | 60.9 | 45.2 |
| S3 + IntentScore | 65.2 | 53.8 | 51.1 | 44.7 | 56.5 | 38.7 | 70.8 | 66.7 | 47.1 | 65.2 | 52.1 |
| +12.0 | = | +8.5 | -2.1 | +4.3 | +9.7 | +12.5 | = | +17.7 | +4.3 | +6.9 |
| System | SR | OR |
|---|---|---|
| S3 w/ N=3(baseline) | 45.2% | — |
| S3 + random selection | 44.2% (-1.0) | 56.9% |
| S3 + LLM self-evaluation | 45.8% (+0.6) | 52.1% |
| S3 + Alignment only | 48.0% (+2.8) | 40.1% |
| S3 + IntentScore | 52.1% (+6.9) | 46.6% |
| Step-level decision distribution | |
|---|---|
| Total steps | 6,826 |
| Dedup (all candidates identical) | 2,288 (33.5%) |
| Scored by model | 4,538 (66.5%) |
| Among scored steps | |
| Agree (scorer confirms #1) | 2,118 (46.7%) |
| Defer (low confidence) | 304 (6.7%) |
Appendix figures & tables9 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | Specification |
|---|---|
| In-context history encoder | |
| Input per step | |
| Step projection | Linear(3074, 512) GELU LayerNorm(512) |
| Sequence model | 2-layer GRU, hidden size 384, dropout 0.1 |
| Output | Last hidden state |
| Padding | Zero-padding when fewer than previous steps exist |
| Ubuntu | Windows + Mac | Total | |
|---|---|---|---|
| Tasks | 5,000 | 17,625 | 22,625 |
| Steps | 77,448 | 321,380 | 398,828 |
| Thought present | 59% | varies | — |
| Parameter | Stage 1 (Pretrain) | Stage 2 (Finetune) |
|---|---|---|
| Data | 398K steps (Ubuntu+Win+Mac) | 77K steps (Ubuntu) |
| Epochs | 30 | 40 |
| Learning rate | ||
| Margin weight ( ) | 2.0 | 3.0 |
| Margin ( ) | 0.20 | 0.20 |
| Batch size | 1024 | 1024 |
| Scorer field | Agent S3 source | Parsing |
|---|---|---|
| observation | Plan (Screenshot Analysis) | Regex extraction |
| thought | Plan (Next Action) | Per-candidate extraction |
| action | NL description from plan_code | Comment extraction |
| code | exec_code | Remove import prefix |
| xy | Pixel coords from exec_code | Normalize by resolution |
| reflection | reflection field | Direct (null empty) |
| Model | Features | AUC | Top-1/5 |
|---|---|---|---|
| V1 baseline | vision + obs + act + inst | 0.770 | 56.4% |
| V2 | + thought + reflection | 0.847 | 66.5% |
| V3 | + code | 0.887 | 69.3% |
| V4 (Transformer) | same as V3 | 0.510 | 29.0% |