> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Evaluate your agent

> Set up automated evaluations so every response is scored without manual review

In the [previous guide](/docs/ax/get-started/get-started-tracing), you instrumented your app and explored its traces. That works for a handful of test queries - but you can't read every response yourself.

[**Evaluations**](/docs/ax/evaluate/evals-overview) solve this. An evaluation is an automated check - either an LLM judging another LLM's output, or a deterministic code check - that runs on your production data continuously. By the end of this guide, every response will be automatically scored and you'll be able to filter to find the ones that need attention.

<Frame caption="Evaluate trace data">
  <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/evals-overview.gif" alt="Evaluations overview showing trace list with evaluation score columns and filters" />
</Frame>

<Info>
  This is **Part 2** of the Arize AX Get Started series. You should have completed the [Tracing guide](/docs/ax/get-started/get-started-tracing) first, with traces flowing into your project.
</Info>

## Choose how you want to work

Use [Arize Skills](/docs/ax/agents/arize-skills) to have your coding agent run [evaluations](/docs/ax/evaluate/evals-overview) from your editor, [Alyx](/docs/ax/alyx) for a conversational approach inside the Arize platform, the UI for a hands-on step-by-step experience, or **Code** to run them programmatically.

<Tabs>
  <Tab title="By Arize Skills">
    Use [Arize Skills](/docs/ax/agents/arize-skills) with your coding agent to create an [evaluator](/docs/ax/evaluate/create-evaluators), run it on traces as a [task](/docs/ax/evaluate/run-evals-on-traces#create-a-task), and export spans to inspect failures. Install the skills plugin and follow [Set up Arize with AI coding agents](/docs/ax/set-up-with-ai-assistants) for authentication and CLI setup. Then, follow the flow below.

    ### Step 1: Create eval

    [`arize-evaluator`](https://github.com/Arize-ai/arize-skills/blob/main/skills/arize-evaluator/SKILL.md)

    The skill only covers **[LLM-as-a-Judge evaluators](/docs/ax/evaluate/create-evaluators)**. In your prompt, name the evaluator, state which template fits what you want to test (for example tool selection, task completion, or hallucination), and tell it which project the evaluator is for and how your span columns map to the template's inputs. For example, you might say:

    > Create a hallucination evaluator for my project using the hallucination template. Map the input, output, and context columns to my span attributes.

    Note that templates are a starting point - most teams customize the prompt criteria to match their specific rubric. Once the evaluator is created, you can ask your agent to revise it, such as:

    > Update the evaluator's criteria: label the output "hallucinated" if it makes any claim that isn't supported by the provided context, and "factual" only if every claim can be traced back to the context.

    <Frame caption="The skill creating an evaluator that uses a hallucination template.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/loaded%20skill-1.png" alt="Terminal showing Claude Code loading the arize-evaluator skill to create an evaluator using a template, with column mapping and a follow-up revision." />
    </Frame>

    ### Step 2: Create a task to run your evaluator

    [`arize-evaluator`](https://github.com/Arize-ai/arize-skills/blob/main/skills/arize-evaluator/SKILL.md)

    A [task](/docs/ax/evaluate/run-evals-on-traces#create-a-task) connects an [evaluator](/docs/ax/evaluate/create-evaluators) to your project and defines cadence and sampling. See [Run online evals on traces](/docs/ax/evaluate/run-evals-on-traces) for the full UI and configuration options.

    For example, you might say:

    > Set up a task to run my evaluator continuously on incoming traces.

    <Frame caption="Setting up a task to run an evaluator on incoming traces.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/Screenshot%202026-04-23%20at%202.35.26%E2%80%AFPM.png" alt="Coding agent terminal: choosing how an evaluator task runs (backfill, continuous on new spans, or both), then creating the evaluator and task with CLI commands" />
    </Frame>

    ### Step 3: See evaluation results on your traces

    [`arize-trace`](https://github.com/Arize-ai/arize-skills/blob/main/skills/arize-trace/SKILL.md)

    After an [eval task](/docs/ax/evaluate/run-evals-on-traces#create-a-task) has written labels to spans, export failures for triage. See [Viewing results](/docs/ax/evaluate/run-evals-on-traces#viewing-results) for where scores appear in the UI.

    For example, you might say:

    > Export spans from my project where my evaluator failed this week
  </Tab>

  <Tab title="By Alyx">
    Open [Alyx](/docs/ax/alyx) anywhere in the Arize platform and describe what you want in plain text. Alyx will guide you through each step - creating [evaluators](/docs/ax/evaluate/create-evaluators), setting up [tasks](/docs/ax/evaluate/run-evals-on-traces#create-a-task), and analyzing results - conversationally.

    ### Step 1: Create eval

    Describe what you need in plain text for an **LLM-as-a-Judge** [evaluator](/docs/ax/evaluate/create-evaluators), including the eval name, the template that fits what you want to test, the judge model, and which span columns map to input, output, and context. For **code-based evaluators**, use **Evaluators** → **New Evaluator** → **Code** in the UI or see [Code evaluations](/docs/ax/evaluate/evaluators/code-evaluations). For example, you might say:

    > Create an evaluator using GPT-4o as the judge and the template that fits what I want to test, and map the input, output, and context columns to my span attributes.

    Note that templates are a starting point - most teams customize the prompt criteria to match their specific rubric. Once the evaluator is created, you can ask Alyx to revise it, such as:

    > Update the evaluator's criteria: label the output "hallucinated" if it makes any claim that isn't supported by the provided context, and "factual" only if every claim can be traced back to the context.

    <Frame caption="Alyx creating an evaluator that uses a hallucination template with GPT-4o as the judge.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/alyx-createevalground.png" alt="Alyx chat creating an LLM-as-a-Judge evaluator with GPT-4o as judge, column mapping for input, output, and context, and EXPLANATION and LABEL output format." />
    </Frame>

    ### Step 2: Create a task to run your evaluator

    This mirrors creating a [task](/docs/ax/evaluate/run-evals-on-traces#create-a-task) in the Evaluators UI. See [Run online evals on traces](/docs/ax/evaluate/run-evals-on-traces).

    For example, you might say:

    > Create a task to run my evaluator on my project continuously on new traces at 100% sampling

    ### Step 3: See evaluation results on your traces

    Alyx can filter on the same [evaluation](/docs/ax/evaluate/run-evals-on-traces#viewing-results) fields that [tasks](/docs/ax/evaluate/run-evals-on-traces#create-a-task) write to each trace.

    For example, you might say:

    > Show me traces that failed evaluation from my hallucination evaluator this week and explain what went wrong

    <Frame caption="Alyx filtering to traces that failed an evaluator and explaining the eval labels.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/evaluate/Screenshot%202026-04-23%20at%202.44.16%E2%80%AFPM.png" alt="Alyx on the Traces view: user asks for traces that failed an evaluator this week; Alyx proposes filters and explains eval labels" />
    </Frame>
  </Tab>

  <Tab title="By UI">
    Use the Arize AX UI in **Evaluators** and **Traces** to configure your project's [evals](/docs/ax/evaluate/evals-overview) end to end.

    ### Step 1: Understand the two types of evaluations

    Arize AX supports two kinds of evaluators. **[LLM-as-a-Judge evaluators](/docs/ax/evaluate/create-evaluators)** use an LLM to assess quality - great for subjective dimensions like helpfulness or groundedness that are hard to check with code. **Code-based** [evaluators](/docs/ax/evaluate/create-evaluators) are deterministic Python checks, ideal for objective conditions like empty responses or keyword presence. We'll focus on LLM-as-a-Judge for this example. For code-based evaluators, see [Create evaluators](/docs/ax/evaluate/create-evaluators).

    ### Step 2: Create an evaluator

    In the left sidebar, click **Evaluators**, then **New Evaluator**. Select the evaluator template that best aligns with what you want to test. You might check whether the agent chose the right tool, completed the task, or returned a hallucinated response.

    <Frame caption="The template picker.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/05-eval-hub-select-template.png" alt="Evaluator template selection showing Hallucination, Relevance, and other templates" />
    </Frame>

    1. Give your evaluator a name.
    2. Select your LLM provider and model (e.g., OpenAI GPT-4o)
    3. Review the template and customize the criteria to match your rubric, or leave it as-is to get started quickly
    4. Click **Create Evaluator**

    <Frame caption="Configuring an evaluator.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/06-eval-hubconfigure.png" alt="Configuring an evaluator with LLM provider and template" />
    </Frame>

    ### Step 3: Create a task to run your evaluator

    An evaluator on its own is just a template. To run it on your data, create a [**task**](/docs/ax/evaluate/run-evals-on-traces#what-is-a-task), an automation that applies your evaluator to incoming traces.

    1. Click **New Task** and select the evaluator type you created.
    2. Click **Add Evaluator** and select the evaluator you created in the previous step.
    3. Set the data source as your project, the cadence to **Run continuously on new incoming data**, and sampling to **100%**
    4. Map your span attributes to the template variables
    5. Click **Create Task**

    <Frame>
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/07-eval-task-variable_mapping.png" alt="Variable mapping panel showing template variables mapped to span attributes" />
    </Frame>

    <br />

    <Frame caption="The Running Eval Tasks tab with an evaluator task active.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/08-eval-task_running.png" alt="Running Eval Tasks tab showing an evaluator task active" />
    </Frame>

    ### Step 4: See evaluation results on your traces

    Wait a couple of minutes, then go back to your project. You'll see [evaluation](/docs/ax/evaluate/run-evals-on-traces#viewing-results) scores on each trace. Filter by score to find failures and click into any trace to see the evaluator's label, score, and explanation.

    <Frame caption="A traces list with evaluation score columns.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/10-traces-with-eval-scores.png" alt="Traces list with evaluation score columns showing evaluator labels" />
    </Frame>

    <br />

    <Frame caption="A trace detail with the evaluator's label, score, and explanation.">
      <img src="https://storage.googleapis.com/arize-phoenix-assets/assets/images/arize-docs-images/get-started-images/11-trace-with-eval-detail.png" alt="Trace detail showing an evaluator label with judge explanation" />
    </Frame>
  </Tab>

  <Tab title="By Code">
    Run this workflow from the [Python SDK](/docs/api-clients/python/overview), [TypeScript SDK](/docs/api-clients/typescript/version-1/overview), or [`ax` CLI](/docs/api-clients/cli/overview). Some features are in alpha or beta - please check individual reference pages for details.

    | Step                                  | Python SDK                                                                            | TypeScript SDK                                                                            | CLI                                                      |
    | ------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -------------------------------------------------------- |
    | Create an evaluator                   | [Link](/docs/api-clients/python/version-8/client-resources/evaluators#create-an-evaluator) | [Link](/docs/api-clients/typescript/version-1/client-resources/evaluators#create-an-evaluator) | [Link](/docs/api-clients/cli/evaluators#ax-evaluators-create) |
    | Create a task to run your evaluator   | [Link](/docs/api-clients/python/version-8/client-resources/tasks#create-a-task)            | [Link](/docs/api-clients/typescript/version-1/client-resources/tasks#create-a-task)            | [Link](/docs/api-clients/cli/tasks#ax-tasks-create)           |
    | See evaluation results on your traces | [Link](/docs/api-clients/python/version-8/client-resources/spans#filter-spans)             | [Link](/docs/api-clients/typescript/version-1/client-resources/spans#list-spans)               | [Link](/docs/api-clients/cli/spans#ax-spans-export)           |
  </Tab>
</Tabs>

## Congratulations!

Every response your app generates is now automatically scored for quality. You've gone from *"I think it's working"* to *"I can measure exactly how well it's working."* Instead of manually reviewing traces, you can filter to just the ones that failed, and you have an explanation of what went wrong.

Your [evaluations](/docs/ax/evaluate/evals-overview) have probably revealed a pattern: some responses may score poorly because your app did not anticipate certain failures. For example, the system prompt might say "be helpful," but nothing tells the agent to stick to the information it has, or to say "I don't know" when it doesn't. That's a prompt problem, and it's exactly what we'll fix next.

**Next up:** We'll walk through how to improve your agent using Arize's Prompt Playground and Experiments features.

<CardGroup cols={2}>
  <Card title="Next: Improve Your Agent" icon="arrow-right" href="/docs/ax/get-started/get-started-improve-your-agent" />

  <Card title="Learn more about Evaluations" icon="book-open" href="/docs/ax/evaluate/evaluators" />
</CardGroup>
