seeded_agent is a stand-in agent. It answers
honestly most of the time and, on a labeled fraction of rollouts, does one
thing wrong on purpose: hedges, flatters, or claims success after a tool
failed. Each row records what it did in seeded, so you can check that
your judge catches exactly those rows before you trust it on real ones.
1
Describe the tools
Tools go in OpenAI function-calling shape. One is enough.
2
Simulate
simulator=False writes the customers from templates, so no model is
called. mode="rl" with repeats=4 plays every ask four times, which
is what pass@k needs.3
Grade and read the number
Any callable that takes a row and returns a reward is a judge. This
one uses the label the stand-in agent left behind.
Next
Connect your agent
A callable, an OpenAI-compatible endpoint, a model spec string, or the
hosted model. Plus traces to aim the run.
Evals
A pass rate with an interval, a table of where the agent fails, and a
CI check that turns red when it gets worse.
Simulations
How the engine picks situations, plays the customer, and breaks the
tools on purpose.
The five calls
simulate, grade, optimize, export, train: the run in order.