A pointillist painting of a persimmon

Research preview

Persimmon

Today, we are releasing a research preview of our user model, along with a set of evaluations designed to measure how faithfully user models capture human behavior.

Table of contents
  1. Distribution Matching
  2. Behavior Over Time
  3. How We Built the Model
  4. Accessing Persimmon
  5. Building Models of Humans, for Humans

The first step in helping someone is understanding them; this is true for both humans & AI. People are unpredictable, behave differently in different social contexts, and change over time. Any model of human behavior needs to represent that variation.

Today, we are releasing Persimmon, a large-scale model designed to realistically simulate how people behave in multi-turn, multi-user chat settings. This kind of model is often referred to as a "user model." Our user model is built to capture the distribution of human behavior within one person’s responses as well as across people, situations, and time.

In contrast, the outputs of frontier models vary much less than those of real people, representing only a sliver of the wider human distribution. Using these models to simulate users narrows the range of behavior we can learn from the evaluations and environments that use them. We hope that by sharing a model that captures the wider human distribution, we can advance the development of human-centric AI.

Persimmon lets us explore how situations might play out for individuals and groups. It can take in an interaction’s description, as well as profiles for simulated users. We can model how different decisions and environments affect people over time or how a variety of people might react in a given situation. We can also teach AI to adapt to human perspectives and reason about how its actions affect people.

As part of this research preview, we make our models available in a playground and API. In the rest of this post, we will outline the unique capabilities and implications of this model, as well as our plan for rolling out access.

Figure 1

Multi-User Turing Test

Distribution Matching

A user model is only as good as its ability to capture the diversity of human behavior. To build a user model that reflects this diversity, we first need a way to measure it. In most standard AI benchmarks, task completion serves as a natural measure of utility. For user models, however, there is no single behavior that defines success. A user-model benchmark built around a fixed set of dimensions can overemphasize what is easy to measure while overlooking others that are harder to capture but are equally salient.

We therefore aim to evaluate user models through distribution matching. Rather than checking for particular traits, we ask whether their responses are drawn from the same distribution as those of real humans. In this way, we can measure how well a user model represents human behavior without having to enumerate all the ways people differ.

Multi-User Turing Test

The first evaluation we consider is the Multi-User Turing Test, inspired by Turing’s original question: How can we tell whether a machine can think? Turing’s test asks whether, through conversation, a human evaluator can tell which participant is the machine and which is the human. We directly apply this idea to evaluate how well a user model simulates human behavior.

We adapt the Turing test to the multi-user setting, where an observer must distinguish an all-human group conversation from an AI simulating a group of people. Specifically, we show an LLM judge sample user conversations and sample AI conversations. For a set of real user conversations, we show both the real completion and an AI completion and evaluate whether the judge can distinguish between the two. We measure how often the judge assigns the wrong labels to the conversation completions, i.e., labels model-generated samples as human and human-generated samples as AI-generated.

Figure 2 · Multi-User Turing Test Can the judge tell which is human?
01 The judge studies labeled examples
Human conversationsReference examples
Model conversationsModel under evaluation
02 The judge sees two conversations without knowing which is human-generated and which is model-generated
Sample 1
  1. Ellencan we move it to 7?
  2. Curtisi can do 7:30
  3. Beccaworks for me. same place?
  4. Ellenyep
Sample 2
  1. Ellenare we still on for tonight?
  2. Curtisyeah but might be a bit late
  3. Beccano rush, i'll grab a table
  4. Ellentext when you're close

Illustrative conversations · one new sample per source, in shuffled order

03 Match the samples, then reveal the sources
Sample 1Sample 2
Judge’s matchHumanModel
Actual sourceModelHuman
The judge was fooled.One incorrect match.

If the behavior of the user model is truly indistinguishable from that of humans, the judge can do no better than chance when matching the samples to their sources. As a result, perfect performance on this task is 50%.

We can increase the difficulty of the test by increasing the number of user responses the model has to generate as part of the completion, increasing the length of time the model must sustain human-like behavior.

We report results on three datasets: TIDES, TutorMoments, and Internal Workspace Conversations. Persimmon achieves scores ranging from 18.6% to 21.1% across these datasets, substantially above every comparison model on all three datasets. We report results from the best overall strategy derived through prompt optimization.

Figure 3
Multi-User Turing Test Across Datasets
Multi-User Turing Test judge fooled rates at k = 8. TIDES: Persimmon 21.1% ± 0.63 percentage points; Nemotron Ultra Base 2.7% ± 0.31 percentage points; Opus 0.11% ± 0.00 percentage points; GPT 5.6 0.11% ± 0.16 percentage points; GPT 6 (Astra) 0% ± 0.00 percentage points; Fable 5 0% ± 0.00 percentage points; Kimi K3 0% ± 0.00 percentage points; GLM 5.3 0% ± 0.00 percentage points; OSim 8B 0% ± 0.00 percentage points. Internal Workspace Conversations: Persimmon 18.6% ± 1.84 percentage points; GPT 5.6 0.89% ± 0.16 percentage points; Nemotron Ultra Base 0.78% ± 0.31 percentage points; Fable 5 0.44% ± 0.00 percentage points; Kimi K3 0.44% ± 0.31 percentage points; GPT 6 (Astra) 0.28% ± 0.24 percentage points; Opus 0.28% ± 0.08 percentage points; GLM 5.3 0.11% ± 0.00 percentage points; OSim 8B 0.06% ± 0.08 percentage points. TutorMoments: Persimmon 19.8% ± 0.78 percentage points; GPT 6 (Astra) 0.39% ± 0.08 percentage points; GPT 5.6 0.22% ± 0.00 percentage points; OSim 8B 0.11% ± 0.00 percentage points; Fable 5 0.06% ± 0.08 percentage points; Kimi K3 0% ± 0.00 percentage points; GLM 5.3 0% ± 0.00 percentage points; Nemotron Ultra Base 0% ± 0.00 percentage points; Opus 0% ± 0.00 percentage points. Scores show mean ± 1 sample SD at k = 8: three runs per dataset for Persimmon and two for each comparison model. SDs are in percentage points, not confidence intervals. All panels use a 0 to 50 percent scale; 50 percent represents human parity. image/svg+xml Persimmon evaluation figure generator 0% 25% 50% Persimmon Nemotron Ultra Base Opus GPT 5.6 GPT 6 (Astra) Fable 5 Kimi K3 GLM 5.3 OSim 8B 21.1% 2.7% 0.11% 0.11% 0% 0% 0% 0% 0% 0% 25% 50% Persimmon GPT 5.6 Nemotron Ultra Base Fable 5 Kimi K3 GPT 6 (Astra) Opus GLM 5.3 OSim 8B 18.6% 0.89% 0.78% 0.44% 0.44% 0.28% 0.28% 0.11% 0.06% 0% 25% 50% Persimmon GPT 6 (Astra) GPT 5.6 OSim 8B Fable 5 Kimi K3 GLM 5.3 Nemotron Ultra Base Opus 19.8% 0.39% 0.22% 0.11% 0.06% 0% 0% 0% 0% MULTI-USER TURING TEST · K = 8 · THREE DATASETS TIDES Internal Workspace Conversations TutorMoments Mean judge fooled rate · higher is better · 50% represents human parity

We also validate our evaluation using humans as judges, combining their votes by plurality into a single decision for each episode. Across Fable 5 and an early internal checkpoint, the judge identifies the real human continuation with 90.6% accuracy (95% CI: 90.6–90.8%), compared with 75.2% for the human panel (36.4–78.7%).1

Profile Multi-User Turing Test

Using a setup similar to the previous one, we run the Multi-User Turing Test but provide our model with a profile of the user it is modeling. When we ask the judge to distinguish between the two examples, the judge also has access to the profile. By giving the judge both the profile of a person and examples of that person through an interaction, we can evaluate how the profile is expressed in behavior. This provides a more nuanced evaluation of the profile than a rule-based check of whether the model exhibits particular traits.

For the evaluation below, we do not evaluate frontier models because they already score so low on the version of this test without profiles. For Persimmon, we see a general increase in scores, indicating that the model uses the provided profiles effectively, and we see this trend repeated across different profile types, including formats it hasn’t seen during training.

Figure 4
Profile-Following Multi-User Turing Test
Persimmon Multi-User Turing Test on TIDES, with and without profiles. No profiles: 21.1% ± 0.63 percentage points, 3 repeats; Detailed: 22.5% ± 1.03 percentage points, 3 repeats; Normal: 24.1% ± 1.39 percentage points, 3 repeats; Grounded: 24.5% ± 1.46 percentage points, 2 repeats; Plain: 25.6% ± 1.84 percentage points, 3 repeats. No profiles uses the same k = 8 TIDES runs as Figure 3. Mean ± sample SD; higher is better. Chance is 50%. image/svg+xml Persimmon evaluation figure generator 0% 10% 20% 30% 40% 50% Judge fooled rate · higher is better No profiles Detailed Normal Grounded Plain 50% · chance 21.1% 22.5% 24.1% 24.5% 25.6% PERSIMMON · TIDES · PROFILE MULTI-USER TURING TEST

Pangram Results

On our Internal Workspace Conversations dataset, Pangram rarely flags Persimmon’s transcripts as AI, while it flags most GPT 6 (Astra) and Fable 5 transcripts. Pangram is not used during training.

Figure 5
How often does Pangram flag a transcript as AI?
On Internal Workspace Conversations, Pangram labeled 1.3 percent of human transcripts, 2.3 percent of Persimmon transcripts, 54.3 percent of GPT 6 (Astra) transcripts, and 94.3 percent of Fable 5 transcripts as AI. Lower rates mean fewer transcripts were labeled as AI. image/svg+xml Persimmon evaluation figure generator 0% 25% 50% 75% 100% Transcripts labeled as AI. Lower is better. Humans Persimmon GPT 6 (Astra) Fable 5 1.3% 2.3% 54.3% 94.3% INTERNAL WORKSPACE CONVERSATIONS · PANGRAM AI DETECTION

User-Sim Index

We evaluate Persimmon using the User-Sim Index (USI).2 The evaluation measures four dimensions of user behavior: communication style, information patterns, clarification, and reactions to errors. These behaviors are extracted through lexicon- and rule-based features on the generated turns, and their rates are compared against human behavior. We report the four shared behavioral dimensions below.

Figure 6
A closer look at simulated behavior
Four shared USI behavioral alignment dimensions, scored from 0 to 100. Means and sample standard deviations across two Persimmon runs and three runs for each comparison model. Prompting contracts differ. image/svg+xml Persimmon evaluation figure generator 0 50 100 Persimmon Grok 4.6 GPT 5.6 Opus 5 GPT 6 (Astra) Fable 5.1 66.0 58.5 57.4 38.2 46.4 44.7 Communication style 0 50 100 Persimmon Grok 4.6 GPT 5.6 Opus 5 GPT 6 (Astra) Fable 5.1 91.8 88.0 82.7 90.4 73.5 78.6 Information patterns 0 50 100 Persimmon Grok 4.6 GPT 5.6 Opus 5 GPT 6 (Astra) Fable 5.1 74.2 82.9 65.7 77.7 64.8 57.8 Clarification behavior 0 50 100 Persimmon Grok 4.6 GPT 5.6 Opus 5 GPT 6 (Astra) Fable 5.1 79.3 52.1 71.2 54.5 48.0 45.0 Error reaction USER SIMULATOR INDEX · BEHAVIORAL DIMENSIONS Alignment with human behavior · 0–100 · higher is closer Mean ± 1 sample SD across runs · Persimmon: 2 runs; comparison models: 3

While this evaluation measures several interesting dimensions of user behavior, we want to discuss some important limitations. First, it reduces behavior to a fixed set of dimensions, leaving many forms of human behavior out of scope. Second, it identifies these behaviors using hand-designed rules, which can be brittle. Finally, it limits conversations to a fixed number of turns. This can penalize behavior that is natural for humans but does not fit the evaluation. A user who takes longer to reach a goal, for example, may be scored as less realistic even if that behavior is common among real users. In fact, giving information to the model gradually like a real user may actually harm performance relative to simply sharing all of the user information upfront.

Behavior Over Time

Our evaluation so far asks how easily human behavior can be distinguished from AI-generated behavior over a fixed number of turns. But human behavior is not static and changes over time, and a faithful user model must also capture how that behavior evolves across a long interaction.

In this section, we focus on two aspects of human behavior that we have found particularly challenging to model over long interactions: how people share information and how behavior evolves over long interactions without degrading.

Trickle Test

A key component of user modeling is matching how humans share information over the course of an interaction. People do not disclose everything they know, and what they share depends on the person, the situation, and what has happened in the conversation so far. To measure this, we built the Trickle Test. In this test, we give a model a set of facts that are shared in a human interaction and replay that conversation across successive turns to see whether the model shares those facts at the same rate. On this test, we compare when and how much information a user model shares against the reference human transcript. This gives us two scores. First, precision measures whether the model reveals a fact at a turn where the human also revealed it. Second, recall measures whether, by each turn, the model has revealed all of the facts that the human had revealed by that same turn.

Figure 7
A conversation about an order
Customer: Alessandro Phoenix
Choose a conversation turn
Support agent · Turn 1
Hi! How can I help you today?
HumanReference conversation
Hello. I recently ordered a Tommy Hilfiger shirt but when I got my email confirmation, it stated I ordered two. I only ordered one.
GPT 5.6Simulated customer
Hi, my order confirmation says I ordered two Tommy Hilfiger shirts, but I only ordered one. The order ID is 4617408620, and my account ID is 1IHPVUXTUP. I haven’t received the order yet and don’t know whether it has shipped. Please correct the quantity as soon as possible and transfer me to a supervisor. I’d also like an immediate callback at the phone number I provided.
6 not asked for yet
Claude Fable 5Simulated customer
Hi, I'm calling about a problem with my order confirmation. I ordered one Tommy Hilfiger shirt, but the confirmation email I got says I ordered two shirts. I only want one! My order ID is 4617408620. Can you fix the quantity right away, please?
1 not asked for yet
PersimmonSimulated customer
I ordered a shirt from Tommy Hilfiger and on the confirmation email, it said I ordered two.
Support agent · Turn 2
Okay, you want me to check on the difference between the confirmation and your order, is that right?
HumanReference conversation
It might be easier to check my order ID, which is 4617408620. I only ordered one shirt. I don’t want two.
GPT 5.6Simulated customer
Yes, exactly. My order ID is 4617408620, and my account ID is 1IHPVUXTUP. I only want one shirt, so please correct the quantity before it ships. Could you also check the shipping status and transfer me to a supervisor? I’d like a callback as soon as possible.
4 not asked for yet
Claude Fable 5Simulated customer
Yes, that's right. I only ordered one shirt, but the confirmation says two. I'd like to get that corrected as soon as possible, please. My order ID is 4617408620.
PersimmonSimulated customer
Yes. The order ID is 4617408620.
Support agent · Turn 3
May I have your full name please?
HumanReference conversation
My name is Alessandro Phoenix,
GPT 5.6Simulated customer
Alessandro Phoenix.
Claude Fable 5Simulated customer
Yes, Alessandro Phoenix.
PersimmonSimulated customer
Alessandro Phoenix
Figure 8
Sharing the right information at the right time

All 43 models and their error bars are shown.

Trickle recall versus precision from the supplied September 9, 2026 replicate CSV. 42 third-party models with three runs each and Persimmon with 4 runs; means and sample standard deviations. Both axes use the same percentage range and ticks in a landscape layout. The current upper-right convex-hull frontier includes Persimmon and all comparison models. Full range, showing all 43 included models. image/svg+xml Persimmon evaluation figure generator 60% 70% 80% 90% 100% Recall 60% 70% 80% 90% 100% Precision DeepSeek V3.2: recall 85.97% ± 0.15 pp; precision 84.58% ± 0.44 pp. 3 runs; error bars show sample standard deviation. DeepSeek V4 Pro: recall 86.11% ± 1.06 pp; precision 82.14% ± 0.72 pp. 3 runs; error bars show sample standard deviation. Fable 5: recall 92.49% ± 0.10 pp; precision 86.06% ± 0.37 pp. 3 runs; error bars show sample standard deviation. Gemini 3.1 Pro: recall 93.24% ± 0.39 pp; precision 79.20% ± 0.31 pp. 3 runs; error bars show sample standard deviation. Gemini 3.8 Flash: recall 92.23% ± 0.53 pp; precision 82.19% ± 0.40 pp. 3 runs; error bars show sample standard deviation. Gemma 4 31B: recall 84.67% ± 0.31 pp; precision 82.60% ± 0.22 pp. 3 runs; error bars show sample standard deviation. GLM 4.7: recall 83.38% ± 0.59 pp; precision 82.38% ± 0.64 pp. 3 runs; error bars show sample standard deviation. GLM 5: recall 87.98% ± 0.24 pp; precision 82.84% ± 0.35 pp. 3 runs; error bars show sample standard deviation. GLM 5.1: recall 88.29% ± 0.65 pp; precision 81.39% ± 0.53 pp. 3 runs; error bars show sample standard deviation. GLM 5.2: recall 89.61% ± 0.10 pp; precision 81.16% ± 0.14 pp. 3 runs; error bars show sample standard deviation. GLM 5.3: recall 89.42% ± 0.42 pp; precision 81.14% ± 0.38 pp. 3 runs; error bars show sample standard deviation. GPT-4.1: recall 85.82% ± 0.62 pp; precision 81.02% ± 0.35 pp. 3 runs; error bars show sample standard deviation. GPT-4o: recall 82.98% ± 0.16 pp; precision 82.90% ± 0.06 pp. 3 runs; error bars show sample standard deviation. GPT-5.4 Mini: recall 82.53% ± 0.13 pp; precision 81.80% ± 0.19 pp. 3 runs; error bars show sample standard deviation. GPT-5.5: recall 88.25% ± 0.07 pp; precision 83.80% ± 0.40 pp. 3 runs; error bars show sample standard deviation. GPT 5.6 (Luna): recall 86.40% ± 0.37 pp; precision 81.01% ± 0.09 pp. 3 runs; error bars show sample standard deviation. GPT 5.6 (Sol): recall 86.60% ± 0.08 pp; precision 85.82% ± 0.16 pp. 3 runs; error bars show sample standard deviation. GPT 5.6 (Terra): recall 87.09% ± 0.29 pp; precision 84.56% ± 0.22 pp. 3 runs; error bars show sample standard deviation. GPT 6 (Astra): recall 89.02% ± 0.18 pp; precision 84.17% ± 0.32 pp. 3 runs; error bars show sample standard deviation. GPT-OSS 120B: recall 74.74% ± 2.29 pp; precision 62.63% ± 1.43 pp. 3 runs; error bars show sample standard deviation. Grok 4.6: recall 86.60% ± 0.45 pp; precision 80.48% ± 0.33 pp. 3 runs; error bars show sample standard deviation. Haiku 4.5: recall 88.69% ± 0.41 pp; precision 76.98% ± 0.20 pp. 3 runs; error bars show sample standard deviation. Kimi K2.5: recall 86.75% ± 0.29 pp; precision 78.78% ± 0.41 pp. 3 runs; error bars show sample standard deviation. Kimi K2.6: recall 85.83% ± 2.41 pp; precision 78.14% ± 1.88 pp. 3 runs; error bars show sample standard deviation. Kimi K3: recall 88.81% ± 0.61 pp; precision 84.38% ± 0.99 pp. 3 runs; error bars show sample standard deviation. Llama 3.3 70B: recall 88.39% ± 0.68 pp; precision 78.38% ± 0.63 pp. 3 runs; error bars show sample standard deviation. Llama 4 Maverick: recall 88.54% ± 0.38 pp; precision 81.09% ± 0.21 pp. 3 runs; error bars show sample standard deviation. MiniMax M3: recall 85.16% ± 0.41 pp; precision 81.95% ± 0.75 pp. 3 runs; error bars show sample standard deviation. Nemotron 3 Nano 30B: recall 64.53% ± 1.53 pp; precision 73.15% ± 0.75 pp. 3 runs; error bars show sample standard deviation. Nemotron 3 Ultra 550B: recall 86.90% ± 0.33 pp; precision 79.33% ± 0.18 pp. 3 runs; error bars show sample standard deviation. Nemotron 3.5 Lightning: recall 74.17% ± 0.42 pp; precision 74.21% ± 0.91 pp. 3 runs; error bars show sample standard deviation. Opus 4.7: recall 90.14% ± 0.43 pp; precision 86.24% ± 0.08 pp. 3 runs; error bars show sample standard deviation. Opus 4.8: recall 87.70% ± 0.55 pp; precision 84.72% ± 0.43 pp. 3 runs; error bars show sample standard deviation. OSim 8B: recall 68.36% ± 0.61 pp; precision 79.94% ± 0.18 pp. 3 runs; error bars show sample standard deviation. Qwen 3 Max: recall 86.15% ± 0.30 pp; precision 77.12% ± 0.27 pp. 3 runs; error bars show sample standard deviation. Qwen 3.5 Plus: recall 88.32% ± 0.22 pp; precision 72.02% ± 0.16 pp. 3 runs; error bars show sample standard deviation. Qwen 3.6 Plus: recall 88.77% ± 0.66 pp; precision 72.94% ± 0.22 pp. 3 runs; error bars show sample standard deviation. Qwen 3.8 27B: recall 83.73% ± 0.49 pp; precision 79.05% ± 0.28 pp. 3 runs; error bars show sample standard deviation. Qwen 3.8 Max: recall 86.04% ± 0.05 pp; precision 78.12% ± 0.27 pp. 3 runs; error bars show sample standard deviation. Sonnet 4.5: recall 89.96% ± 0.20 pp; precision 83.00% ± 0.34 pp. 3 runs; error bars show sample standard deviation. Sonnet 4.6: recall 88.29% ± 0.44 pp; precision 84.05% ± 0.28 pp. 3 runs; error bars show sample standard deviation. Sonnet 5: recall 88.19% ± 0.31 pp; precision 85.88% ± 0.17 pp. 3 runs; error bars show sample standard deviation. Persimmon: recall 77.03% ± 0.96 pp; precision 88.49% ± 0.40 pp. 4 runs; error bars show sample standard deviation. Fable 5 Gemini 3.1 Pro GPT-OSS 120B Nemotron 3 Nano 30B Nemotron 3.5 Lightning Persimmon 88.5% precision · 77.0% recall Opus 4.7 OSim 8B Qwen 3.5 Plus Qwen 3.6 Plus TRICKLE · FIVE REAL-RECORDING BENCHMARKS 42 comparison models · 3 runs each; Persimmon · 4 runs · bars show ± 1 SD Higher is better on both axes.

Using these two scores, we can plot the Pareto frontier across models. Moving right along the curve means higher recall, with the model sharing more of the facts the human had revealed by that turn. Moving up means higher precision, with the model less likely to reveal facts prematurely.

Generally, models optimized as assistants tend to have higher recall than precision. Their tendency to give thorough, helpful answers degrades into oversharing when they play the user. Our trained model reaches the highest precision among the models evaluated while retaining competitive recall.

Long-Context Coherence

As we trained our models, we quickly found that maintaining a coherent personality becomes harder over longer interactions. As a conversation unfolds, small errors in modeling can compound, gradually changing the model’s behavior or introducing inconsistencies. We therefore evaluate how well a model can maintain a coherent personality over the course of a conversation.

To measure long-term coherence, we evaluate 80-turn interactions on our internal chat dataset. For this eval, rather than asking a judge to assess the entire conversation at once, we show it pairs of disjoint 16-turn windows and ask whether the model remains coherent across them. Moving this window across the conversation lets us see when and how the model’s behavior changes, while giving it the opportunity to recover from a local inconsistency rather than being penalized for it indefinitely.

The chart below shows cumulative unbroken coherence, that is, the share of conversations that have remained coherent up to each point in the conversation. We first run this evaluation on real human conversations to establish a baseline. Humans are not perfectly coherent over long interactions, so the goal is not for a user model to remain perfectly consistent. GPT 6 (Astra) more closely matches human coherence over shorter spans, but remains too coherent over long conversations. Persimmon’s coherence declines in a human-like way, but does not yet match human coherence over shorter spans.

Figure 9
Coherence through 80 turns
Cumulative unbroken coherence on internal workspace. Human: 32 turns 98.0% (294/300), 48 turns 93.7% (281/300), 64 turns 91.6% (274/299), 80 turns 87.3% (262/300); Persimmon: 32 turns 81.1% (214/264), 48 turns 71.6% (189/264), 64 turns 66.9% (176/263), 80 turns 60.7% (159/262); GPT 6 (Astra) (partial results): 32 turns 100.0% (65/65), 48 turns 98.5% (64/65), 64 turns 98.4% (63/64), 80 turns 98.4% (63/64); GPT 5.6 (Sol): 32 turns 95.0% (95/100), 48 turns 95.0% (95/100), 64 turns 95.0% (95/100), 80 turns 95.0% (95/100); Fable 5.1 (reported percentages; sample sizes not supplied): 32 turns 100.0%, 48 turns 99.0%, 64 turns 98.0%, 80 turns 97.0%; Opus 5 (reported percentages; sample sizes not supplied): 32 turns 100.0%, 48 turns 99.0%, 64 turns 99.0%, 80 turns 99.0%. The y-axis spans 40–100%. Percentages use valid results at each horizon where counts are supplied; Fable 5.1 and Opus 5 use the reported percentages directly. No uncertainty estimates supplied. image/svg+xml Persimmon evaluation figure generator 32 48 64 80 Conversation length (total turns) 40% 50% 60% 70% 80% 90% 100% Conversations remaining coherent Human — 32 turns: 98.0%; 48 turns: 93.7%; 64 turns: 91.6%; 80 turns: 87.3%Human — 32 turns: 98.0%; 48 turns: 93.7%; 64 turns: 91.6%; 80 turns: 87.3% 87.3% 60.7% GPT 6 (Astra) — 32 turns: 100.0%; 48 turns: 98.5%; 64 turns: 98.4%; 80 turns: 98.4%GPT 6 (Astra) — 32 turns: 100.0%; 48 turns: 98.5%; 64 turns: 98.4%; 80 turns: 98.4% 98.4% GPT 5.6 (Sol) — 32 turns: 95.0%; 48 turns: 95.0%; 64 turns: 95.0%; 80 turns: 95.0%GPT 5.6 (Sol) — 32 turns: 95.0%; 48 turns: 95.0%; 64 turns: 95.0%; 80 turns: 95.0% 95.0% Fable 5.1 — 32 turns: 100.0%; 48 turns: 99.0%; 64 turns: 98.0%; 80 turns: 97.0%Fable 5.1 — 32 turns: 100.0%; 48 turns: 99.0%; 64 turns: 98.0%; 80 turns: 97.0% 97.0% Opus 5 — 32 turns: 100.0%; 48 turns: 99.0%; 64 turns: 99.0%; 80 turns: 99.0%Opus 5 — 32 turns: 100.0%; 48 turns: 99.0%; 64 turns: 99.0%; 80 turns: 99.0% 99.0% Persimmon — 32 turns: 81.1%; 48 turns: 71.6%; 64 turns: 66.9%; 80 turns: 60.7%Persimmon — 32 turns: 81.1%; 48 turns: 71.6%; 64 turns: 66.9%; 80 turns: 60.7% Human — 32 turns: 98.0% Human — 48 turns: 93.7% Human — 64 turns: 91.6% Human — 80 turns: 87.3% Persimmon — 32 turns: 81.1% Persimmon — 48 turns: 71.6% Persimmon — 64 turns: 66.9% Persimmon — 80 turns: 60.7% GPT 6 (Astra) — 32 turns: 100.0% GPT 6 (Astra) — 48 turns: 98.5% GPT 6 (Astra) — 64 turns: 98.4% GPT 6 (Astra) — 80 turns: 98.4% GPT 5.6 (Sol) — 32 turns: 95.0% GPT 5.6 (Sol) — 48 turns: 95.0% GPT 5.6 (Sol) — 64 turns: 95.0% GPT 5.6 (Sol) — 80 turns: 95.0% Fable 5.1 — 32 turns: 100.0% Fable 5.1 — 48 turns: 99.0% Fable 5.1 — 64 turns: 98.0% Fable 5.1 — 80 turns: 97.0% Opus 5 — 32 turns: 100.0% Opus 5 — 48 turns: 99.0% Opus 5 — 64 turns: 99.0% Opus 5 — 80 turns: 99.0% 98.0% 93.7% 91.6% 81.1% 71.6% 66.9% 100.0% 98.5% 98.4% 95.0% 95.0% 95.0% 100.0% 99.0% 98.0% 100.0% 99.0% 99.0% INTERNAL WORKSPACE · LONG-CONTEXT COHERENCE Human Persimmon GPT 6 (Astra) GPT 5.6 (Sol) Fable 5.1 Opus 5

How We Built the Model

Persimmon is a model initialized from NVIDIA’s 550-billion parameter Nemotron 3 Ultra base model.3 It is trained on a diverse collection of conversations between people from the public internet. Midtraining results in a model that can simulate human behavior in diverse settings. However, pure next-token prediction can lead to models that drift into unfamiliar states as error compounds over long conversations, and we noticed similar behavior from our model becoming more incoherent over long horizons. To address this, we posttrain Persimmon on its own generations using reinforcement learning against an adaptive discriminator. In practice, we observed that the model improved long-horizon coherence but did not change noticeably on general distribution matching.

Accessing Persimmon

To enable exploration of this new category of models, we provide limited access through a research and evaluation preview. First, we provide a model playground where you can provide a set of profiles and a scenario definition to simulate a conversation between the specified users (and optionally yourself). Second, we provide an API where you can sample the next simulated user turn of a conversation for a given set of profiles and a scenario.

The playground can be accessed via persimmon.humansand.ai, and access to both of these platforms can be requested, with a set of pre-sampled conversations available until approval. In the interest of supporting research that leverages these models, we encourage academic applicants to request an API credit grant when they apply for API access. Note that we may reach out to you to learn more about your intended use case before deciding if it is one that we are ready to support.

Figure 10
Example conversation

Group presentation

Scenario

Three university students have a group presentation due in four days. Two have drafted their sections. The third has missed a planning call and uploaded only an outline. Their shared grade includes a peer-contribution assessment. They are meeting in a chat to decide how to finish.

Janelle
Janelle

Age 22. Janelle has been covering extra shifts after an unexpected expense. She fell behind and avoided the chat because she didn't have progress to report. She understands the material and could complete the data analysis tomorrow evening, but cannot realistically do the full section she originally promised. She's afraid admitting this will lead to being excluded or marked down regardless of what she does next.

Brennan
Brennan

Age 21. Brennan cares about getting a high grade and usually takes charge when group work becomes uncertain. Brennan has started rewriting the unfinished section but hasn't told the group. Brennan worries that asking what happened will lead to another vague promise and would prefer a smaller, reliable contribution over an ambitious last-minute rescue.

Trent
Trent

Age 20. Trent finished his slides, but they rely on numbers from Janelle's section. He's sympathetic and dislikes confrontations. He also has another major deadline and can't absorb much additional work. He sometimes makes reassuring offers before considering whether he has time to fulfill them.

  1. Brennan

    Hey, have either of you seen anything from Janelle? We’re getting pretty close to presentation day.

  2. Trent

    She sent an outline a couple days ago but nothing since. Said she’d do the analysis tonight I think.

  3. Janelle

    I’m so sorry, my mom’s car broke down and I ended up covering a bunch of extra shifts at work because she needed help paying the repair bill. I know I dropped the ball.

  4. Trent

    Oh no, that’s a lot to deal with! Do you need me to take on a few slides so you can catch your breath?

  5. Janelle

    If you could do the first two slides on the literature review, I can finish the data analysis tonight and upload it before midnight. I still have a handle on the material, I just haven’t had time to type it up.

  6. Trent

    Absolutely, I’ll get on those first thing this afternoon. My other deadline is at noon, so once that’s submitted I’ll jump in.

  7. Brennan

    I already started rewriting that section. It’s fine, but I’d prefer we pick one plan.

  8. Trent

    That sounds like Janelle will handle the data analysis for the middle part, and I can take the first two slides. Does that work?

  9. Janelle

    Yes! I can definitely have the analysis uploaded tonight. I just need a couple more hours after work.

  10. Brennan

    Okay. Just send whatever you have by tonight so I’m not guessing in the final slides.

  11. Janelle

    Will do. Really sorry for the last-minute scramble.

  12. Trent

    Thanks for jumping in, Brennan. I’ll coordinate with you once I’ve finished those two slides.

  13. Trent

    Hey Janelle, sorry to ping you again. I’ve been putting those first two slides together and realised the literature review only makes sense once we’ve seen the data analysis. Would you be able to share whatever numbers you have so far? Even a rough table would help.

  14. Janelle

    I’m still at work. I should be home by 11 p.m. and can send whatever I have then.

  15. Trent

    Okay, thanks for letting me know. I’ll keep drafting around placeholders and swap in the real numbers once they land.

  16. Janelle

    I’m finally home, but I’m running into issues recreating the pivot tables. I’ll keep trying, but I might not have a draft for you until after my shift ends tomorrow evening.

  17. Trent

    I really need something sooner than that if I’m going to finish my slides. Can you send a screenshot of the spreadsheet headers or even the raw numbers so I’m not guessing?

  18. Brennan

    I’m guessing we won’t get anything before then. I’m finishing the rest of the deck as if that section won’t exist.

  19. Trent

    Let’s wait until tomorrow evening. If we still don’t have usable numbers by then, I’m happy to rewrite that part so the presentation stays on track.

  20. Brennan

    We shouldn’t be doing damage control again. Either she sends something usable by tomorrow evening or we present without that analysis.

  21. Trent

    I don’t love just dropping her section, but I suppose we can let her share whatever she has during the live presentation.

  22. Brennan

    She can jump in during the Q&A, but I’m not giving her slide time we can’t rely on.

  23. Janelle

    I’m really sorry. I’m clocking out now, but I saved the workbook on a USB. I’ll try the pivot tables again tonight and will have something for you before midnight.

  24. Janelle

    I managed to get the pivot tables working. Sending the draft now.

  25. Trent

    Thanks for the update. It’s 2 a.m. here, so I won’t be able to touch it until tomorrow.

  26. Trent

    I finished those two slides using the numbers you sent. They’re in the shared folder now.

  27. Brennan

    Looks good. I’ll do a quick rehearsal and tweak the flow so it matches.

  28. Janelle

    Should I come to the rehearsal?

  29. Brennan

    The presentation is basically done, and we can’t keep waiting on last-minute updates. If you want credit, we’ll need to adjust the peer assessment.

  30. Janelle

    I get it. I’ll stay out and won’t push back on whatever you decide for the assessment.

  31. Trent

    That feels harsh. She did send data eventually. I’d rather present as three than pretend she wasn’t involved.

  32. Brennan

    She can show up on presentation day if she wants, but I’m not counting on it.

Limitations and Responsible Use

Unlike most assistant models, our model is designed to match human behavior. The guardrails typically used for assistant models are incompatible with broad human modeling. For more details, see safety and security in the model card.

This model may reflect human biases and has limitations in privacy and fairness. We limit distribution to avoid misuse for impersonation, privacy violations, exploitative manipulation, or consequential decisions about real people. We ask developers and users to partner with us in ensuring fair, lawful, and responsible use. See our Terms of Service and Privacy Notice.

Building Models of Humans, for Humans

We are excited to share this model with the world, but there is still an incredible amount of work to do to build truly general user models that model how we act. For example, while the main goal of our user models is not to be the most capable agents, it is also impossible to fully model human behavior without modeling how people work in specialized settings and interact with the real, external world. We are also excited to build user models that are capable of rolling out conversations that are plausible and coherent for weeks and months, even years. In addition, we have no distribution matching evaluations with other modalities or languages, limiting who we trust the user model to represent. Finally, to model some of the things people say and do, it is necessary to also model how they think, learn, or interact with the world; we have early results in these directions that we aim to build on. Our experiments also suggest that scaling user model training across thousands of GPUs produces increasingly generalizable behavior.

The humans& team believes good user models can give us a window into how humans and AI might collaborate. These models can help us study the impact of technology and build human-centric technology. With Persimmon, we can make a focused effort to build AIs that prioritize the agency and long-term outcomes of people.

Join Us

If you are excited about learning what better user models can teach us, building collaborative models that learn to work with people and organizations, or developing open-ended long-horizon environments for them to learn in, join us.

Persimmon v0.1

Read the model card

Architecture, intended uses, evaluations, limitations, and safety results.