Blolabel
← Notes
analysis 6 min read

AmbiBench's non-interactive agents score zero on ambiguous instructions; phoneshell can't ask back

Two tested agents finish zero tasks on AmbiBench's most underspecified tier. phoneshell's 80 tasks all sit at the benchmark's most explicit tier instead, and its only confirmation gate checks for risk, never comprehension.

On AmbiBench's most underspecified instruction tier, two of seven tested mobile agents finish zero tasks: AutoGLM-9B and MobileAgentV2 (GPT-4o) both score a Task Success Rate of 0% on Ambiguous-level instructions (Fudan University, arXiv:2602.11750, submitted 12 February 2026). The paper's own metric for whether an agent even tries to close that gap by asking, Information Gain Rate, is 2.4% for Qwen-3-VL-8B. phoneshell cannot be placed anywhere on this scale: every one of its 80 tasks is written at AmbiBench's most explicit tier, and nothing in its tool set lets an agent ask a clarifying question at all.

Abstract technical illustration of a one-way arrow pointing from a question mark toward a locked gate, with no return path drawn back to the question mark

What AmbiBench measured, and when

AmbiBench organises 240 ecologically valid tasks across 25 applications into four clarity tiers grounded in Cognitive Gap theory: Detailed, Standard, Incomplete, and Ambiguous. Its evaluator, MUSE, is an MLLM-as-judge system scoring three dimensions: Outcome (Requirement Coverage Rate, Task Success Rate), Execution (Key Step Hit Rate, Action Redundancy Rate, Error Termination Rate), and Interaction (Dialogue Compliance Rate, Information Gain Rate, the share of the task's information gap an agent's questions actually close). Seven agents were tested: UI-TARS-7B, AutoGLM-9B, Qwen-3-VL-8B, AppAgent and MobileAgentV2 (both GPT-4o), and two configurations of Fairy (GPT-4o paired with Gemini-3-Flash or with UI-TARS-7B).

AgentTSR (avg, all tiers)ARR, invalid actionsIGR, gap closed by askingDCR, valid clarifications
UI-TARS-7B21.7%4.3%12.0%87.2%
AutoGLM-9B35.4%28.0%not reportednot reported
Qwen-3-VL-8B10.0%53.5%2.4%88.9%
AppAgent (GPT-4o)10.8%36.9%not reportednot reported
MobileAgentV2 (GPT-4o)20.4%1.3%not reportednot reported
Fairy (GPT-4o + Gemini-3-Flash)40.4%2.0%17.7%73.7%
Fairy (GPT-4o + UI-TARS-7B)29.2%7.4%6.7%68.6%

These are averages across all four tiers (Table 2 of the paper). The level-specific numbers are starker: AutoGLM reaches a 65.2% Task Success Rate on Detailed instructions but a 0% Task Success Rate on Ambiguous ones, with no interaction in between to recover. A mini-ablation on Fairy, restricted to Incomplete-tier tasks it had already solved, turned its interaction off: Task Success Rate fell from 100% to 0% and Requirement Coverage Rate fell to 23.8%. The paper's reading is that non-interactive agents do not fail by stopping, they fail by guessing: several keep a respectable Key Step Hit Rate on Ambiguous tasks while Task Success Rate sits at zero, meaning they execute a plausible-looking path toward the wrong, invented requirement.

AmbiBench's four tiers, and where phoneshell's 80 tasks sit on them Detailed complete, unambiguous AutoGLM TSR 65.2% all 80 phoneshell tasks live here Standard no phoneshell task reaches this tier Incomplete Fairy: 100% TSR with asking, 0% without no phoneshell task Ambiguous AutoGLM TSR 0% MobileAgentV2 0% no phoneshell task Every phoneshell instruction names the app, the exact text or value, and the end state ("add a new reminder called 'collect parcel'", "start a timer for 5 minutes"). None asks the agent to infer which app, which value, or which of several valid interpretations is meant. So phoneshell's 55-of-58 leaderboard says nothing about the regime where this paper's agents go to zero. It was never tested there, in either direction. Sources: arXiv:2602.11750 Table 2 and body text; phoneshell environments/*.yaml instruction fields.

phoneshell has a confirmation gate. It is not a clarification gate

phoneshell does have a mechanism that pauses and reports back to a human mid-task: phone_tap and phone_macro_run both accept a confirmed flag, and refuse to proceed the first time without it. But what triggers that refusal is Guard.classify_tap (safety.py:33), which runs the tapped element's visible label text through a list of regex patterns for words like "delete," "send," "pay," or "order," and returns needs_confirmation only when one matches. It has no concept of whether the agent correctly understood the instruction. A model that misread "collect parcel" as "collect package" and typed the wrong text would sail through this gate, because nothing about that action looks irreversible. AmbiBench's Dialogue Compliance Rate and Information Gain Rate measure a different event entirely: a model recognising that it does not have enough information and generating a genuine question, rather than guessing. grep -rn "clarify\|ask_user\|needs_clarification" phoneshell/ returns nothing, because that verb does not exist in the tool set at all, under any name.

phoneshell's only pause-and-ask branch, traced from phone_tap Agent calls phone_tap(id) mcp_server.py:263 → Guard.classify_tap(element) safety.py:33, regex on label text → Pattern matched? "delete", "send", "pay", "order" ... YES: NOT DONE ask the human, wait for confirmed=true NO: tap proceeds whether or not the agent understood the instruction No third branch exists for "the instruction itself might mean two different things." AmbiBench's Dialogue Compliance Rate and Information Gain Rate measure agents taking exactly that branch; phoneshell's tool set has nowhere for an agent to take it.

What it means for anyone benchmarking a phone agent

Check it yourself

What would prove this wrong

The claim is that phoneshell's agent will never ask a clarifying question because it has no way to, not because its current tasks never need one. Test: write five new tasks that genuinely underspecify something a human would ask about (for example, three identically-titled reminders, "delete the one about the meeting"), and run them. If the agent asks a sensible clarifying question through any existing channel, that channel exists and this note is wrong about the tool set. We expect it to guess, pick one, and report success regardless of which one it picked. We will publish the five tasks and the transcripts, or say we did not run it, by 15 November 2026.

Sources

  1. AmbiBench: Benchmarking Mobile GUI Agents Beyond One-Shot Instructions in the Wild, arXiv:2602.11750, Fudan University, submitted 12 February 2026
  2. AmbiBench HTML full text, Table 2 and Section on the MUSE evaluation metrics
  3. phoneshell source: safety.py (Guard.classify_tap), mcp_server.py (phone_tap, phone_macro_run), environments/*.yaml instruction fields (read 14 October 2026)