AI call
scoping
A model attends over one undivided context and produces one stream of output. Asking a single call to do several jobs lets them contaminate each other and gives the error room to compound.
Scroll, click, or use the arrow keys to move through.Scroll, or use the arrows and dots to move through.
Everything in the window shapes every token of the output.
When the model produces a token it attends over the whole context. The instructions, the document, the examples, and whatever it has written so far.
There is no partition. Nothing keeps one task’s material away from another task’s output. This is the same mechanism that makes a worked example improve an answer, running in a direction nobody asked for.
Three jobs in one call pull on each other.
Summarize this support thread, extract the account ID, and judge the customer’s tone. All three in one call.
The tone assessment colors the summary, which comes back sharper than the thread was. The summary’s emphasis pulls the extraction toward the account number discussed most in the body, rather than the one in the header field.
Nothing failed. Three answers came back. Two of them are subtly shaped by a job they had nothing to do with.
A longer answer has more room to drift.
Each token is produced conditioned on the tokens before it. An early drift is carried through everything generated after it.
A call asked for four things produces roughly four times the output. The drift gets four times the room. There is no point in the middle where anything could have caught it.
A schema guarantees the shape. It does not guarantee the values.
Most providers can now enforce a schema while the answer is being generated, so the JSON parses. That is worth having and it solves one problem only.
A schema spanning four concepts produces a valid block with fields filled from the wrong concept. That is a worse outcome than a parse failure. A parse failure is free to catch. A plausible wrong value is not.
Two things hold regardless of the schema. Per-field accuracy falls as the schema grows and nests. And the block fails as a unit, so one bad field costs the thirty that were right.
Each call sees only what its own job needs. Each answer is checked before the next step uses it.
Splitting the work does not have to mean waiting longer.
A step only has to wait when it needs the previous step’s output. Steps that depend on the same input and not on each other can be issued at the same time. The clock becomes the slowest of them rather than the sum.
A narrow step does not need the largest model.
Pulling four fields off an invoice is work a cheaper and faster model does just as well. Choosing a category from a fixed list is the same.
Scoping the calls is what makes that possible. One wide call has to run on a model big enough for its hardest part. Every easy part pays that price too.
Each extra call costs a round trip.
Split a job into twenty steps and the cost is twenty round trips, twenty sets of instructions, and twenty places for the plumbing to break.
The limit is one job per call, not one sentence per call. If a person would describe it as a single action, it is a step.
One job per call, one concept per block, and run the independent work at once.
Everything in a context shapes everything in the output. Scoping the calls is what stops that being a problem. It is also what makes each step checkable, cheap and fast.