Skip to main content
Use an LLM to evaluate and score agent outputs for accuracy, quality, and custom criteria. The user runs a task agent, then the judge agent scores the output against your rubric.

Quick Start

1

Evaluate Output

How It Works

Choosing an Evaluation Approach

Match the judge setup to how strict and comparative your scoring needs to be.

Evaluation Modes

Accuracy Evaluation

Compare agent output against an expected result:

Criteria Evaluation

Evaluate output against custom criteria:

Recipe/Workflow Evaluation

Evaluate multi-agent workflow execution:

Configuration

JudgeConfig

string
default:"gpt-4o-mini"
LLM model to use for evaluation
number
default:"0.1"
Temperature for consistent scoring (lower = more consistent)
number
default:"500"
Maximum tokens for LLM response
number
default:"7.0"
Score threshold for passing (1-10 scale)
string
Custom evaluation criteria

JudgeResult

The result object contains:

Fail-Closed Parsing

If the judge’s LLM response can’t be parsed for a numeric SCORE:, the verdict fails closed.
An unparseable response returns JudgeResult(score=1.0, passed=False, reasoning="Unable to parse response") — or the model’s prose if any was captured. This is deliberate: the previous behaviour returned a fabricated 5.0 that silently passed any threshold ≤ 5. 1.0 fails every threshold, so an unreadable response never masquerades as a pass. A logger.warning records the first 200 characters of the raw text.
Empty responses, JSON {}, and prose-only replies like "the answer is wrong" all fail closed. Markdown-bolded labels like **SCORE:** 1 (the default output style of most models) and bullet-prefixed labels are tolerated — the parser strips **, *, `, and leading -/> before reading the value. Prompts no longer need to warn the model against bolding. The safety grader (BaseLLMGrader) already followed this pattern — Judge now matches it. See Safety Evaluation.

Judge with Agent

Evaluate an agent’s response directly:

Custom Judges

Register Custom Judge

From the shell: praisonai eval list (short form) or praisonai eval list-judges — both print the same registered types the Python list_judges() returns.

Domain-Agnostic Evaluation

Use JudgeCriteriaConfig for any domain:

Async Evaluation

CLI Reference

Best Practices

Set temperature: 0.1 or lower for consistent scoring across evaluations.
Be specific about what constitutes a good output. Vague criteria lead to inconsistent scores.
  • 7.0: Standard quality bar
  • 8.0: High quality requirement
  • 6.0: Lenient evaluation
The suggestions array provides actionable improvements. Use them to iterate on agent prompts.

Evaluation Framework

Complete evaluation suite

Agent Testing

Test your agents