The first test I write for a new agent is always the one it passes. A clean input, a well-formed tool response, a sensible final answer. I tell myself I will add the messy cases later. Later usually means after the first user finds them.
The failure I kept hitting was not a crash. It was the quiet case: a tool returns an empty result, an instruction lands in a retrieved document, a user asks for something the agent has no tool for, and the agent improvises instead of saying it cannot. None of those show up in a single happy-path run. They show up in a batch.
So I built a tool that runs an agent definition against a batch of simulated scenarios and reports what happened. You give it the definition, it generates scenarios, and it returns a success rate and a list of failure modes. AgentSim is a pre-release gate, the step between "it worked on my input" and "I am willing to ship it."
The gap between one run and a batch
A single run tells you almost nothing about an agent, because the input space is unbounded. The agent is a function over text, tool outputs, and whatever the model decides to do that day. Testing it once is like load-testing a server with one request.
What I wanted before a release was a distribution, not a pass. Give me a batch of plausible situations, some clean, some adversarial, some malformed, and tell me how the agent behaves across them. Which categories of input does it handle, and which does it consistently mishandle. That is a question a batch can answer and a single run cannot.
AgentSim generates the scenarios, runs the definition against them, and reports a success rate plus the failure modes it saw. The useful part is not the number; it is the grouping. "Handles missing tool output poorly across these cases" is actionable in a way that "one test failed" is not. I can look at that cluster and decide whether to add a guard, a fallback, or an explicit refusal path.
What the simulation is, and is not
"Simulation" invites overconfidence, so let me be careful. The scenarios are generated, not sampled from your production traffic. The tool does not run your agent against real users, real tools, or a live model deployment. It runs the definition against simulated cases. The success rate is a property of that batch, not a prediction of your uptime in the wild.
That makes it a pre-release gate, not a certification. A gate answers a narrow question: does this definition fall apart on the cases we can think of before shipping. A certification would answer a much larger one: is this system safe in deployment. AgentSim answers the first. I would be misleading you if I let the word "safety" imply the second.
Scenario generation has its own blind spot: it can only produce the kinds of situations it knows to produce. A novel failure mode no generated scenario resembles will not appear in the report. I treat the output as a floor on the problems, not a ceiling: everything flagged is worth fixing, and the absence of a flag is not proof of safety.
Honest limits and the trade-off
Here is the plain statement. AgentSim is a decision-support tool. It is not legal advice, not a certification, and not a live audit harness. It does not observe a running system, inspect real logs, or test your production integrations. It reads an agent definition and simulated scenarios, and reports a success rate and failure modes for that batch.
I accepted that limit deliberately. A live evaluation harness that replays real traffic needs access to your environment and your data, and it only becomes useful after you have shipped. The moment I most needed a signal was before release, when a definition is cheap to change. A simulated batch fits that moment. It will not catch everything, but it reliably caught the class of bug I kept shipping: the unhandled edge case a single happy-path test never exercises.
If your current release check is one manual run you did yourself, AgentSim will at least turn that into a batch and show you the shape of what fails.
FAQ
What is AgentSim?
A pre-release gate that runs your agent definition against a batch of simulated scenarios and reports a success rate and failure modes.
Are the scenarios based on my real users?
No. They are generated, not sampled from production traffic. The tool does not watch a live deployment.
Does a high success rate mean my agent is safe to ship?
No. It describes that batch only. It is not a certification, not legal advice, and not a live audit harness. Novel failure modes the scenarios do not resemble will not show up.
What should I do with the failure modes?
Treat them as a floor, not a ceiling. Fix what is flagged, and do not read an empty flag list as proof of safety.