Multi-turn changes everything
A single-turn eval asks "is this response good for this question?" A conversation eval asks "is this conversation going well?" The second is much harder, because quality depends on context, memory, consistency, and trajectory.
Conversation-specific metrics
- Turn-level quality — each response evaluated independently (still useful).
- Context retention — does the bot remember what was said earlier?
- Topic coherence — do later turns follow logically from earlier ones?
- Repetition — does the bot repeat itself?
- Conversation completion rate — what fraction of multi-turn flows reach a successful end state?
- User-effort signals — turns to resolution, escalation rate, abandonment rate.
Two evaluation patterns
- Frozen-conversation eval — pre-recorded conversations replayed against the new system. Fast, cheap, deterministic. Misses behaviors that depend on the bot's actual responses.
- Live-simulation eval — a "user simulator" (another LLM) holds a conversation with your bot. Captures emergent behavior. Slower, more expensive, more realistic.
Principle: Run both frozen and simulated conversation evals. Frozen catches regressions cheaply; simulated catches what frozen can't see.
Production conversation telemetry
Track turns-to-resolution, abandonment rate, and escalation rate as live metrics. They are user-effort proxies — when they degrade, the conversation experience has gotten worse, even if turn-level quality looks unchanged.