# Agent as Judge with Guidelines (/evals/agent-as-judge/usage/agent-as-judge-with-guidelines)



Add `additional_guidelines` to give the judge more specific evaluation criteria.

<Steps>
  <Step title="Add the following code to your Python file">
    ```python title="agent_as_judge_with_guidelines.py"
    from typing import Optional

    from agno.agent import Agent
    from agno.db.sqlite import SqliteDb
    from agno.eval.agent_as_judge import AgentAsJudgeEval, AgentAsJudgeResult
    from agno.models.openai import OpenAIResponses

    # Setup database to persist eval results
    db = SqliteDb(db_file="tmp/agent_as_judge_guidelines.db")

    agent = Agent(
        model=OpenAIResponses(id="gpt-5.2"),
        instructions="You are a Tesla Model 3 product specialist. Provide detailed and helpful specifications.",
        db=db,
    )

    response = agent.run("What is the maximum speed of the Tesla Model 3?")

    evaluation = AgentAsJudgeEval(
        name="Product Info Quality",
        model=OpenAIResponses(id="gpt-5.2"),
        criteria="Response should be informative, well-formatted, and accurate for product specifications",
        scoring_strategy="numeric",
        threshold=8,
        additional_guidelines=[
            "Must include specific numbers with proper units (mph, km/h, etc.)",
            "Should provide context for different model variants if applicable",
            "Information should be technically accurate and complete",
        ],
        db=db,
    )

    result: Optional[AgentAsJudgeResult] = evaluation.run(
        input="What is the maximum speed?",
        output=str(response.content),
        print_results=True,
    )

    # Query database for stored results
    print("Database Results:")
    eval_runs = db.get_eval_runs()
    print(f"Total evaluations stored: {len(eval_runs)}")
    if eval_runs:
        latest = eval_runs[0]  # get_eval_runs() sorts newest first
        print(f"Eval ID: {latest.run_id}")
        print(f"Additional guidelines used: {len(evaluation.additional_guidelines)}")

    ```
  </Step>

    <Step title="Set up your virtual environment">
      <CodeBlockTabs defaultValue="Mac">
        <CodeBlockTabsList>
          <CodeBlockTabsTrigger value="Mac">
            Mac
          </CodeBlockTabsTrigger>

          <CodeBlockTabsTrigger value="Windows">
            Windows
          </CodeBlockTabsTrigger>
        </CodeBlockTabsList>

        <CodeBlockTab value="Mac">
          ```bash
          uv venv --python 3.12
          source .venv/bin/activate
          ```
        </CodeBlockTab>

        <CodeBlockTab value="Windows">
          ```bash
          uv venv --python 3.12
          .venv\Scripts\activate
          ```
        </CodeBlockTab>
      </CodeBlockTabs>
    </Step>

  <Step title="Install dependencies">
    ```bash
    uv pip install -U agno openai sqlalchemy
    ```
  </Step>

  <Step title="Export your OpenAI API key">
    <CodeBlockTabs defaultValue="Mac/Linux">
      <CodeBlockTabsList>
        <CodeBlockTabsTrigger value="Mac/Linux">
          Mac/Linux
        </CodeBlockTabsTrigger>

        <CodeBlockTabsTrigger value="Windows">
          Windows
        </CodeBlockTabsTrigger>
      </CodeBlockTabsList>

      <CodeBlockTab value="Mac/Linux">
        ```bash
          export OPENAI_API_KEY="your_openai_api_key_here"
        ```
      </CodeBlockTab>

      <CodeBlockTab value="Windows">
        ```bash
          $Env:OPENAI_API_KEY="your_openai_api_key_here"
        ```
      </CodeBlockTab>
    </CodeBlockTabs>
  </Step>

  <Step title="Run the example">
    ```bash
    python agent_as_judge_with_guidelines.py
    ```
  </Step>
</Steps>
