Blolabel
← Notes
analysis 8 min read

Xiaomi-GUI-0 trains on physical phones and still scores 72.0% on its own harder benchmark against 78.9% on AndroidWorld; phoneshell's board sits at 89.7% to 96.6% with nothing to separate it

Training closed-loop on real hardware was supposed to close the gap between a benchmark score and what a phone agent can actually do. It didn't close it inside Xiaomi's own numbers. The public benchmark still wins by 6.9 points, and phoneshell's own board shows the same ceiling from the other side.

Xiaomi-GUI-0, a 32-author technical report posted 30 June 2026 and revised 1 July (arXiv:2606.31410), trains a vision-language GUI agent through three stages, supervised fine-tuning, step-level reinforcement learning and agentic reinforcement learning, run with physical phones as the primary execution environment and sandboxes only as auxiliary support. The paper's own argument for doing this is that offline trajectories, simulated environments and standardized benchmarks differ from real apps in layout, interaction logic and abnormal-state distribution, which opens a gap between benchmark scores and real-world usability. Its reported numbers do not close that gap in the direction the argument implies: 72.0% on RealMobile, its own in-house benchmark built to resemble real user traffic, against 78.9% on AndroidWorld, the public benchmark the rest of the field is tuned to. The harder, more realistic benchmark, the one the physical-device training loop was built for, scores 6.9 points lower.

Abstract technical illustration on a dark background of two measuring instruments pointed at the same physical phone, one reading a clean standardized scale that sits higher, the other reading a cluttered irregular scale that sits lower, cool blues and teals with one amber accent marking the gap between the two readings

What changed, and when

Xiaomi's report describes a closed loop: data collection, training, rollout and evaluation all run with an execution distribution close to real deployment, meaning physical devices rather than emulators carry the weight at every stage. Training data covers high-frequency tasks, long-tail intents, and an error-driven data flywheel that turns failed trajectories into corrected actions and recovery demonstrations. That is a materially different approach from training mainly on offline logs or in a simulator and evaluating once at the end, and the paper frames it as the fix for exactly the gap this article is about. The two numbers it reports, 72.0% on RealMobile and 78.9% on AndroidWorld, are the only quantitative comparison the abstract gives, and the abstract does not state a reason for the gap beyond its general argument about standardized benchmarks differing from real apps.

phoneshell's own board runs the opposite experiment on the opposite platform: six frontier models from six vendors, Kimi K3, GPT-5.1, Claude Opus 4.8, Qwen3-Max, Gemini 3.1 Pro and DeepSeek v3.2, driven over the same 58 iOS tasks on a physical iPhone 14 Pro, 349 scored cells, $9.25 of API spend. Every task is a first-party Apple app with a clean accessibility tree. The result, covered here on 10 September as the board that cannot rank, is a tight 89.7% to 96.6% band in which not one of the fifteen possible pairs between models separates under McNemar's exact test. Forty-six of the 58 tasks were passed by every model. The suite is at ceiling for the same reason phoneshell predicted it would be: well-labelled, standardized, first-party interfaces are the easy case, for any model, trained any way.

Two benchmarks, two ceilings, opposite directions

dimensionXiaomi-GUI-0phoneshell's boardsource
training/eval loopphysical devices primary, sandboxes auxiliary, 3-stage SFT + step RL + agentic RLno training; six off-the-shelf frontier models driven over MCP, graded by device statearXiv:2606.31410 abstract; README.md
harder, more realistic benchmark scoreRealMobile (in-house): 72.0%no in-house "hard" benchmark exists yetarXiv:2606.31410 abstract
easier, standardized public benchmark scoreAndroidWorld: 78.9%phoneshell's own 58-task board on first-party iOS apps: 89.7% to 96.6%arXiv:2606.31410 abstract; FINDINGS.md section 30
gap between the two, and its direction6.9 points, harder benchmark lowernot comparable directly; phoneshell has one benchmark, not two of differing difficultyarXiv:2606.31410 abstract
can the board separate models by accuracynot reported; no paired test given against other models on either benchmarkno: 0 of 15 pairs separate, widest gap 4 wins to 0 at p = 0.12FINDINGS.md section 30
stated reason for any gapgeneral claim that standardized benchmarks differ from real apps; no number attachedwell-formed accessibility trees on first-party apps are the easy case for every modelarXiv:2606.31410 abstract; FINDINGS.md section 30
Where each system's score actually lands 72.0% RealMobile Xiaomi-GUI-0, in-house 78.9% AndroidWorld Xiaomi-GUI-0, public 89.7% phoneshell board, low Qwen3-Max, first-party iOS 96.6% phoneshell board, high Kimi K3, first-party iOS Source: arXiv:2606.31410 abstract; phoneshell FINDINGS.md section 30, results.json.
Xiaomi's harder benchmark sits below its easier one by 6.9 points. phoneshell's own board spans a similar 6.9 points, entirely on the easy side, with none of it separable between models.
Xiaomi-GUI-0's closed loop, physical devices primary data collectionhigh-freq + long-tail training: SFT → step RL → agentic RL rolloutphysical phones evaluationRealMobile + AndroidWorld error-driven data flywheelfailed trajectories → corrected actions, recovery demos Sandboxes support this loop only as an auxiliary environment, never the primary one. Source: arXiv:2606.31410 abstract, training pipeline description.
The loop that was supposed to close the benchmark-to-reality gap runs on physical phones at every stage. The reported scores still rank AndroidWorld, the public benchmark, above RealMobile, the benchmark the loop was built for.

What it means for someone reading a phone-agent benchmark score

The honest reading of Xiaomi's two numbers is not that physical-device training failed. It is that training method and benchmark difficulty are separate variables, and a paper that moves the first one does not thereby move the second one in a predictable direction. AndroidWorld is a known quantity that much of the field has spent two years optimizing against; RealMobile is Xiaomi's own construction, built specifically to carry the diversity and mess the abstract says public benchmarks lack. A model can get measurably better at the hard thing, through exactly the training loop the paper describes, and still score lower on it than on the easy thing, because the easy thing started easier and stayed easier. Nothing in the abstract licenses a claim that RealMobile's 72.0% would have been lower without the physical-device loop; the report has no such counterfactual to compare it against.

phoneshell's board makes the matching point from the other side, with a statistical test behind it rather than a single pair of numbers. First-party iOS apps, built by Apple, with accessibility trees Apple controls, are the standardized surface. Six independently trained frontier models land in a 6.9-point band on that surface and no pair of them separates. That is not six models converging on a hard problem; it is six models all finding the same easy problem easy, the mirror image of a benchmark with nothing left to discriminate. Put the two findings together and the shape is consistent: whichever side of the real-device-versus-standardized-surface line a task sits on predicts its difficulty for a competent model far better than which lab trained the model or how.

Check it yourself

# Xiaomi-GUI-0's abstract and reported numbers
curl -s https://arxiv.org/abs/2606.31410

git clone https://github.com/Blomega/phoneshell && cd phoneshell
grep -n -A20 "## 30. Adding tasks moved the ranking further out of reach" FINDINGS.md
python3 -c "import json; d=json.load(open('site/results.json')); print(d['board'])"

What would prove this wrong

Sources

  1. Cao, Wanxia, et al. (32 authors), "Xiaomi-GUI-0 Technical Report," arXiv:2606.31410, v1 30 June 2026, v2 1 July 2026.
  2. Blolabel, Six models, 58 tasks on one iPhone, and not a single pair separates, 10 September 2026.
  3. Blolabel, FINDINGS.md, section 30, read 26 October 2026.
  4. Blolabel, results.json, read 26 October 2026.