Not Every User Says It All: Training Tool-Using Agents Beyond Ideal Simulated Users
Organizations: University of Notre Dame
Abstract
Tool-using agents are trained and evaluated almost exclusively with strong simulated users who state every detail clearly, yet real users are often weaker. We construct weak users by masking sentences of a simulated user's replies, holding the task and the user's knowledge fixed, and cross-evaluate agents trained with strong and weak users on tau2-bench and ToolWOZ. Weak users lower the success of every policy, and training with them does not help: no policy trained with weak users, through fixed masks, mixtures or a curriculum, serves weak users better than the strong-trained policy beyond run-to-run noise, and prompting the agent to ask more does not help either. We propose StaGPO (State-Grouped Policy Optimization): the agent writes what the task needs, what is missing and how it is being filled, and GRPO uses this state to compare turns of different rollouts that reach the same situation, assigning step-level credit. Within the standard recipe of a small SFT cold start followed by RL, StaGPO makes weak-user training useful: on ToolWOZ, the Qwen3.5-2B policy trained with weak users reaches 76.8% with weak users, the highest of any Qwen3.5-2B policy we trained, 4.8 points above GRPO and 2.8 above the strongest baseline; it is also 5.4 points above GRPO with strong users, and generalises to an unseen mask rate; trained with strong users instead, it serves weak users at least as well as GRPO trained with weak users. On tau2-bench it scores highest with weak users for both models, by a small margin for Qwen3.5-4B.
Figures & tables
| -bench | ToolWOZ | |||||||||||
| Trained with | 0.2 | 0.4 | 0.2 | 0.4 | ||||||||
| Qwen3.5-4B | ||||||||||||
| none (untrained) | 46.7 | 40.5 | 6.2 | 32.0 | 14.7 | 77.3 | 72.6 | 4.7 | 69.0 | 8.3 | ||
| strong user | 53.9 | 51.0 | 2.9 | 41.2 | 12.7 | 85.5 | 80.5 | 5.0 | 74.6 | 10.9 | ||
| weak, | 45.1 | 39.2 | 5.9 | 40.2 | 4.9 | 84.0 | 82.4 | 1.6 | 77.1 | 6.9 | ||
| weak, | 47.1 | 42.2 | 4.9 | 39.2 | 7.8 | 85.9 | 80.5 | 5.4 | 74.8 | 11.1 | ||
| -bench | ToolWOZ | |||||||||||
| Evaluated at | 0.2 | 0.4 | 0.2 | 0.4 | ||||||||
| Qwen3.5-2B | ||||||||||||
| Untrained | 41.2 | 33.0 | 30.7 | 49.0 | 42.6 | 40.7 | ||||||
| GRPO | 34.4 | 30.2 | 24.0 | 78.7 | 74.3 | 72.0 | ||||||
| Hybrid | 30.7 | 3.7 | 29.7 | 0.5 | 27.6 | 3.6 | 64.0 | 14.7 | 57.1 | 17.2 | 52.0 | 20.0 |
| Curriculum | 45.8 | 11.4 | 33.3 | 3.1 | 33.3 | 9.3 | 65.7 | 13.0 | 65.1 | 9.2 | 62.9 | 9.1 |
| Trained and evaluated at | 0.2 | 0.4 | |
|---|---|---|---|
| Qwen3.5-2B | |||
| GRPO | 74.9 | 74.8 | 72.0 |
| UserRL | 76.5 | 69.3 | 57.9 |
| InfoPO | 85.3 | 72.4 | 74.0 |
| StaGPO | 82.3 7.4 | 74.8 0.0 | 76.8 4.8 |
| Qwen3.5-4B | |||
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Rollout | / | ||||
|---|---|---|---|---|---|
| 1: asks for the day | 4 / 9 | 1 | 0.774 | 0.46 | 1.46 |
| 2: books without it | 5 / 16 | 0 | 0 | 1.09 | 2.09 |
| 3: asks for the day | 4 / 7 | 1 | 0.857 | 0.63 | 1.63 |
| Group mean | 0.544 |
| Evaluation user | |||
|---|---|---|---|
| Training user (epoch) | 20b | 120b | Mean |
| none (untrained) | 35.3 7.8 | 39.2 7.4 | 37.3 |
| gpt-oss-20b (4) | 41.2 2.9 | 36.3 9.5 | 38.7 |
| gpt-oss-120b (4) | 37.3 6.8 | 45.1 7.4 | 41.2 |
| gpt-oss-20b (8) | 43.1 4.5 | 44.1 2.9 | 43.6 |
| gpt-oss-120b (8) | 46.1 3.4 | 44.1 5.9 | 45.1 |
| -bench | ToolWOZ | ||||||
| Type | Method | 0.2 | 0.4 | 0.2 | 0.4 | ||
| Qwen3.5-4B | |||||||
| Prompting | Untrained | 46.7 4.3 | 40.5 4.6 | 32.0 5.6 | 77.3 2.7 | 72.6 6.1 | 69.0 4.6 |
| RL, strong user | GRPO ( ) | 53.9 3.4 | 51.0 10.3 | 41.2 8.8 | 85.5 2.9 | 80.5 1.1 | 74.6 2.4 |
| RL, weak user | GRPO ( ) | 45.1 10.3 | 39.2 6.1 | 40.2 3.4 | 84.0 0.2 | 82.4 0.6 | 77.1 1.4 |
| RL, weak user | GRPO ( ) | 47.1 10.6 | 42.2 3.4 | 39.2 1.7 | 85.9 2.1 | 80.5 0.3 | 74.8 2.7 |
| Policy | Eval 0 | Eval 0.2 | Eval 0.4 |
|---|---|---|---|
| Untrained ( 3) | 41.2 | 33.0 | 30.7 |
| Strong-trained ( 3) | 40.2 | 36.6 | 33.3 |
| Fixed ( 1) | 34.3 | 29.4 | 26.5 |
| Fixed ( 3) | 44.4 | 40.5 | 38.9 |
| 0.4 strong-trained | 4.2 | 3.9 | 5.6 |
| 0.4 untrained | 3.3 | 7.5 | 8.2 |
| gpt-oss-20b | gpt-oss-120b | |||
|---|---|---|---|---|
| weak | strong | weak | strong | |
| A control | 1.4 2.4 | 0.7 2.7 | 0.9 2.0 | 1.3 2.4 |
| B control | 0.9 2.2 | 1.8 2.9 | 1.4 2.9 | 0.5 2.9 |
| -bench | ToolWOZ | |||||
| Evaluated at | 0.2 | 0.4 | 0.2 | 0.4 | ||
| Untrained | 41.2 5.3 | 33.0 8.2 | 30.7 4.9 | 49.0 2.4 | 42.6 1.8 | 40.7 3.9 |
| From the SFT cold start | ||||||
| GRPO | 38.0 3.5 | 34.9 10.9 | 39.6 7.0 | 70.5 4.5 | 69.7 5.5 | 62.5 6.6 |
| UserRL | 31.2 5.4 | 27.1 5.4 | 28.1 5.2 | 61.4 0.6 | 60.4 2.4 | 57.9 0.3 |
| StaGPO | 45.8 4.3 | 36.5 3.0 | 40.6 2.2 | 84.1 3.2 | 81.5 3.8 | 76.8 1.7 |
| Trained and evaluated at | 0.2 | 0.4 | |
|---|---|---|---|
| Qwen3.5-2B | |||
| GRPO (base) | 74.9 0.2 | 74.8 6.3 | 72.0 4.3 |
| SFT, GRPO | 75.8 5.5 | 74.3 3.5 | 62.5 6.6 |
| UserRL (SFT) | 76.5 3.5 | 69.3 0.8 | 57.9 0.3 |
| InfoPO (base) | 85.3 1.3 | 72.4 2.4 | 74.0 1.5 |
| SFT, StaGPO | 82.3 7.0 | 74.8 1.7 | 76.8 1.7 |
| Test at selected step | |||||
| Method | Train | Val | 0.2 | 0.4 | |
| Qwen3.5-2B | |||||
| GRPO (from base) | 0.4 | 45.0 | 34.4 | 30.2 | 24.0 |
| SFT, GRPO | 0.4 | 57.5 | 38.0 | 34.9 | 39.6 |
| InfoPO (from base) | 0.4 | 45.0 | 35.4 | 37.5 | 30.2 |
| UserRL (SFT) | 0.4 | 35.0 | 31.2 | 27.1 | 28.1 |
| Test at selected step | |||||
| Method | Train | Val | 0.2 | 0.4 | |
| Qwen3.5-2B | |||||
| GRPO (from base) | 0.4 | 66.8 | 82.3 | 74.7 | 75.2 |
| GRPO (from base) | 0.4 | 67.5 | 76.2 | 75.7 | 69.1 |
| GRPO (from base) | 0.4 | 68.5 | 77.6 | 72.6 | 71.8 |
| InfoPO (from base) | 0 | 76.9 | 85.3 | 78.3 | 74.8 |
| -bench | ToolWOZ | |||||
|---|---|---|---|---|---|---|
| Eval. at | 0.2 | 0.4 | 0.2 | 0.4 | ||
| GRPO | 34.4 | 30.2 | 24.0 | 78.7 | 74.3 | 72.0 |
| InfoPO | 35.4 | 37.5 | 30.2 | 78.3 | 75.7 | 74.0 |
| StaGPO | 32.3 | 31.8 | 35.4 | 74.8 | 72.2 | 67.1 |
| StaGPO (SFT) | 45.8 | 36.5 | 40.6 | 84.1 | 81.5 | 76.8 |
| Succ. | Agent | User | Turn | Ques- | |
|---|---|---|---|---|---|
| (%) | turns | replies | limit | tions | |
| GRPO | 72.0 | 12.3 | 5.8 | 38 | 3.5 |
| InfoPO | 74.0 | 11.6 | 4.1 | 22 | 3.9 |
| StaGPO | 67.1 | 12.9 | 6.3 | 49 | 2.9 |
| ToolWOZ | -bench | |||
|---|---|---|---|---|
| Cold start | none | SFT | none | SFT |
| GRPO | 72.0 | 62.5 | 24.0 | 39.6 |
| StaGPO | 67.1 | 76.8 | 35.4 | 40.6 |
| Anchored, first 20 steps | 24% | 30% | 28% | 35% |
| Anchored, last 20 steps | 19% | 48% | 20% | 48% |
| State | Grouping | 0.2 | 0.4 | |
|---|---|---|---|---|
| written | no ( ) | 69.0 5.6 | 66.6 2.1 | 60.1 3.6 |
| written | yes ( StaGPO ) | 84.1 2.5 | 81.5 2.6 | 76.8 1.0 |
| none | no ( GRPO ) | 70.5 3.8 | 69.7 6.0 | 62.5 6.9 |
Tool-Using Agents
Tool-using agents plan and act through external tools, APIs, software interfaces, and environments to complete tasks beyond language generation.
See all 289 papers