Before you start
Have these ready:- Wonder Toys running with tracing enabled.
- The budget judge from Write and validate an LLM judge, using the same rubric as your experiments.
- Your Anthropic API key in
no-observability/langchain-py/.env.localfrom your setup.
Step 1: Choose a new run to review
Start a new conversation in the Wonder Toys agent and send a request such as:- Open Tracing → wonder-toys and select the completed request.
- Select the top Wonder Toys span. Check that Input is the shopper’s request and Output is the final answer.
- Copy the trace ID from the trace header. Use the trace ID, not the selected span’s ID.

Select the application’s root span, check the request and answer, then copy the trace ID from the header.
Step 2: Score the recorded answer
Use that trace ID with the supplied scoring script. It reads the saved request and answer, calls the budget judge, and attaches the judgment to the root span. It doesn’t rerun the shopping agent. From the Wonder Toys repository root, replaceYOUR_TRACE_ID:
- Replace
http://localhost:6006if Phoenix runs elsewhere. - Use your app’s
.env.localpath for--env-fileif you configured it elsewhere. - Add
--project YOUR_PROJECTif your project isn’t namedwonder-toys.
budget_compliance_judge annotation marked LLM in the kind column, separate from your manual budget_compliance review.
Step 3: Check the judgment against the answer
Now review the result the command attached. Refresh the trace and select the same root span:- Expand Annotations and select Table.
- Find
budget_compliance_judgeand read its label and explanation. Use the wrap-rows control if the text is cut off. - Compare the judgment with the shopper’s request and the agent’s answer in Input and Output below.

Open Annotations on the root span to inspect the LLM judgment and its explanation.
fail: Identify the recommendation that violated the limit.pass: Check that the explanation didn’t overlook an expensive recommendation.needs_review: Inspect the ambiguous or missing evidence. This label has no numeric score.
Step 4: Save useful cases after review
Your review determines what to change next:- A confirmed agent failure: Use Add to Dataset on the root span. Save the request and set Output to the expected behavior before saving, following Turn failures into representative cases. Preserve the source trace.
- A useful passing case: Keep it when it adds coverage you want to preserve in future comparisons.
- An incorrect judge decision: Use the answer in your judge-validation exercise and review the rubric before relying on more scores.
Step 5: Repeat the review
As your application receives more requests, choose a sample of captured runs to review using the same process:- Which runs to select and how often to review them.
- Which evaluator and rubric version to use.
- Who reviews failures and uncertain judgments, and when.
You’ve completed the core learning path
You’ve followed Wonder Toys from its first trace through testing changes and reviewing new runs. Along the way, you’ve practiced how to:- Understand behavior: Inspect model calls, tool results, and conversations.
- Find failures: Review traces and feedback, then save representative test cases.
- Design evaluations: Write code checks and validate an LLM judge against reviewed examples.
- Test a change: Compare prompt and agent versions, and verify completed tasks with Harbor.
- Ship and repeat: Explain a release decision, repeat critical checks, and use new requests to improve the tests.

