Why we call them tests
We use the word tests because it gives us a familiar starting point from tools like pytest and JUnit: put a system in a situation, observe what it does, and compare that with what you expected. In the broader AI world, you’ll usually see this called an eval, but they mean the same thing for us. The Anthropic blog also uses them interchangeably.Anatomy of a test
The pytest guide to the anatomy of a test describes four steps: arrange, act, assert, and cleanup. The same structure helps explain a voice test. Prepare the situation, have the conversation, judge the evidence, and reset any test data that could affect the next attempt. In Egma, the scenario and persona shape the simulated caller. Together, “change an appointment” and “a frustrated caller who speaks Spanish” give the simulator a goal and a way to approach the conversation. It talks to your agent through the selected connection. Egma records evidence from the conversation, including the transcript and available tool calls and metrics. Graders use the evidence they receive to assess whether the agent met your criteria. For the appointment test, you might expect the agent to explain that the requested time is unavailable, offer an available alternative, and ask for confirmation before booking. Several different conversations could meet those expectations. You usually want to check the behavior without requiring the agent to repeat an exact sentence.From a test to a run
To start a run, choose a test suite, an agent, and one of that agent’s connections. Each test in the suite already selects one or more personas. Egma runs each test once for every selected persona, producing a separate simulation for each pair. For example, a suite with three tests and two personas per test produces six simulations. They all use the same agent and connection. Graders assess the evidence from each simulation.Definitions
Regression and hill-climbing suites
We think about tests in two groups:- Regression suites cover behavior that already works. Run them after changes to see whether you’ve broken something your users depend on.
- Hill-climbing suites cover behavior you want to improve. You expect some failures today and use the results to track progress with each release.