- Test intermediate steps, not just final answers. A case can pin the expected tool-call trajectory and the expected retrieval context, so a RAG pipeline’s retriever and a ReAct agent’s tool choices are graded independently of the final text.
- Mix deterministic and judged scoring. Code scorers, similarity metrics, and trajectory/context matching are free and exactly reproducible; the LLM judge handles what rules can’t express. Low-variance checks first, judgment second.
- Build the golden dataset from production. The best test cases are real failures - one click turns a bad trace or signal into a dataset case, provenance included, so every incident becomes a permanent regression test.
- Make it a gate.
run.gate(fail_under=..., no_regression=True)turns any run into a CI pass/fail, so quality regressions block the merge instead of shipping.
How it works
- Build a dataset: create test cases with queries and (optionally) expected results.
- Run your agent: the SDK calls your function or adapter once per test case; each response is scored immediately.
- Finalize: closes the run.
average_rating,min_rating,max_rating, andrated_countare already available at this point; no need to wait for analysis just to see how it went. - Analyze (optional): AgentX generates the full qualitative report, covering strengths, weaknesses, instruction adherence, and recommendations.
- Review results: read the report in your terminal or open the dashboard link.
Installation
What’s included
Reusable grading configs
A dataset’s questions and its grader are independent, so the same LLM Judge Scorer can grade any dataset. Build one once withclient.monitor.judge_scorers.builder(...).publish() and pass its id as scorer_id to client.evaluations.run(...). Omit it to use the dataset’s own bundled config, unchanged. Self-host runs can also pass additional_scorer_ids=[...] to grade every result with extra judges in the same run - see multiple judge scorers. This is purely additive. Alternatively, pass scorer_group_id to grade with a whole scorer group at once - mutually exclusive with scorer_id/additional_scorer_ids; the group supersedes them. (evaluation_settings_id and the legacy client.evaluations.settings.builder keep working as aliases - see Evaluation Settings.)
Guides
Installation
Framework-specific package extras
Quick Start
Run your first evaluation in a few lines
Build Dataset
Create test cases programmatically or from CSV
Evaluation Settings
Build a standalone, reusable grading config
EvaluationSubject Fields
Describe the agent being evaluated
AI Analysis Report
What .analyze() returns: strengths, weaknesses, recommendations
Examples
Framework-by-framework integration examples
Tracing
Attach a full Execution Timeline to each eval result, not just a score
CI/CD Evaluation
Gate releases with a pass/fail threshold instead

