How It Works
EfficientAI evaluates voice agents the way your customers experience them: by placing real calls against the agent and driving those calls with simulated callers.
Everything on the platform is built from six objects. Each one is explained in full on its own page in this section — this page shows how they fit together.
The object model
An evaluation suite is the join table: it pairs one agent with every combination of the personas and scenarios you attach. Each combination becomes one or more runs, and each run is scored by the metrics you enabled.
Combination math (nCr + pairing)
Evaluation suite runs are based on persona-scenario pairing:
- If personas and scenarios are already selected in the suite, total combinations are
P x S(Cartesian product). - If subsets are selected from larger pools first, use nCr for each selection stage:
- Personas selected:
nCk - Scenarios selected:
mCr - Then suite combinations expand to
(nCk) x (mCr)before applying run count.
- Personas selected:
The evaluation lifecycle
Because the persona, scenario, and voice mapping are all pinned configuration, re-running a suite after a prompt or model change produces a comparison you can trust rather than a one-off anecdote.
Where each concept is explained
| Concept | What it is | Explained in |
|---|---|---|
| Agent | The system under test, plus its call medium and prompts. | Agent |
| Persona | The simulated caller: behavior profile plus a pinned voice. | Persona |
| Scenario | The goal, context, and success criteria for a conversation. | Scenario |
| Metrics | The scoring rules applied to a finished run. | Evaluator |
| Evaluator | The engine that runs combinations and applies metrics. | Evaluator |
| Evaluation suite | The grouping that turns personas and scenarios into run combinations. | Evaluation Suite |
| STT / LLM / TTS | The three model layers inside a voice bundle. | Setup |
| Telephony vs WebRTC | The two call mediums an agent can be tested over. | Agent |
Suggested reading order
- Setup — credentials, voice bundles, storage.
- Agent — define the system under test.
- Persona and Scenario — define who calls and why.
- Evaluation Suite — assemble the combinations.
- Evaluator — choose metrics and read results.
Community & contact
- Found a bug or have a feature request? Open a GitHub issue.
- Join our Discord for faster replies!
