Obsidian Metadata

Multi-turn Conversation Evaluation

Start simple

  1. Did the whole conversation meet the user’s goal? One pass/fail judgment.
  2. Look at the entire trace and focus on the first upstream failure.
  3. Read the user-visible parts first to see whether something went wrong. Only then dig into tool calls and intermediate steps.

Multi-agent trace logging

Assign a session/trace ID to each user request and log every message with its source (which agent or tool), the trace ID, and its position in the sequence. That lets you reconstruct the full path across agents.

Annotation strategy

Annotate only the first failure at first. Downstream failures often cascade from it, so fixing upstream can fix the rest. With experience, annotate independent failure modes in the same trace to speed things up.

Simplify when possible

Reproduce each failure with the simplest possible test case.

A shopping bot gives the wrong return policy on turn 4. First try the single-turn version: “What is the return window for product X1000?” If that still fails, the problem isn’t conversation context. It’s likely retrieval or knowledge, which is much easier to debug.

“Not every multi-turn failure requires multi-turn analysis.”

Test-case generation

ApproachHowTrade-off
N-1 testingReplay the first N-1 turns of a real conversation and test the next turnUsually better: real prefixes. Less flexible; assumes the system isn’t changing fast
User simulationAnother LLM plays the userFlexible and realistic when done well, but hard to do well
PerturbationModify reproduced traces in valid ways (e.g., rephrase the user)Extra coverage

When the conversation involves tools or multiple agents, use a Transition Failure Matrix to find hotspots.

Traces · Agentic Workflow Evaluation · Human Handoff Evaluation