Your evaluation set has three hundred questions and the model answers them well. In production, users report that it "forgets things" and "goes in circles". Both observations are correct, and your evaluation cannot detect either, because every question is asked in isolation.
Conversations fail differently from single questions. The characteristic failures — losing a constraint stated three turns ago, misresolving "the second one", accepting a correction and then reverting to the original error — only appear across turns.
What changed in 2026
- Chat became the dominant interface. Most LLM products are conversational, which made single-turn-only evaluation an obvious gap.
- Simulated users matured. Scripted and model-driven user simulators became a practical way to generate reproducible multi-turn tests.
- Trajectory scoring spread. Assessing the path rather than only the final answer became standard for agentic and conversational evaluation.
- Agent evaluation converged with it. An agent run is a multi-turn interaction, so the same techniques applied.
What breaks across turns
| Property |
Failure it produces |
| Reference resolution |
"The second one" resolves to the wrong thing |
| Constraint retention |
A limit stated at turn two is ignored at turn six |
| Correction handling |
User corrects an error, model reverts later |
| Topic tracking |
Model answers a previous question, not the current one |
| Consistency |
Model contradicts what it said earlier |
| Appropriate clarification |
Guesses rather than asking when genuinely ambiguous |
Constraint retention is the one users complain about most. Someone says "keep responses under fifty words" at the start; by turn eight the responses are three paragraphs. The instruction is still in the context and its influence has faded relative to more recent content.
Correction handling is the most damaging. A user corrects a factual error, the model acknowledges it, and two turns later reasons from the original wrong value — which reads as not listening.
Scripting the user
Reproducibility is the design problem. Real transcripts are realistic and unusable for comparison, since you cannot replay a human.
Fixed scripts are the reliable default: predetermined user turns, delivered regardless of what the model says. Every run is identical, so results are comparable across model and prompt versions. The limitation is that if the model responds unexpectedly, turn four may not follow sensibly — which is acceptable for a test suite and would be strange in a demo.
Simulated users — a model playing the user role with a goal — produce more natural conversations and reintroduce variability, since the simulator responds differently to different model outputs. Useful for exploration, weaker for regression detection.
Most suites want fixed scripts for the regression tier and simulated users for broader exploration. The scripts should encode the specific properties above: state a constraint early and check it later, use a pronoun referring back several turns, correct an error and verify it stays corrected.
Score the path
The final answer alone is insufficient, for the same reason it is insufficient in agent evaluation: a correct answer reached through a wrong path is not reliable.
Assert on the trajectory. Did the model retain the constraint at each turn where it applied? Did it resolve the reference correctly at the turn where it mattered? Did it ask for clarification where the input was genuinely ambiguous?
Per-turn assertions localise the failure, which is the practical benefit — knowing the conversation broke at turn four is far more useful than knowing the final answer was wrong. This is the same reasoning that makes per-step spans valuable in agent observability.
Property assertions transfer well here. Response length, format compliance, presence of a required disclaimer, and absence of a forbidden claim are all checkable per turn without a judge model, per LLM regression testing.
Common mistakes
- Single-turn evaluation for a chat product. Misses the entire class of conversational failure.
- Real transcripts as regression tests. Not reproducible.
- Final-answer-only scoring. Hides where it broke.
- No constraint-retention cases. The most common user complaint, untested.
- Conversations too short. Failures appear at depth; three turns may not reach it.
- Simulated users in the regression tier. Variability defeats comparison.
FAQ
How long should test conversations be?
Long enough to reach where failures occur, which is usually deeper than expected. If your users have twenty-turn conversations, a five-turn test does not cover the behaviour they experience.
Should I test with compaction enabled?
Yes, if production uses it — compaction is precisely where constraints get lost. Testing without it means testing a different system, per context compaction.
How does this differ from agent evaluation?
Very little structurally. An agent run is a multi-turn interaction where the other party is a set of tools rather than a person, and trajectory scoring applies identically.
Can I automate the scoring?
Property assertions, yes and cheaply. Judgements about whether a response was contextually appropriate need a judge model, with the usual validation — see LLM-as-judge.
Where to go next
For the single-turn foundation, read golden datasets and LLM regression testing. For the drift that degrades any suite over time, eval drift.