All posts
2 min readby Romiel Inolino

Phone agents solved up to 10.3 points more tasks when apps gave them direct commands, but only after training to use them

AI agentsOpenMobile-2agent toolsautomationevaluation

An agent clicking through screens is the slow path. Give it a direct action, and make sure it actually uses it.

What happened

Researchers from Nanjing University, SenseTime and other universities released OpenMobile-2, open smartphone agent models built on Qwen3.5 9B and Qwen3.6 27B, along with the training environment and data. They rebuilt 35 popular apps, including Slack and Google Drive, and combined them with emulator apps for a practice ground of more than 110 apps. They generated about 11,600 example workflows and over 2,000 practice tasks with automated success checks.

The larger model scored 79.9 on AndroidWorld and climbed from 31.9 to 59.6 on SPA-Bench on real Android devices, which the researchers call the best among open models. With the data volume held constant, training on more apps raised success on unseen apps from 60.7 to 67.5 percent.

The part I care about: more than 50 simulated apps also offered direct commands like "add to cart" so the agent could skip menus. On their own, the models tended to ignore those shortcuts. After targeted training, agents solved up to 10.3 percentage points more tasks with about five fewer steps. Task success on their custom benchmark is judged by a program that compares the app's stored data before and after each run, not by a language model.

My take

Two lessons carry straight into business automation.

First, an agent will not reliably use the better tool just because it exists. If your agent can both browse a CRM screen and call the CRM API, check the logs to see which one it actually picks. Write tool descriptions that say when to use each, and remove the slow path where you can.

Second, judge success from the system of record. Did the deal stage change? Did the invoice record get created? Is the contact tagged? A check that compares data before and after a run is far more trustworthy than asking a model whether it finished.

For most client work, I skip screen clicking entirely and wire agents to APIs or webhooks. Screen automation is a fallback for tools that have no API, not the default.

More posts