Prompt engineering asks how to phrase an instruction. Context engineering asks what should be in the window at all. As applications moved from single prompts to agents that run for many turns and call tools, the second question became the harder one.
The work is mostly budgeting. A window holds a fixed number of tokens and everything competes for it: system instructions, tool definitions, retrieved documents, conversation history, prior tool output. Filling it is easy and usually wrong, because long contexts degrade in the middle and cost scales with every token.
Practical decisions look like this. How many retrieved chunks earn their place, five or twenty. Does turn forty still need turn three verbatim or a summary. Do all fourteen tool definitions load every call, or only the ones this task can reach. Where does the instruction sit relative to the data, given that models attend more reliably to the beginning and the end.
Teams that treat the window as a managed resource, with measured budgets per section, tend to get more from a mid-sized model than teams that simply reach for a longer one.

