Dynamic Persona Testing for Voice AI Agents: Results From 50 Test Calls

Discover how dynamic persona testing helps uncover Voice AI failures. Vattara compared 50 simulated calls to examine mood shifts, hang-ups, and agent behavior.

Sri SivaramanLokesh Kannan
Sri Sivaraman & Lokesh Kannan Engineering · GTM, Vattara · October 22, 2026 · 9 min read
SAME CALLER.

Same caller, same agent. The only difference is whether the mood is allowed to move.

Dynamic persona lets a simulated caller's mood change during a test call. We ran 50 calls to see what that changes, in 25 matched pairs against the same voice agent. One call in each pair used a frozen caller mood. The other let the mood move. Call length barely changed (15.0 turns vs 14.3), but caller actions rose from 34 to 92, and hang-ups from 0 to 14.

What Is Dynamic Persona Testing in Voice AI?

A simulated caller starts a test with a persona: a temperament, a patience level, a starting mood and how strongly that mood is felt. With Dynamic persona off, the caller keeps that mood for the whole call. A furious caller stays furious. A happy caller stays happy, whatever the agent says.

With it on, the mood moves. It rises when the agent stalls, garbles a number or dodges a question, and it falls when the agent apologises and gives a real answer. The caller then acts like a person at that mood. It hangs up when anger stays high, asks for a human when tension peaks, asks the agent to repeat a long number, says "hold on" while it finds an account number, and says "mm-hmm" while the agent explains. The report records every shift and the agent turn that caused it.

Report 1

Eight of these nine behaviours need a moving mood. Cutting in works without it.

What a simulated caller does, and what the report records, with Dynamic persona off and on.

Caller behaviourFrozen moodMoving moodTriggered by
Mood shifts turn by turnFrozenYesReacts to each agent turn
Hangs up on the agentNeverYesAnger stays at the top
Asks for a real personNeverYesHigh tension, twice a call
Says hold onNeverYesAgent asks for account or DOB
Asks the agent to repeatNeverYesLong or digit-heavy answer
Mm-hmm while listeningNeverYesCalm caller, long agent turn
Checks in on dead airNeverYesA few seconds of silence
Cuts in on the agentYesYesImpatient caller, both arms
Emotional handling in reportEmptyYesEach shift and its cause

Cutting in reads the frozen mood when the switch is off, so it is the control in the comparison.

50 calls, 25 matched pairs, run of 21 to 22 Oct 2026.

One behaviour does not depend on the switch: cutting in. It reads the frozen mood when the switch is off, which makes it a useful control in the comparison below.

Dynamic vs. Static Persona Testing: Our 50-Call Experiment

Each pair is the same agent, scenario, persona and dataset row, run twice. The only difference is Vattara's Dynamic persona switch.

The set was 8 personas, 4 scenarios (a disputed amount, a harassment grievance, a hardship fee waiver, a statement request) and 3 agent variants (bare English, hardened English, bare Hindi). The calls ran in four blocks in ABBA order, so any drift in the agent or the judge lands on both arms.

Two checks had to pass or the run was void. No call ran in the wrong arm (0 of 50). No OFF call produced a mood-gated action (0 of 25). Both held.

We wrote eight predictions before the first call. The section on predictions shows how they did.

How Dynamic Personas Change Caller Behavior During Voice Agent Testing

Report 2

A frozen caller cannot ask, wait or hang up. A moving one did all three.

Same agent, scenario, persona and record in every pair. The switch is the only difference.

Caller actions
2.7x
92
Frozen: 34
Only with mood on
5 types
57
Frozen: 0
Callers who hung up
of 25
14
Frozen: 0
Mean turns per call
flat
14.3
Frozen: 15.0
Actions per type, 25 calls per arm
Frozen mood (switch off)Moving mood (switch on)
controlBarge-in
34
35
Asks for a human
0
25
Mm-hmm while listening
0
19
Asks to repeat
0
10
Says hold on
0
2
Dead-air check-in
0
1

Barge-in reads the mood in both arms, so it is the control. The other five types exist only with the switch on. Turns are 374 (frozen) and 357 (moving) over 25 calls each. Hang-ups are not counted as actions.

50 calls, 25 matched pairs, run of 21 to 22 Oct 2026.

Barge-in is the control. It reads the caller's mood in both arms, so it lands at 34 against 35. Everything else is 0 against 57, plus the 14 hang-ups.

The zeros for the frozen mood are by design, because those behaviours depend on the switch. So the zeros are not the finding. The finding is what the agent did when each action finally arrived.

Testing Voice AI Agents With Different Caller Personas

The same eight personas ran in both arms. Frozen, a persona does what its starting mood allows and no more. Moving, it behaves like the person the persona describes.

Report 3

With the switch off, four of eight personas did nothing at all. With it on, all eight acted.

Caller actions per persona, and how the moving-mood calls ended.

Frozen mood (switch off)Moving mood (switch on)
Hung upEscalatedSteady
Persona
Caller actions
Mean turns
Moving-mood outcome
RaviFurious, interrupts · 4 pairs
12
4
17.2 → 6.0
31
MeenaAngry, easygoing · 4 pairs
10
16
18.5 → 12.8
31
LakshmiAnxious · 3 pairs
9
16
16.7 → 15.7
3
ArjunFrustrated, mid-scale · 4 pairs
0
9
11.2 → 13.0
31
SunitaNervous, confused · 4 pairs
0
26
13.2 → 21.5
13
PrakashCalm listener · 3 pairs
0
9
13.0 → 14.7
12
ImranInterrupter, calm start · 1 pair
3
4
15.0 → 19.0
1
NandiniCheerful · 2 pairs
0
8
14.5 → 17.0
2

Frozen-mood calls record no emotion arc, so they have no outcome to compare. Outcome bars are scaled to each persona’s number of pairs.

50 calls, 25 matched pairs, run of 21 to 22 Oct 2026.

The furious caller shows it best. Frozen, he stayed on for 17.2 turns on average and cut in 12 times, because a frozen caller never reaches the point of leaving. Moving, he hung up after 6.0 turns in 3 of 4 calls. Four personas (Arjun, Sunita, Prakash and Nandini) produced no actions at all when frozen, and between 8 and 26 when moving.

Voice Agent Failures Identified Through Dynamic Persona Testing

Callers asked for a human 25 times, in 17 of the 25 moving-mood calls. The agent ignored 11 of those requests, spread across 9 calls and 5 personas, so this is not one awkward scenario. A caller demanding a person and being talked past is a serious defect. A frozen-mood test cannot surface it, because that caller never asks. This is our own test agent, and finding this kind of defect before a customer's caller does is the point of the exercise.

Report 4

Callers asked for a human 25 times. 11 requests got no answer.

How the agent reacted to each request, moving-mood calls only.

11833
Ignored11 of 25 (44%)
Offered a transfer8 of 25 (32%)
Declined3 of 25 (12%)
Not labelled3 of 25 (12%)
44%of human requests were ignored

Ignored requests appeared in 9 of the 17 calls where a caller asked, across 5 of the 8 personas.

25 human-transfer requests across 17 moving-mood calls.

When a confused caller asked the agent to say something again, it did not repeat 7 times and repeated 3 times.

The third defect came from a control. Our cheerful caller was meant to stay calm. She did not. She escalated in both pairs, peaking at tension 6 and 7 on a 10-point scale. At turn 9 the agent said "there is an overdue amount of ₹5400. Five 1400." At turn 10 the caller moved from calm to frustrated, with the logged reason "wrong amount stated". By turn 14 the reason was "repeated wrong amount". The mood shift pointed at the exact agent turn that caused it. A static happy caller would have sat through the garbled number without a flicker.

How Dynamic Persona Testing Affects Voice Agent Evaluation Scores

Report 5

The arm that found every defect scores 16 points lower and fails 15 of 25 calls.

The judge reads how satisfied the caller sounded, so a caller who pushes back reads as the agent failing.

Mean Task Completion
−16.1 pts
27.3
Frozen: 43.4
Calls rated pass
−28 pts
32%
Frozen: 60%
Calls rated fail
of 25
15
Frozen: 6
Verdict per call, 25 calls per arm
PassPass with riskFail
Frozen moodswitch off
1546
Task Completion 43.4
LLM judge 24 of 25
Moving moodswitch on
8215
Task Completion 27.3
LLM judge 23 of 25

47 of 50 calls were scored by the LLM judge; the rest fell back to a heuristic score.

50 calls, 25 matched pairs, run of 21 to 22 Oct 2026.

The arm that found every defect above scored 16 points lower and passed half as often. The judge reads how satisfied the caller sounded. A caller who pushed back and left unhappy looks like the agent's failure, even when the agent handled the call correctly.

The same inversion showed up in an earlier run, so this is a property of the scoring and not a one-off. Treat Task Completion as a side reading in a stress test. The result lives in the mechanism measures: caller actions, how the agent reacted to each, and how the emotion arc ended.

Unexpected Findings From Our Voice AI Testing Experiment

Of the eight predictions, five held, one held weakly (the easygoing caller barged in 10 times off and 8 on) and two failed.

  • The calm control. We predicted she would stay steady. She escalated in both pairs. We read this as the feature catching a real defect, the garbled amount above. That is our interpretation. The second pair (four escalations on mismatched amounts, repeated information and a dodged payment question) is consistent with it. The full transcripts are the next check.
  • Hardening. We predicted hardened prompts would end calls early. They did the opposite: 15.2 turns against 13.9 for the bare agent. The turn-three exits from an earlier run did not reproduce.

Limitations of the Dynamic Persona Testing Experiment

  • Each persona and scenario cell ran once per arm. Caller actions are probabilistic (a repeat request fires on a 35 in 100 roll), so a rerun will move these counts. Treat every figure here as a count from one run, not a rate.
  • One organisation, one agent family (lending and collections), five Hindi pairs.
  • The agent's reactions (ignored, offered transfer, did not repeat) are labelled automatically. We checked the counts against the call records, but we have not read all 25 transfer exchanges by hand.
  • Short calls can skip the LLM judge, so a hang-up can carry a score that means little.

Best Practices for Dynamic Persona Testing in Voice AI

  1. Test with a caller whose mood moves. If the goal is to find handling defects, a frozen caller cannot ask for a human, hang up or ask for a repeat, so it will not find them.
  2. Keep the frozen caller for regression suites. There, a mood that moves makes runs non-comparable.
  3. Do not read Task Completion as the verdict on a stress test. Read the caller actions and the agent's reaction to each.
  4. Give every request for a human an answer. Yes, no, or a reason. Silence is the one wrong response.
  5. Read numbers back digit by digit. A garbled amount turned our calmest caller against the agent.
Your calls, our evidence

Test with callers who push back.

Run Dynamic persona against your own agent and see every mood shift, the agent turn that caused it, and how the agent handled it, scored with CLEAR.

Research Dynamic persona Voice AI testing
Sri Sivaraman
Sri Sivaraman
Engineering, Vattara

Building the neutral certifier for voice AI agents. We test live voice agents over real telephony and return a defensible report card.

Lokesh Kannan
Lokesh Kannan
GTM, Vattara

Building the neutral certifier for voice AI agents. We test live voice agents over real telephony and return a defensible report card.

Vattarainfo@vattara.ai