Benchmark · Chat Assistants

PersonaChatBench

Evaluating chat assistants with diverse simulated users.

An assistant can solve the task. Does it also serve the person who asked?

Zheyuan Deng, Taoran Li, Jingwen Zhang, Yuante Li, Dachuan Zhao, Fulei Zhang, Yunkai Zhang, Zhikun Xu, Yajie Liao, Haichao Zhang, Haodi Hu, Cong Wang, Chen Yang, Siyang Wu, Defu Cao, Xu Hu, Haoming Li, Haixin Wang, Robert George, Weizhi Zhang, Yuchu Wang, Zhejian Peng, Yueying Li, Wanting Jiang, Shushu Liang, Zhiyuan Yu, Yifan Wang, Jintao Huang, Yijun Wang, Yuexing Hao, Xiaomin LiUnder review  ·  built on MedDialogRubrics, LiveCodeBench, SimulatorArena, HARP, IMO-ProofBench, PRBench, ABCD, UserBench, and MatrAIx resources

🩺 informed questioner
🎧 self-doubt
➗ anxious starter
💻 examples-first learner
◻ neutral
📈 confident contrarian
✈ concise decider
0
tasks
0
domains
0
models
0
model families
0
simulator audit pass
0
passing code, need unmet
The gap

Solving the task is not the same as meeting the user's needs.

People who bring the same request to an assistant can need different kinds of help: plain explanations, the reasoning behind each question, a clear recommendation, or reassurance before deciding. Evaluations built around a single cooperative user can't show how reliably an assistant serves different people. PersonaChatBench holds the task fixed and varies only the user.

fixed

One task

A source task with its native evaluator: a clinical case, a programming problem, a math problem, a financial question, a policy case, or a trip, prepared with the facts the user knows.

→
varied

Who asks changes

A simulated user follows a private persona card. The assistant never sees the card; it learns the user's needs only from what the user says.

→
measured

Three separate scores

Native task outcome, fulfillment of expressed needs, and simulator fidelity are each scored on their own and never combined into one number.

A need only counts once the user has voiced it. For every need, the judge asks:

was it expressed by the user? could the assistant respond to it? was it satisfied? 1 · 0.5 · 0
Who asks

Six domains, six persona panels. Hover to meet them.

Each domain has its own compact panel of personas, built around traits that matter for seeking help there: willingness to disclose in a medical consultation, explanation preferences in programming, trust and decision style in travel. Coding and Math profiles draw on MatrAIx attributes. On each card, task gap is the spread between the highest- and lowest-scoring user conditions in mean task score, with every model weighted equally; needs low/high are the lowest- and highest-scoring personas on expressed-needs satisfaction.

health

familiarity, trust, privacy, patience, initiative
Source
MedDialogRubrics
Tasks
200 cases
Personas
5 + neutral
Task score
Inquiry coverage
Cap
20 replies
7.02
task gap
80.51
needs low
95.18
needs high

coding

explanation, code structure, documentation, tools, communication
Source
LiveCodeBench v6
Tasks
100 hard problems
Personas
6 + neutral
Task score
Executable tests
Cap
5 replies
8.14
task gap
84.08
needs low
96.49
needs high

math

hint first or demonstrate first, detail, tone
Sources
SimulatorArena–MATH, HARP, IMO-ProofBench
Tasks
205 problems
Personas
6 + neutral
Task score
Correct, supported solution
Cap
25 replies
1.57
task gap
75.3
help: hint-first
86.6
help: demo-first

finance

communication and pressure presets, plus personas written per question
Source
PRBench-Finance
Tasks
97 questions
Personas
6 presets + 5 per question
Task score
Expert rubric %
Cap
8 turns
3.09
task gap
67.0
needs low
81.5
needs high

customer service

each persona changes one customer trait
Source
ABCD policy cases
Tasks
132 policy items
Personas
8 + neutral
Task score
Rule-based completion
Cap
24 messages
8.98
task gap
37.1
needs low
87.9
needs high

travel

decision pace, explanation depth, trust style
Source
UserBench Travel-44
Tasks
67 + 5 revision
Personas
5 + neutral
Task score
Choice reward
Cap
10 replies
−13.1
reward vs neutral
64.8
needs low
97.9
needs high
Neutral user (reference) — the same task information and interaction setting, without a persona card. no persona cardno needs score

Task gaps are from the paper's Figure 3; Travel's reward is kept out of that comparison, so its card shows the pooled persona-minus-neutral change in choice reward (Table 22). Needs ranges are from each domain's appendix condition table and its own model cohort (Tables 7, 9, 15, 17, 22); for Math, the paper reports help-preference satisfaction for hint-first versus demonstration-first students. Appendix figures can differ slightly from the main-text numbers quoted under Findings.

How it works

A simulated user asks; the assistant only hears the dialogue.

Stage 1: each task is split into what the assistant sees, what the simulated user knows, and what only the evaluators see. Stage 2: the user, guided by a private persona card, talks with the assistant; in five domains every condition continues from the same opening question and first assistant reply. Stage 3: a native task evaluator, a persona-needs judge, and a simulator auditor each score the dialogue on their own.

stage 1 · prepare

Split the task three ways

Public task context for the assistant; authorized facts for the user, disclosed only through dialogue; hidden tests, reference answers, and rubrics kept for grading.

→
stage 2 · converse

Same start, different users

Persona and neutral users continue from a shared opening and first reply (Math generates both per persona). Users ask follow-ups, disclose facts, clarify preferences, or stop naturally before the turn limit.

→
stage 3 · score

Three judgments, kept apart

Native task score with the source's own tests or rubric; needs scored 1, 0.5, or 0 and averaged on a 0–100 scale; a simulator audit of persona and fact fidelity.

RoleInformation usedOutput
Tested assistantPublic task context, dialogue, permitted tools and policiesReplies, tool calls, or a final task artifact
User simulatorPublic dialogue, authorized user facts, assigned persona contentA user message or a decision to stop
Native task evaluatorThe artifact or conversation the source rubric requires, with its tests or referencesNative task result
Persona-needs judgePublic dialogue and pre-recorded needs with their criteriaPer-need judgments and supporting evidence
Simulator auditorDialogue, authorized task facts, and assigned personaFindings about simulator fidelity

Figure 1 — The PersonaChatBench protocol and the information available to each role (after the paper's Section 3 and Table 4). The assistant never sees the persona card; the simulator never sees hidden answers, tests, rubrics, or judge feedback. LLM grading and simulator auditing primarily use GPT-6 Luna at medium reasoning effort. Across five domains and 20 assistants, the simulator-audit pass rate averages 95.70%.

What we find

Strong task performance does not guarantee the user's needs are met.

80.53 vs 91.27

Task leaders and needs leaders differ

Claude Opus 5.5 leads the five-domain task average at 80.53, followed by Fable 5.1 (79.57) and GPT-6 Astra (77.66). GPT-6 Astra leads the six-domain needs average at 91.27, and GPT models hold the first four needs positions. Astra ranks third on task and first on needs; Opus first and fifth; Fable second and eighth.

8.98 points

Average scores hide who the user is

With the problem fixed and all 20 models weighted equally, the gap between the highest- and lowest-scoring user condition is:

Health
7.02 Coding
8.14 Math
1.57 Finance
3.09 Customer Service
8.98

Single models swing further: on 29 IMO-ProofBench tasks, GPT-5.5 scores 86.21 with the example-led explorer and 68.97 with the concise independent learner.

15.93 points

Health: the consultation depends on what the patient brings

On matched cases, the receptive, informed contributor gets higher inquiry coverage than the private, time-conscious novice for all 20 assistants: 7.08 task points, with a 15.93-point gap in patient facts acquired. Responding is not eliciting: GPT-6 Sol scores 98.54 on needs but 41.00 on inquiry.

43.8%

Coding: a passing program does not validate its explanation

Of 4,594 persona conversations with passing code and a needs score, 2,014 leave at least one scored need partly or wholly unmet: 22.3% for the detailed typed professional, but 66.7% for the plain-language technologist and 64.9% for the examples-first learner.

passing code, at least one need not fully met · 43.8%
75.3 vs 86.6

Math: giving the answer can take away the learning

Help-preference satisfaction averages 75.3 for hint-first students and 86.6 for demonstration-first students, and demonstrations score higher for all 20 tutors. The 11.3-point gap holds even when all six persona conversations reach correct mathematics.

16 of 17

Finance: satisfying a challenge can cost the expert answer

Skeptical and contrarian clients are associated with a 9.0-percentage-point larger loss of previously earned final-position rubric items (95% interval [6.3, 12.4]). On one hedging question, 16 of the 17 initially rubric-preferred answers are withdrawn after the challenge; Astra's task score falls from 64.8 to 53.4 while all three expressed needs get full credit.

78.71 vs 37.13

Customer service: resolving the request, not the doubt

The self-doubting customer has the highest task mean (78.71) and the lowest needs mean (37.13): completing the workflow need not include checking the doubted fact against the record. Astra completes 94.70% of self-doubting conversations but 71.97% with customers who ask for reasons.

97.69 vs 63.93

Travel: knowing when not to act

Needs satisfaction separates the skeptical comparer from the concise decider by 33.76 points. Postponing a choice can earn full needs credit and zero task reward; recording a rental car the user wanted kept provisional earns full task credit and zero needs credit. Kimi K3 asks for confirmation first and gets full credit on both.

The paper names three priorities for user adaptation:

elicit what users don't volunteer preserve substance when revising respect the steps users want to keep
Leaderboard

Twenty assistants, domain by domain.

Per-model scores (0–100) from the paper's domain appendices: Health inquiry coverage (Table 6), Coding native pass rate (Table 8), Finance expert-rubric percent (Table 16), Customer Service rule-based completion (Table 18), and persona-needs satisfaction for each, plus Travel. Bold marks the best value per column within each domain's main cohort. Models are listed in the paper's Appendix B.1 order.

† simulator and judges not all GPT-6 Luna at medium effort; ‡ score-only package without full dialogue evidence. Both are outside that domain's main cohort and are not counted for bold. Coverage differs across models; for example, GPT-6 Astra's Coding needs score rests on 24 of 600 planned persona episodes. Travel's choice reward is left out of the task view, as in the paper, because it mainly records whether the assistant commits. Math per-model scores and the cross-domain averages appear only in the paper's Table 1 and 2 graphics and are not reproduced here; the main-text Travel needs values also differ from Table 23 by up to 1.4 points.

Citation

Cite PersonaChatBench

@ARTICLE{2026arXiv261042060D,
       author = {{Deng}, Zheyuan and {Li}, Taoran and {Zhang}, Jingwen and {Li}, Yuante and {Zhao}, Dachuan and {Zhang}, Fulei and {Zhang}, Yunkai and {Xu}, Zhikun and {Liao}, Yajie and {Zhang}, Haichao and {Hu}, Haodi and {Wang}, Cong and {Yang}, Chen and {Wu}, Siyang and {Cao}, Defu and {Hu}, Xu and {Li}, Haoming and {Wang}, Haixin and {George}, Robert and {Zhang}, Weizhi and {Wang}, Yuchu and {Peng}, Zhejian and {Li}, Yueying and {Jiang}, Wanting and {Liang}, Shushu and {Yu}, Zhiyuan and {Wang}, Yifan and {Huang}, Jintao and {Wang}, Yijun and {Hao}, Yuexing and {Li}, Xiaomin},
        title = "{PersonaChatBench: Evaluating Chat Assistants with Diverse Simulated Users}",
      journal = {arXiv e-prints},
     keywords = {Computation and Language},
         year = 2026,
        month = oct,
          eid = {arXiv:2610.42060},
        pages = {arXiv:2610.42060},
archivePrefix = {arXiv},
       eprint = {2610.42060},
 primaryClass = {cs.CL}
}

All numbers on this page are from the PersonaChatBench paper (arXiv:2610.42060).