I keep watching teams treat the context window as a bucket: pour in everything that might be relevant and hope the model sorts it out. It doesn't. Every token of history is a token the model isn't spending on the actual task, and the marginal token is rarely the one that helps.

The reframe that works: a window is a budget. You get a fixed allowance per turn and you allocate it — system prompt, tools, retrieved context, working state — the way you'd allocate any scarce resource. When something new comes in, something old has to leave.

What this changes

Once it's a budget, the interesting questions become product questions, not infra ones. What's worth keeping resident? What can be re-fetched on demand? Where does a summary beat the raw trace? Those trade-offs are the same ones that make tool calls behave like I/O, and they compound once you're paying the latency tax of a multi-agent system.