What goes into a request block
Context engineering is the practice of deciding, deliberately and measurably, what text goes into each model request.
Why the decision exists at all
A language model is stateless. Every request is independent of every other:
- it retains nothing from previous requests
- it cannot read your filesystem, database or source code
- it knows nothing about your organization, product or customers
It receives one input — a single block of text — and returns one output. Your program constructs that input on every call. Nothing else does.
What the block is made of
| source | what it is | decided by | decided when |
|---|---|---|---|
| task | the user's input, unmodified | the user | at request time |
| carried context | material attached to every request | you | at design time |
| fetched context | material retrieved for this request only | your code | at request time |
When assembly becomes an engineering problem
Two conditions turn block assembly from string concatenation into a design decision. Either one is sufficient.
1. Your material exceeds the window. The block has a fixed maximum size. Once your material is larger than it, some of it cannot be sent and you must decide which.
The maximum is the context window. It is measured in tokens; this volume measures words, because every figure here is a comparison between two arrangements of the same pieces and the unit cancels.2. Your material changes. A policy is revised, a runbook corrected, an API versioned. Any copy of that material embedded in a caller is now wrong, and nothing reports it.
Both failures are silent
The model does not report a missing document and it does not report a truncated block. It answers with what it received, in the same tone it would have used if it had everything.
The scale this volume works at
| in the labs here | |
|---|---|
| pieces of context | 6 per job |
| requests per job | 30 |
| the window | 1200 words |
| arrangements tried | all 64 — every way of carrying or fetching six pieces |
Six pieces is small. It is enough to show the mechanism and, as step 12 says, not enough to say anything about sixty.
What to take from this step
- The model is stateless; your program builds the entire input every time.
- Three sources go into the block, and you decide two of them.
- Both failure modes are silent, so the only way to see them is to count.