Agent as Judge with Custom Evaluator
Using a custom evaluator agent with specific instructions
Pass your own evaluator agent with the complete rubric in its instructions. When evaluator_agent is supplied, the eval sets its response schema but does not inject criteria or additional_guidelines into its prompt.
Add the following code to your Python file
from agno.agent import Agent
from agno.eval.agent_as_judge import AgentAsJudgeEval
from agno.models.openai import OpenAIResponses
agent = Agent(
model=OpenAIResponses(id="gpt-5.2"),
instructions="Explain technical concepts simply.",
)
response = agent.run("What is machine learning?")
# Create a custom evaluator with specific instructions
custom_evaluator = Agent(
model=OpenAIResponses(id="gpt-5.2"),
description="Strict technical evaluator",
instructions="You are a strict evaluator. Score from 1 to 10. Only give high scores to exceptionally clear, technically accurate, and comprehensive explanations.",
)
evaluation = AgentAsJudgeEval(
name="Technical Accuracy",
criteria="Explanation must be technically accurate and comprehensive",
scoring_strategy="numeric",
threshold=8,
evaluator_agent=custom_evaluator,
)
result = evaluation.run(
input="What is machine learning?",
output=str(response.content),
)
print(f"Score: {result.results[0].score}/10")
print(f"Passed: {result.results[0].passed}")
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno openaiExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Run the example
python agent_as_judge_custom_evaluator.py