AJF Documentation
A complete reference for AJF — Agent-Judge-Framework: the architecture, the agents, the judges, the reliability assessment, the repository structure, the evaluation pipeline, and the validation checks.
Overview
AJF (Agent-Judge-Framework) is a reliability-oriented framework designed to evaluate tool-using autonomous agents while simultaneously assessing the reliability of the evaluation process itself. It separates agent performance from evaluator reliability across four interconnected layers.
"The ability to generate a modified program is separated from the ability to establish its admissibility."
Architecture
The AJF architecture contains four interconnected layers:
Layer 1: Knowledge & Evidence Base
↓
Layer 2: Agent Execution (3 configurations)
↓
Layer 3: Independent Judge (2 models × 2 strategies)
↓
Layer 4: Reliability Assessment (Bias, Calibration, Agreement)
Layer 1 — Knowledge & Evidence Base
Reference documents, structured datasets, verified API responses, evidence records, ground-truth annotations.
Layer 2 — Agent Execution
Three configurations:
- Agent A — Direct Answer: Model-knowledge only, no external retrieval.
- Agent B — RAG-Based: Retrieves from a knowledge base before responding.
- Agent C — Tool-Using: Calls APIs, executes code, retrieves from external sources.
Layer 3 — Independent Judge
Two LLM judge models from independent families, evaluated under two strategies:
- Strategy A — Zero-Shot Judge: Standard evaluation without mandatory evidence verification.
- Strategy B — Structured Evidence Judge: Requires claim identification, evidence location, correspondence verification, and confidence estimation.
Layer 4 — Reliability Assessment
Human-Judge Agreement, Judge Consistency, Position Bias Detection, Verbosity Bias Detection, Evidence-Related Bias Detection, Confidence Calibration, Score Stability.
Agents (3 Configurations)
| Agent | Description | Tool Access |
|---|---|---|
| Direct | Model-knowledge only | None |
| RAG | Retrieves from local knowledge base | Knowledge base |
| Tool-Using | Calls external APIs | World Bank API |
Judges (2 Strategies)
| Judge | Description | Evidence Verification |
|---|---|---|
| Zero-Shot | Standard evaluation | None (not_checked) |
| Structured Evidence | Claim identification + evidence verification | Mandatory |
openai/gpt-oss-120b).
Temperature = 0.0. Response format = JSON.
Reliability Assessment
The reliability layer measures four dimensions:
| Dimension | Metric | Formula |
|---|---|---|
| Position Bias | B_position | |S_A_first − S_A_second| |
| Calibration | ECE | Σ (|S_b| / N) × |acc(S_b) − conf(S_b)| |
| Consistency | StDev | sqrt( Σ (x_i − mean)² / (n − 1) ) |
| Temperature Scaling | conf_calibrated | conf_raw / T (T = 2.0) |
Experimental Results
Five hypotheses tested. All supported (H3 and H5 partially).
| ID | Hypothesis | Result | Status |
|---|---|---|---|
| H1 | Evidence Grounding | Direct: 5–10 vs RAG/Tool: 50–95 | ✅ Supported |
| H2 | Position Bias | Bias = 93 points | ✅ Supported |
| H3 | Judge Reliability | Evidence: 5 vs ZeroShot: 20 | ✅ Partially Supported |
| H4 | Calibration | ECE = 0.0528 (after T=2.0) | ✅ Supported |
| H5 | Robustness | RAG: 0.00 (Evidence) vs 2.24 (ZeroShot) | ✅ Partially Supported |
Key Numbers
- Position Bias: 93 points (severe).
- Calibration (before): ECE = 0.3694.
- Calibration (after): ECE = 0.0528.
- Consistency (RAG): StDev = 0.00 (Evidence) vs 2.24 (ZeroShot).
Reproducibility
To reproduce the evaluation:
# 1. Install the package
pip install agent-judge-framework
# 2. Set the Groq API key
export GROQ_API_KEY="gsk_..."
# 3. Run the experiments
python examples/run_calibration.py
python examples/run_consistency.py
python examples/run_bias.py
python examples/run_calibration_fix.py
The full manuscript, all code, and the experimental results are available in the repository and on Zenodo/OSF/Figshare.
Repository Structure
AJF/
├── README.md
├── AUTHORS.md
├── CHANGELOG.md
├── CITATION.cff
├── CONTRIBUTING.md
├── LICENSE
├── MANIFEST.in
├── VERSION
├── pyproject.toml
├── requirements.txt
├── setup.py
├── setup.cfg
├── upload_ajf.py
│
├── ajf/ # Python package
│ ├── core/
│ ├── agents/
│ ├── judges/
│ ├── evidence/
│ ├── reliability/
│ ├── human_eval/
│ ├── statistics/
│ └── benchmark/
│
├── DATA/
│ └── knowledge_base.json
│
├── ANALYSIS/
├── PUBLICATION/
│ ├── Agent_Judge_Framework.pdf
│ ├── figures/
│ └── Netlify/
│ └── public/
│
├── REPORTS/
├── EXTERNAL_REVIEW/
├── docs/
├── examples/
│ ├── run_experiment.py
│ ├── run_consistency.py
│ ├── run_bias.py
│ └── run_calibration.py
└── tests/
Evaluation Pipeline
The Python package agent-judge-framework includes the full
evaluation pipeline. Six stages:
1. Task Definition → Benchmark task (T1, T2, T3)
2. Agent Execution → Direct / RAG / Tool-Using
3. Output Logging → response, tool_calls, evidence
4. Judge Evaluation → Zero-Shot / Evidence Judge
5. Reliability → Bias, Calibration, Consistency
6. Reporting → JSON results + README
The package includes:
ajf/agents/— three agent configurationsajf/judges/— two judge strategies (Groq API)ajf/reliability/— bias, calibration, consistencyexamples/— reproducible experiment scripts
Validation
Five validation checks are executed at v1.0.0. All pass.
| Check | Result |
|---|---|
| Position Bias | |S_A_first − S_A_second| = 93 |
| Calibration (before) | ECE = 0.3694 |
| Calibration (after) | ECE = 0.0528 |
| Consistency (RAG) | StDev = 0.00 (Evidence) vs 2.24 (ZeroShot) |
| Causal claims | None (descriptive/comparative) |
Scope & Limits
What AJF supports
- Tool-using agent evaluation (Direct, RAG, Tool-Using).
- Two judge strategies (Zero-Shot, Structured Evidence).
- Position bias measurement (reversed order).
- Confidence calibration (ECE, Temperature Scaling).
- Consistency analysis (5 repetitions).
- Open manuscript (CC-BY-4.0) and open code (MIT).
What AJF does not support
- Human expert evaluation (deferred).
- Multi-judge consensus (deferred).
- 60-task benchmark (planned for future work).
- Cross-domain generalization.
- Causal inference (descriptive only).
Citation
Zenodo Archive
@software{baladi2026ajf_zenodo,
author = {Baladi, Samir},
title = {{Agent-Judge-Framework}: A Reliability-Oriented Framework
for Automated Evaluation of Tool-Using Autonomous Agents},
year = {2026},
publisher = {Zenodo},
version = {1.0.0},
doi = {10.5281/zenodo.23907823},
url = {https://doi.org/10.5281/zenodo.23907823},
note = {Ronin Institute / Rite of Renaissance}
}
APA (inline)
Baladi, S. (2026). Agent-Judge-Framework: A reliability-oriented framework for automated evaluation of tool-using autonomous agents (Version 1.0.0). Zenodo. https://doi.org/10.5281/zenodo.23907823
Status
| Component | Status |
|---|---|
| Manuscript | Published (Zenodo · OSF · Figshare) |
| Python package | Published (PyPI: agent-judge-framework) |
| Website | Published (Netlify) |
| Agents | 3 (Direct, RAG, Tool-Using) |
| Judges | 2 (Zero-Shot, Structured Evidence) |
| Hypotheses | 5 (H1–H5, all supported) |
| Position bias | 93 points (severe) |
| Calibration | ECE = 0.0528 (after Temperature Scaling) |
| Causal claims | None (descriptive only) |