A single exchange tells you little about a conversation. MultI-turn evaluation measures quality across the whole thread - whether the assistant holds context, stays consistent, and helps the user reach a goal. Here's what changes when you stop scoring one turn and start scoring the conversation.
What's different about multi-turn
Single-turn evals ask: "given this input, was this output good?" Multi-turn evals ask: "across this thread, did these turns build on each other?" The second question draws in new failure modes that are invisible turn-by-turn:
- Context retention - does the model remember the user's earlier constraints, preferences, and stated facts?
- Helper-action consistency - does it promise to do something in turn three and actually follow through later?
- Conversation flow - are the turns coherent, or does the model drift and repeat itself?
- Conflict handling - when the user changes direction, does the assistant reconcile or contradict its earlier answers?
Metrics that actually matter
Instead of scoring every turn in isolation, score the things that compound across turns:
- Grounding throughout the thread - are facts introduced in the first turn still respected in the last?
- Goal completion - did a multi-step request (book, confirm, summarize) end resolved?
- Consistency score - an AI judge that reviews the whole transcript for self-contradiction.
- Helper-quality - relevance and helpfulness of each response, averaged but also tracked for drift.
- Error recovery - when the model stumbles, does it recover gracefully at the thread level?
Building a multi-turn dataset
Multi-turn evaluation needs transcripts, not Q&A pairs. The hard part is annotating them: label the thread with an overall goal, mark the goal as met or not, and flag any turn where context was lost. Once you have a few hundred labeled transcripts, AI judges can score the rest and your evals start to reflect how users actually talk to your product.
# A multi-turn dataset scores transcripts, not single pairs
# Each record: full thread, the goal, and per-turn annotations.
# 1. Load a transcript (user + assistant turns)
# 2. Score context retention at the thread level
# 3. Score goal completion
# 4. Aggregate into a conversation-level pass/fail
Wire it into CI, then production
Multi-turn evals belong in your regression gate. Run them on every prompt change so a tweak that breaks long conversations fails the build. Then monitor live threads in production - sampling long conversations and scoring them with the same judges - so new multi-turn regressions surface before users file bugs.
Score the conversation, not just the last message.
Next steps
Start with a small transcript dataset, add a thread-level goal-completion metric, and gate your prompt changes on it. Pair multi-turn evaluation with LLM evals and production monitoring to cover short answers and long conversations alike. For the full metrics landscape, see our LLM evaluation guide.