How It Works
Quick Start
Configuration Options
JudgeCriteriaConfig
| Field | Type | Default | Description |
|---|---|---|---|
name | str | — | Criteria configuration name |
description | str | — | What is being evaluated |
prompt_template | str | — | Prompt with {output}, {input}, {expected} placeholders |
scoring_dimensions | List[str] | — | Dimensions to score |
threshold | float | 7.0 | Passing score |
JudgeConfig
| Field | Type | Default | Description |
|---|---|---|---|
model | str | gpt-4o-mini | LLM for judging |
temperature | float | 0.1 | Sampling temperature |
max_tokens | int | 500 | Max response tokens |
threshold | float | 7.0 | Passing score |
criteria | str | None | Simple criteria string |
Custom Optimisation Rules
Register domain-specific fix patterns withadd_optimization_rule:
| Function | Description |
|---|---|
add_optimization_rule(name, rule_class) | Register a rule |
get_optimization_rule(name) | Get rule by name |
list_optimization_rules() | List registered rules |
Best Practices
Define measurable criteria
Define measurable criteria
Vague rubrics like “good output” produce inconsistent scores. Use specific, testable dimensions.
Calibrate thresholds
Calibrate thresholds
Use 8–9 for production-critical checks; 6–7 for exploratory workflows.
Test on known outputs
Test on known outputs
Run the judge on good and bad examples before wiring it into optimisation loops.
Use scoring dimensions
Use scoring dimensions
Break evaluation into dimensions for clearer feedback and targeted fixes.
Related
CLI Eval
Run evaluations from the command line
Evaluator Optimiser
Optimise agents with evaluator feedback loops

