+ + + +
Recipe 01 · polyvoice · for voice agent teams

Your voice agent,
learning from its own calls.

The language model inside your phone agent decides what to say, which tool to call and when to hand off. Polyvoice trains it on the calls it already takes, tests the result against what you run today, and you approve what goes live. Speech recognition and synthesis stay exactly as they are.

01 · The problem

The same call, mishandled every week.

A reschedule that ends in a transfer. A caller who asks for a price and gets one they should never hear. An intake flow that skips the verification step. Your QA team hears it in the recordings, someone patches the prompt, and next week a variation of it is back.

Prompt edits fix one phrasing at a time. The model never learns the job. Meanwhile every call your agent takes is a worked example of what to do and what not to do, and it goes nowhere.

We adapt

The text model inside the agent: what to say, which tool to call, when to verify, when to hand off to a person.

We leave alone

Speech recognition, speech synthesis, telephony, your workflow code. If the failure is “it misheard the member ID”, that is not a polyvoice problem, and we will tell you so on the first call.

02 · One cycle

Simulated callers in. A better adapter out. Or nothing.

Polyvoice plugs a call-simulation service into our training loop as the environment and the scorer. Your agent keeps taking real calls on the live model the whole time. A candidate is trained and scored on the side, and only replaces the live one if it clears a gate you set and a person on your team approves.

Your agent's code does not change. It keeps pointing at the same endpoint. What is behind the endpoint gets better, or stays put.

01

Simulate

Simulated callers phone your agent through a proxy that records every turn. Personas and scenarios you sign off on. A held-out set nobody trains on.

02

Score

A judge scores each call: expected behaviours met, plus hard rules like never states a price. The judge's explanation of a failed call becomes the hint for training.

03

Train

The current adapter re-answers the failed turns with the hint in view, and learns to give that answer without it. No real-time calls are burned on training rollouts.

04

Gate

Candidate versus incumbent on the held-out scenarios, paired, with a confidence interval. Under the threshold, nothing changes. Over it, you approve and the proxy serves the new adapter.

03 · What gets measured

Fewer handoffs is never the goal if a handoff was required.

Scores are agreed before training starts and computed the same way for the incumbent and the candidate, on the same held-out scenarios.

Did the call do its job

  • Task completion
  • Correctness, grounded in what the tools returned
  • Hard rules never broken

Did it escalate right

  • Required verification happened
  • Required handoffs happened
  • Unnecessary transfers went down

What it cost

  • Response time
  • Cost per completed call
  • Simulation minutes per cycle

Administrative flows only: scheduling, intake, routing, member-service navigation. No clinical decisions. No compliance claims.

04 · The first cycle, as it happened

The gate said no. That is the point.

Our own recipe, a dental receptionist, 18 September 2026. A 4B open model with a LoRA adapter, simulated callers from Coval, 82 conversations in the cycle. The candidate scored higher on the held-out scenarios, and the gate still rejected it: a hair under the minimum we set, on only eight scenarios. Right call.

That is not a customer result. It is a receipt showing the loop runs end to end on a voice agent and refuses to promote noise. Your pilot gets the same receipt.

→  Repository and full results
cycles/1/receipt.json · dental
Incumbent, held-out0.888
Candidate, held-out0.938
Paired delta+0.049
95% interval[−0.021, +0.117]
Wins / losses / ties4 / 1 / 3
Minimum to promote+0.050
Gaterejected
8 held-out scenarios × 4 repeats × 2 policies. Speech recognition and synthesis not in the loop.
05 · Where to start

One call type. One metric. One honest comparison.

A fixed-scope pilot on the call type that keeps going wrong. Metric agreed before training starts. We run the loop, you read the comparison, and it ends with a recommendation: deploy, iterate, or stop.

You bring

  • A deployed voice agent whose text model you can point at an endpoint
  • The call types that keep going wrong
  • Permission to use transcripts, or scenarios we can simulate
  • Someone technical who owns the integration

We do

  • Baseline your current model on a fixed scenario set
  • Train and score a candidate on held-out calls
  • Explain the receipt and recommend

You keep

  • The head-to-head comparison and every transcript
  • The adapter weights
  • The decision

About three to four weeks once access is ready. Voice pilots cost more than text ones because simulated calls are billed by the minute. Scope and price are set by the founders on a call.

Book a demo