Skip to main content
In the previous guide, your evaluator revealed a pattern. Take a common one: your app asserts things it cannot back up with a source. Your system prompt might say “be helpful,” but it never tells the agent to stick to the information it has or to admit when it doesn’t know. Whatever failure pattern your own evaluator surfaced, the workflow is the same: rather than guessing at a fix and redeploying, start from a real failure, fix it in Playground using the exact inputs that went wrong, then validate across a full dataset before shipping.
Arize AX Traces view with Alyx assistant open, a request about evaluator failures this week, and Alyx task plan and progress

Reviewing the traces an evaluator flagged, with Alyx open to help triage.

This is Part 3 of the Arize AX Get Started series. You should have completed the Evaluations guide first, with evaluation scores visible on your traces.

Choose how you want to work

Use Arize Skills to have your coding agent run improvement workflows from your editor, Alyx for a conversational approach inside the Arize platform, the UI for a hands-on step-by-step experience, or Code to run programmatically. In each path, you’ll build a dataset from failing traces, iterate on your prompt, and compare experiments before shipping.
Use Arize Skills with your coding agent to run the same workflow from your editor. The example prompts below are what you type to your agent. The skill loads automatically and handles the rest. Install the skills plugin and follow Set up Arize with AI coding agents for authentication and CLI setup.

Step 1: See evaluation results on your traces

arize-traceSpans include labels once an eval task has run; see Viewing results in the tracing UI.For example, you might say:
Export spans from my project where my evaluator failed this week
Terminal showing ax spans export command, export success message, summary of flagged spans, and a table of span and trace IDs with evaluator columns

Exporting the spans an evaluator flagged as failures for triage.

Step 2: Create a dataset

arize-datasetFor example, you might say:
Create a test dataset from those failing traces
Terminal: a test-cases dataset created from failing traces, with schema fields for input, reference text, original output, trace and span IDs, and status counts

A test dataset created from the failing traces.

Step 3: Improve the system prompt

arize-prompt-optimizationFor example, you might say:
Extract the system prompt from the failing spans and generate an improved version. Use my evaluator’s labels and explanations as signal for what to fix.
Improved system prompt with notes referencing evaluator labels and span-level failures

An improved system prompt generated from the failing spans, using the evaluator's labels as signal.

Step 4: Run both prompts as experiments

arize-experimentReuse the same evaluators you trust in production; see Run evals on experiments.For example, you might say:
Run both prompt versions (original and the updated one) against the dataset and compare my evaluator’s scores.
Experiment comparison table: original prompt at 4/5 versus improved prompt at 5/5 (100%)

An experiment comparison showing the improved prompt scoring higher than the original on the evaluator.

Congratulations!

You’ve completed the full improvement loop:
  1. Traced your app to see what’s happening inside it.
  2. Evaluated responses automatically to measure quality.
  3. Improved your prompt using real failure data in the Playground.
  4. Proved the improvement works across a representative dataset with experiments.
You now have a repeatable, data-driven process for improving your LLM application. No more guessing, no more hoping - you can measure quality and demonstrate improvement. Next up: Deepen your tracing foundation so your improvement loop stays grounded in complete, high-quality telemetry.

Next: Tracing concepts

Learn more about Experiments