Skip to main content

Overview

Every benchmark defines a jury --- a cascade of judge tiers that evaluate the agent’s workspace. Judges come from the Agent Judge project. Benchmarks wire them together in benchmark.yaml.

Cascaded Tiers

Tiers run in order. Each tier has a policy that determines whether evaluation continues: This is how the code-coverage benchmark grades:
If the build fails (T0), coverage is never measured. If coverage regresses (T1), improvement is never checked. This prevents misleading scores from broken code.

Built-in Judge Types

These are registered in JudgeFactory and available in any benchmark:

file-exists

file-content

maven-build

coverage-improvement

test-quality-llm

The LLM judge reads the prompt file, evaluates the workspace, and returns structured scores. Requires running via agent-bench-agents module (which has the Claude SDK dependency).

Writing a Custom Judge

Judges implement the Judge interface from agent-judge-core:
Register it in JudgeFactory:

Benchmark YAML Schema

Task YAML Schema

Each task within a benchmark: