AgentVerdict
Benchmark and compare AI agents with reproducible tests.
AgentVerdict is an open-source Python CLI for testing agent behavior across deterministic benchmarks, repeated runs, and side-by-side comparisons.
pip install agentverdict
agentverdict test my_agent.py
Quickstart
AgentVerdict currently loads agents through a small Python contract. Create
my_agent.py:
def run_agent(task: str) -> str:
return f"Received: {task}"
Run it against the bundled benchmark:
agentverdict test my_agent.py
agentverdict test my_agent.py --runs 5
For a representative passing run, use the included example:
agentverdict test examples/benchmark_agent.py --runs 5
AgentVerdict
Agent: benchmark_agent
Benchmark: General Agent Benchmark
Runs per task: 5
Tasks: 10
Runs per task: 5
Total attempts: 50
Passed attempts: 50
Failed attempts: 0
Execution errors: 0
Overall reliability: 100.0%
Average consistency: 100.0%
Error rate: 0.0%
Average latency: 0.000s
The exact latency depends on your machine and the agent being tested.
Why AgentVerdict?
An AI agent can work in a demo and still behave differently across repeated runs. AgentVerdict measures the same agent against the same deterministic tasks so you can inspect:
- correctness
- reliability across attempts
- literal output consistency
- execution errors
- local execution latency
Compare agents
Run two or more agents against the same benchmark:
agentverdict compare \
examples/benchmark_agent.py \
examples/simple_agent.py \
--runs 5
Each agent receives the same benchmark, task order, evaluator semantics, and runs per task. The comparison presents the individual metrics rather than inventing an arbitrary weighted overall score, so tradeoffs remain visible.
Benchmark format
Benchmarks are versioned YAML files. A minimal definition looks like this:
version: "1"
name: Example Benchmark
tasks:
- id: capital-france
name: Capital of France
category: factual
prompt: "Name the capital of France."
evaluation:
type: contains
expected: "Paris"
Current deterministic evaluators are exact_match, contains, and regex.
Use agentverdict benchmark-info to inspect a bundled benchmark or YAML file.
The result schema documentation describes the
structured output format.
Metrics
Reliability is passed attempts divided by total attempts.
Output consistency is, for each task, the frequency of its most common valid literal output, averaged across tasks. It is case-sensitive, whitespace-sensitive, deterministic, and not semantic similarity. Execution errors are excluded because they have no output.
Error rate is execution errors divided by total attempts.
Latency is measured locally for each agent execution. It reflects the machine, environment, and any services contacted by the agent.
PASS, FAIL, and ERROR
- PASS — the agent returned a valid output and satisfied the evaluator.
- FAIL — the agent executed successfully but did not satisfy the evaluator.
- ERROR — the agent failed to produce a valid output.
Reports
Generate reports locally while testing or comparing agents:
agentverdict test agent.py --runs 5 --report html
agentverdict compare agent_a.py agent_b.py --report all
--report accepts none, json, html, or all. HTML reports are
standalone and require no server. JSON reports are useful for tooling and CI.
Reports are generated locally; AgentVerdict does not upload them.
CLI reference
| Command | Purpose |
|---|---|
agentverdict run |
Run a Python-file agent once. |
agentverdict test |
Test one agent against a benchmark. |
agentverdict compare |
Compare two or more agents on one benchmark. |
agentverdict benchmarks |
List bundled benchmarks. |
agentverdict benchmark-info |
Inspect a benchmark definition. |
agentverdict --version |
Show the installed version. |
For detailed options, run agentverdict COMMAND --help.
CI usage
agentverdict test agent.py can run directly in CI.
test: exit0when every attempt passes,1when the benchmark completes with failures or errors, and2for a configuration or application error.compare: exit0when comparison completes and2for a configuration or application error.
Installation and requirements
AgentVerdict requires Python 3.11 or newer.
For the public release:
pip install agentverdict
For local development:
python -m pip install -e ".[dev]"
Architecture
Agent
↓
AgentAdapter
↓
Benchmark Runner
↓
Evaluator
↓
Structured Results
├── Terminal
├── JSON
└── HTML
Safety and privacy
Agent files are executable Python code. AgentVerdict v0.1.0 does not sandbox them, so only run agent files you trust. See SECURITY.md.
AgentVerdict has no telemetry and does not upload reports. Benchmarks and their outputs remain local unless the agent you supply itself contacts an external service.
Roadmap
See ROADMAP.md for potential post-0.1.0 directions.
Contributing
Contributions are welcome, especially benchmark packs, evaluator types, framework adapters, reporting improvements, and documentation. Read CONTRIBUTING.md before opening a pull request.
License
AgentVerdict is licensed under the MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentverdict-0.1.0.tar.gz.
File metadata
- Download URL: agentverdict-0.1.0.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe9e9d70cc8da2e93da7b67cba7b296ba18c9b38f45f7fabfc9b2a9655c0c3dc
|
|
| MD5 |
65375d2ffa255bb08903fb5832b8446e
|
|
| BLAKE2b-256 |
b47cd1ed0471fcd4251a9237c75479e49d8f9f8de93dc84e4de419f802e5d8c9
|
Provenance
The following attestation bundles were made for agentverdict-0.1.0.tar.gz:
Publisher:
release.yml on Rahmat9009/AgentVerdict
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentverdict-0.1.0.tar.gz -
Subject digest:
fe9e9d70cc8da2e93da7b67cba7b296ba18c9b38f45f7fabfc9b2a9655c0c3dc - Sigstore transparency entry: 2389611522
- Sigstore integration time:
-
Permalink:
Rahmat9009/AgentVerdict@6914bec170556564e46214531ff1d419f9a4040a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Rahmat9009
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6914bec170556564e46214531ff1d419f9a4040a -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentverdict-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentverdict-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17fff914d5b11d9f1e71e40dbed1661c30b6eb48aa8baf2a7d11d732a4f4904e
|
|
| MD5 |
c64583520d8726d061a9aafae786b58a
|
|
| BLAKE2b-256 |
59404fe6ab7d1e2bc0a05cfe928af885663746a1da30ed9ed8f8cb82227c43de
|
Provenance
The following attestation bundles were made for agentverdict-0.1.0-py3-none-any.whl:
Publisher:
release.yml on Rahmat9009/AgentVerdict
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentverdict-0.1.0-py3-none-any.whl -
Subject digest:
17fff914d5b11d9f1e71e40dbed1661c30b6eb48aa8baf2a7d11d732a4f4904e - Sigstore transparency entry: 2389611557
- Sigstore integration time:
-
Permalink:
Rahmat9009/AgentVerdict@6914bec170556564e46214531ff1d419f9a4040a -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Rahmat9009
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6914bec170556564e46214531ff1d419f9a4040a -
Trigger Event:
push
-
Statement type: