Evaluation · PhoneLLM Mini α2

Where does PhoneLLM Mini α2 sit on the price–intelligence curve?

We wanted to know whether PhoneLLM Mini α2 belongs in the Zazu catalog, so we benchmarked it on τ²-bench. It is a fast, low-cost peer to GPT-4.1 mini and good with tool calls, but weaker at strict instruction following; the fine-tuning left some quirks, which we think are manageable via prompting.

Results with and without the correction (pass^4)

ModelTelecomRetailAirline
PhoneLLM Mini α29.634.210.0
PhoneLLM Mini α2, corrected20.234.210.0
GPT-4.1 mini26.136.927.8
GPT-4.120.452.338.1
GPT-5.2 (no reasoning)30.745.622.0
Qwen3.5-9B (on Zazu)89.555.362.0

Cost vs latency

Zazu latency assumes same-region network latency; a US-to-US measurement is used here. Other models: Vapi's median on our test calls.

1 · Baseline τ²-bench

Out of the box, PhoneLLM trails GPT-4.1

  • τ²-bench has three domains that test different skills: telecom, guiding a customer through fixes on their own phone; retail, tool-heavy order changes; and airline, following a long booking policy.
  • Retail looks reasonable, but telecom drops sharply against the other models.
  • That pointed to a specific cause rather than a generally weak model, so we investigated the drop.
ModelTelecomRetailAirline
PhoneLLM Mini α29.634.210.0
GPT-4.1 mini26.136.927.8
GPT-4.120.452.338.1
GPT-5.2 (no reasoning)30.745.622.0
Qwen3.5-9B (on Zazu)89.555.362.0
pass^4: tasks solved on all four trials. The charts below show pass^1 against price per 1,000 minutes of typical voice-agent traffic: input-heavy, with a tiny incremental output between turns. Other models are at list price; Zazu is at our per-minute billing rate.

Telecom · agent guides the customer's phone

Retail · tool-heavy order changes

Airline · instruction following over a long policy

2 · One failure explains the telecom score

PhoneLLM calls tools that belong to the customer

  • Telecom tests an agent guiding a customer through a problem with their phone.
  • The customer holds the phone, so the benchmark gives them the actions (check the status bar, toggle airplane mode, reset the APN). The agent is meant to ask for each one and act on what the customer reports.
  • PhoneLLM chose the right action but tried to perform it itself instead of guiding the customer.
  • Its first phone action matched one used in a passing Qwen run of the same task in 92% of conversations.

Same task, same moment: the agent needs the phone's network status

Expected · Qwen3.5-9B

agent:    I need you to run some checks on your
          phone. Can you please check_network_status
          on your phone and tell me what it shows?

customer: [runs check_network_status on the phone]
phone:    Airplane Mode: ON
          Cellular Connection: no_service

customer: It shows Airplane Mode is ON and no
          cellular connection.

agent:    Thanks. Please turn Airplane Mode OFF...

Observed · PhoneLLM Mini α2

agent:    check_network_status()
system:   Error: Tool 'check_network_status'
          not found.
agent:    check_status_bar()
system:   Error: Tool 'check_status_bar' not found.
agent:    check_network_mode_preference()
system:   Error: ... not found.
agent:    check_apn_settings()
system:   Error: ... not found.
          ... 6 more phone functions, all "not found"
          run ends: too many errors, customer never asked

3 · The patch

PhoneLLM seems to be aggressively tuned for tool use, so a function name in its prompt reads as a tool it can call

  • The agent's prompt is about 23,000 characters: the account policy, then a tech-support manual.
  • The manual names the customer's phone functions, like check_network_status(), both in a list of actions the customer can take and in troubleshooting guides that say what to check.
  • These functions are for the simulated customer to use, and appear in the agent's prompt only for reference. PhoneLLM called them as if they were its own tools.
  • Its reasoning was right, though: in 92% of conversations, the first customer function it called was one the customer also used in a passing Qwen run of the same task.

From the agent's prompt · τ²-bench telecom manual

The manual is clear these are the customer's actions. PhoneLLM called them anyway.

# What the user can do on their device
Here are the actions a user is able to take on their device.
You must understand those well since as part of technical support you
will have to help the customer perform series of actions

## Fix Actions (Write/Modify)
2. **toggle_airplane_mode** - Turns Airplane Mode ON or OFF.
…
### Airplane Mode
You can check if Airplane Mode is ON by using `check_status_bar()`
or `check_network_status()`.
If it is ON, guide the user to use `toggle_airplane_mode()` to turn it OFF.
says the action is the customer'swhat PhoneLLM tried to call itself
StepWhat changedNames leftInvalid share of agent tool callspass^1pass^4
Original—58
46%
32.99.6
1 · LabelTell the agent the action list is the customer's, not its tools58
32%
46.516.7
2 · RewriteRewrite the manual so no customer function is named: the 30 calls in the guides become plain requests, and the 28 list entries become plain words0
4.4%
54.820.2
Qwen3.5-9BOriginal manual, for reference58
1.4%
97.489.5

Step 1 · Label the list as the customer's, not the agent's

Before

# What the user can do on their device
Here are the actions a user is able to take
on their device. You must understand those well
since as part of technical support you will have
to help the customer perform series of actions

1. **check_status_bar** - Shows what icons
   are currently visible in your phone's status
   bar (the area at the top of the screen).

After

# What the CUSTOMER can do on THEIR OWN phone
(these are NOT your tools)
The functions listed below exist only on the
customer's phone. You, the support agent, CANNOT
call any of them: they are not in your tool list,
and calling one fails. To use one, ask the customer
to run it and tell you the result.

1. **check_status_bar** [CUSTOMER'S PHONE
   ONLY, not your tool] - Shows what icons
   are currently visible in your phone's status
   bar (the area at the top of the screen).

Model reactionInvalid calls fell from 46% to 32%. Labels helped, but all 58 names were still in the prompt, and the model kept calling them.

Step 2 · Rewrite the manual so no customer function is named

  • Instructions were not enough: the model still called the names it saw, so we removed them.

Before

### Airplane Mode
You can check if Airplane Mode is ON by
using `check_status_bar()` or
`check_network_status()`.
If it is ON, guide the user to use
`toggle_airplane_mode()` to turn it OFF.

### SIM Card Issues
Use `check_sim_status()` to check the
status of the SIM card.

After

### Airplane Mode
Ask the customer to look at their status
bar, or to check their network status, and
tell you whether Airplane Mode is ON.
If it is ON, ask the customer to switch
Airplane Mode OFF on their phone.

### SIM Card Issues
Ask the customer to check the SIM card
status on their phone and tell you what
it says.

4 · New performance

Invalid tool calls fell by about 90%, and the pass rate became comparable to GPT-4.1 mini

Telecom pass^1 after each step. Same 114 tasks, 4 trials, same customer.

32.9original
46.5step 1
54.8step 2
τ²-bench telecom against price per 1,000 minutes, with the frontier without Zazu (dashed) and with it (solid). Hollow: PhoneLLM (32.9). Filled: PhoneLLM patched (54.8).
  • Nearly gone: invalid calls are 4.4% of calls, and 39% of tasks still contain one.

5 · Airline

Airline: PhoneLLM does what the customer asks, even when the policy says no

Airline tests whether the agent follows a long policy: which bookings can be cancelled, when compensation is due, and getting a clear yes before every change.

Changed a booking the policy says to refuse

PhoneLLM
52%
Qwen3.5-9B
15%

Changed a booking without a clear yes

PhoneLLM
22%
Qwen3.5-9B
2%

For example, it cancelled a basic-economy booking that the policy says cannot be cancelled, and sent a compensation certificate to a customer who did not qualify.

  • We tried a few prompt changes, such as placing the relevant rule next to the decision and asking it to work out booking times with its calculator.
  • None of them helped much. The model seems to be quirky when it comes to following instructions.

6 · Where it lands

A fast, low-cost peer to GPT-4.1 mini: good with tool calls, weaker at strict instruction following

Against GPT-4.1 mini

  • With the manual fix, PhoneLLM is comparable on tasks that involve using tools, but it seems to be weaker at following long policies and instructions (airline).
  • It costs about a sixth as much and takes about a fifth of the time to first token.
  • The low-cost, low-latency case largely stands validated.

Within the Zazu catalog

  • Qwen3.5-9B remains the stronger model on every domain we tested, so it stays the pick when quality comes first.
  • PhoneLLM is a cheaper option suitable for less complicated agents.

Cost vs latency

Zazu latency assumes same-region network latency; a US-to-US measurement is used here. Other models: Vapi's median on our test calls.

Results with and without the correction (pass^4)

ModelTelecomRetailAirline
PhoneLLM Mini α29.634.210.0
PhoneLLM Mini α2, corrected20.234.210.0
GPT-4.1 mini26.136.927.8
GPT-4.120.452.338.1
GPT-5.2 (no reasoning)30.745.622.0
Qwen3.5-9B (on Zazu)89.555.362.0

Prompts, patches and per-run results are published on GitHub so anyone can rerun the comparison.