// the assumption
We hand the model a long prompt or a long pasted document and assume it reads the whole thing with even attention — top, middle, bottom, all the same. So it shouldn't matter where the key instruction sits.
The reality is a U
Recall isn't flat. It follows a U shape: strong at the very start (primacy) and the very end (recency), and weakest right in the middle. The paper that named it — "Lost in the Middle" — puts it plainly: performance is highest when the relevant info is at the beginning or end, and "significantly degrades when models must access relevant information in the middle of long contexts, even for explicitly long-context models."
The evidence
In that study, moving the single relevant document from the ends to the middle dropped multi-document QA accuracy by more than twenty points (roughly mid-seventies at the ends down to mid-fifties in the middle). In the worst cases — long stuffed contexts — the model scored worse than getting no documents at all (its closed-book baseline was 56.1%). More context actively backfired.
Why it happens
Two forces stack. Position bias pulls attention toward the ends, and sheer length wears the model down — the longer the input, the more the middle gets lost. Chroma's context rot study tested eighteen current models and found performance "varies significantly as input length changes, even on simple tasks," with all of them degrading as input grew — and they saw "significantly higher performance on focused prompts compared to full prompts."
The fix
You don't need a clever prompt trick. Put the most important instructions or facts first or last, and keep the context lean. A bigger pile of context isn't a smarter agent — it's a deeper hole to bury your point in. Don't put the lede in the middle.
Sources: Liu et al. — Lost in the Middle (arXiv 2307.03172) · TACL vol. 12 (2024) · Chroma — Context Rot: How Increasing Input Tokens Impacts LLM Performance
One concept a week. Free.
The deeper, copy-paste version of each ToolCall short — in your inbox.
// total: 0.00 · spam: void · unsubscribe: one click
