Skip to main content
An online eval runs continuously against your production traces: you take an evaluator you already built and attach it to a task pointed at a live project. Any evaluator works here - an LLM judge, a code evaluator, an agent-as-a-judge, or a remote evaluator. For the full anatomy of a task - evaluators, data source, variable mapping, cadence and sampling - see How tasks work. You’ll need traces flowing into Arize AX and an LLM provider configured. See AI Provider Integrations. Most teams start with a one-time backfill over historical data to set a baseline, then switch on a continuous task.

Start from real traces

Before automating, read real traces in your tracing project to understand where things go wrong. Group failure patterns into a taxonomy - each category can map to an evaluator or filter. To capture those categories as structured labels, see Human review.
Arize AX tracing project showing Playground Traces with summary cards for traffic, span latency, tokens and cost, a traces table with LLM rows and input and output columns, filters and date range, and Ask Alyx open on the right

Playground Traces

Create a task

Create a task in any of these ways.
Let Alyx set up the task for you. Press Cmd+L (macOS) or Ctrl+L (Windows/Linux) to open Alyx and try: “Create an online task that runs this eval on 10% of traces”
Evaluators page with Evaluator Hub tab and New Task side panel showing task name, project and trace source with an LLM span filter, an added span evaluator, Run Continuously on with 100 percent sampling, and Create Task

Create a task to run over your data

Use the arize-evaluator skill to create and trigger tasks via the ax CLI without leaving your editor. Install the Arize skills plugin in your coding agent if you have not already. Then ask your agent:
  • “Create a continuous task to run my hallucination evaluator on my project”
  • “Trigger a backfill eval run on my project for the last 7 days”
  • “Set up a task that only evaluates LLM spans”
Terminal showing ax tasks create for a Hallucination Monitor continuous task, success with LLM span filter and input output column mapping, and agent follow-up explaining LLM-only span scoring

Task skill

Task configuration

Sampling rate

Start at 10–20% and increase once you have validated your evaluator is working correctly. Sampling applies at the highest evaluator scope on the task (session > trace > span). Evaluators at lower scopes then run on all matching data inside that sampled set. The same ordering sets the ceiling on a one-time backfill: the maximum number of items is based on the highest scope on the task.

Filters

Use filters to target specific subsets of your data:
  • Span kind: Only evaluate specific span types (for example LLM spans)
  • Model name: Only evaluate spans from a specific model
  • Metadata: Only evaluate spans with certain metadata tags
  • Span attributes: Filter on any span attribute
A filter matches spans directly, and admits the traces or sessions that contain a matching span.
Evaluators page with New Task panel showing target project and traces, a span kind query for LLM spans, Add Evaluator, Run Continuously and sampling, One-Time Backfill, and Advanced options including LLM Override and Enable Tracing

New Task

Multi-span queries (trace and session evals)

For trace and session evaluators, you can use a multi-span query (MSQ) - the same filter model as multi-span filters on the Tracing page. Named span subqueries (A, B, C, …) are combined with operators (AND, OR, NOT, ->, =>) to express patterns like “retrieval happened, then an LLM answered” or “agent directly called a tool.”
Find the traces or sessions where a pattern of spans occurred - then evaluate only the spans that matter.
Example - RAG audit Expression: A => B - retriever is the direct parent of the LLM span. Subquery-aware variable mapping: For each template variable, specify which column to read and which subquery(ies) may supply it. {conversation} (session evals only): A virtual variable - not a column. The platform builds a formatted transcript from each root span (parent_id IS NULL) in the session and injects it into the prompt. MSQ does not replace sampling or cadence - it replaces the filter half of the task. Sampling applies after admission, at the trace/session unit level. For operator syntax (->, =>, parentheses), see Multi-span filters. For span vs trace vs session scope, see Evaluation levels.

Run evals continuously

For tasks that use Run continuously on new data, evaluators from the Eval Hub (including pre-built LLM judge templates) run on incoming traces on a rolling schedule. When you create a task and add an evaluator, you can pick a template from the hub before mapping columns and saving. On the Evaluators page, the Running Eval Tasks tab lists every task, its target and evaluators, a snapshot of the last few runs, and View Logs when you need execution details.
Evaluators page on Running Eval Tasks tab showing a table of task names, project or dataset targets, attached evaluators, created and last run times, last five runs status pills, and View Logs actions

Running Eval Tasks

Viewing results

Once a task runs, results attach automatically to the spans it scored. See Results and costs for where scores appear in the tracing UI, how to chart them over time, and how to read task logs when a run fails.