The paper addresses a genuine weakness in agent benchmarks: LLM user simulators tend to be overly cooperative, homogeneous, and willing to disclose all relevant information, which can turn a difficult interaction into an artificially easy test. It introduces Persona Policies (PPol), a layer that leaves task facts, tools, and rewards unchanged while adding a role-play policy governing how the simulator communicates. Instead of manually writing profiles, PPol evolves a Python program that receives a task context, behavioral axes, and a population size N. A first LLM call creates archetypes and assigns axes; later calls expand them into 150-250-word instructions with operational rules such as incremental disclosure, fragmented messages, skepticism, refusal to repeat identifiers, or reactions to assistant errors.
Search uses OpenEvolve and MAP-Elites. Gemini 3 Flash generates personas, reflection, and code edits; the evaluated user backends are DeepSeek-V3.1, GPT-5.4-Mini, and Qwen3-Next-80B-A3B-Instruct; Gemma 4 31B is the assistant and supports the environment interface and checks. Every dialogue is reduced to 19 regex/statistical features grouped into communication style, information disclosure, clarification, and error reaction. A Random Forest trained on human conversations and default-simulator trajectories outputs P(human). A second objective computes two-sided Chamfer coverage between generated-persona and human point clouds. Validation and test weight the two components equally. During search, a curriculum increases N from 5 to 8 to 10 and gradually raises the coverage weight.
Experiments use retail and airline in tau2-bench, with 74/40 train/test tasks in retail and 30/20 in airline. The human reference is TAU-USI: 495 conversations from 451 participants over 165 tasks, with three independent conversations per task. Search evaluates five tasks per call, holds out 20% of train tasks for validation, and allows up to 70 iterations. At test time, every persona condition creates ten personas per task, up to 400 retail and 200 airline rollouts. Against the default simulator, direct prompting, and the unevolved generator, evolved PPol has the highest paper-defined fitness in every reported block. In retail-Qwen, score rises from 0.077 to 0.693 and diagnostic USI from 35.1% to 76.5%; in airline-GPT-5.4-Mini, from 0.243 to 0.574 and 54.3% to 72.5%; in the combined DeepSeek block, from 0.135 to 0.614 and 57.1% to 74.5%. The headline 33-62 percentage-point improvements are gains on the authors' composite proxy, not task success or an independent realism scale.
The human validation supplies useful external evidence, but its scope is narrower than the headline. Twenty Prolific participants were recruited at $20/hour under an IRB exemption; four were excluded for non-completion or failure on a deliberately obvious bot control. The final sample has 16 annotators, 87 unique conversations, and 159 ratings. The figure reconstructs as 52/65 human traces, 41/51 PPol traces, and 20/43 default-simulator traces labelled human: 80.0%, 80.4%, and 46.5%. The reported Welch comparison of PPol and baseline reproduces exactly from these counts, t=3.556 and p=0.000637. The paper also reports point-biserial r=0.49 between P(human) and binary judgments. However, the test treats ratings as independent even though each annotator contributes multiple judgments and some conversations receive repeated ratings; it uses neither mixed effects nor clustered errors. Nor is there an equivalence test between PPol and humans: similar percentages do not prove equivalence, and exact binomial intervals are broad. Assignment data, transcript scores, and analysis code are not released.
The agent-training case study fine-tunes Gemma 4 31B with LoRA on successful trajectories. In retail, adding PPol raises mean OOD success from 0.213 to 0.250, a 0.037 absolute and 17% relative gain. The largest change is Confusion, 0.275 to 0.400; Incoherent and Impatient do not improve. Airline changes only from 0.400 to 0.413, and the combined-domain model from 0.317 to 0.341. The abstract's +17% is retail-specific. With 40 and 20 test tasks, no repeated training seeds, intervals, or tests, the stability of small differences is unknown. The manuscript is also inconsistent: one appendix says 32 optimizer steps and another 48; released YAMLs use 48. The appendix claims lowest-validation-loss checkpoint selection, but code evaluates every eight steps, saves only at step 48, and does not configure automatic best-model loading. Equal training volume is not enforced either: the baseline collector produces one rollout per task, PPol can produce ten, and the builder merges every successful row without balancing.
The central metric concern is directly verifiable in code. Chamfer distance operates on all 19 raw features without standardization even though counts and rates are mixed. In the released human corpus, opening_length and words_per_turn account for 99.847% of total geometric variance in retail and 99.827% in airline; opening_length alone contributes 86.301% and 72.864%. The advertised broad 19-behavior coverage objective is therefore dominated by two length measures. Random Forest and Chamfer use the same 19-feature vocabulary, and evolution receives feedback from these metrics, so the system can optimize the proxy while missing unmeasured semantic or psychological dimensions. Human evaluation partly mitigates this concern only for DeepSeek on retail.
The repository is valuable as an implementation: it exposes the generator, feature extractor, discriminator, fitness, OpenEvolve integration, benchmark, injection layer, and SFT pipeline; all Python compiles and all five tests pass. It is not a result-reproduction package. Baseline fingerprints, classifiers, evolved checkpoints, raw responses, logs, curves, benchmark outputs, human-study rows, SFT datasets, adapters, and table-generation scripts are absent or gitignored. Dependencies use open lower bounds, tau2 and tau-trait remain placeholder URLs, LLaMA-Factory has no pinned commit, and hosted model aliases are mutable. There is no root license. The repository also directly commits a 14 MB JSON containing 495 human conversations matching TAU-USI's structure and counts without carrying its visible terms. The official source is gated, CC BY-NC 4.0, research-only, prohibits LLM training, requires attribution, and requires its terms to accompany redistribution. That is a material provenance/compliance gap, not a legal conclusion.
A balanced reading is that PPol contributes an interesting, inspectable way to turn static profiles into operational conversational policies. The evidence shows large improvements on its designed proxy, a compelling but statistically under-modelled human signal in one condition, and promising but small and uneven robustness gains outside retail. It does not establish general human realism, equivalence to real users, or stable cross-domain robustness. Stronger claims require normalized and external metrics, clustered human-study analysis, multiple SFT seeds, complete artifacts, pinned versions, and data distribution that preserves the source terms.