Almost everyone who works with large language models has felt this: you ask for something simple, and what comes back is fluent, well-formed, and slightly beside the point. Not wrong exactly. Generic. You tweak a few words, add a constraint, say what you don't want — and the output snaps into focus.
The model didn't get smarter. The space it was navigating got smaller.
An LLM (and its multimodal derivatives) is a probability machine. At every step, it is not deciding what to do. It is sampling from a distribution over what could come next, shaped entirely by the context in front of it.
Take that seriously and prompting stops looking like instruction-giving. It starts looking like navigation.
What is actually happening inside the machine
Strip away the chat interface. At its core, the model does one thing, repeatedly:
Given everything so far, what is likely to come next?
Not what's correct. What's likely, given patterns absorbed in training and whatever context it's holding right now. That token gets added to the context. The distribution is recomputed. Another token is chosen. The sequence accumulates.
The same mechanism runs under image, audio, and video models — patch by patch, frame by frame, denoising step by step — just conditioned on more than text. A photo or an audio clip isn't extra decoration in the prompt; it's more signal narrowing the same distribution.
Nothing in this process guarantees the sequence ends where you wanted. It only guarantees it's plausible given what it was shown.
The person let loose in the city
Drop a capable person into a city they've never seen. No map, no address, no destination. Just: go.
They'll still move. At every intersection they'll pick a direction — a landmark that looks promising, the flow of foot traffic, a street that resembles one they know. Each choice is reasonable. None of it is aimed. Given enough intersections, they end up somewhere. It might even be somewhere you'd have liked. But it wasn't chosen, it accumulated, one locally-plausible turn at a time, and small early turns compound into large final distances from where you actually needed them.
That's the model, at every generation step. Your context is the only thing standing between "wandered somewhere plausible" and "arrived where you needed."
What a prompt actually is
A prompt isn't a command. It's the city itself: the signage, the landmarks, the roads left open or closed before the walker sets off.
Prompting is not telling the model what to do. It's shaping the terrain so that the paths it's likely to wander down all lead somewhere near where you want it to end up.
A vague prompt is an empty city, every direction equally plausible. A good prompt lights the right streets and closes the wrong ones, so even a walker with no direct instructions still ends up close to the destination.
Two levers: what to include, what to exclude
Narrowing a probability space works in exactly two directions.
Positive constraint: light up the right streets. The goal, the format, the facts to ground itself in, examples of the output you want. Each piece collapses probability mass onto paths resembling your destination.
Negative constraint: close off the wrong streets. Tones to skip, assumptions not to make, approaches that look plausible but are wrong for this case. This is underused. Some of the most probable-looking paths are exactly the ones you don't want: they're common because they're generic.
Most weak prompts only pull the first lever: they say what's wanted and leave every plausible-but-wrong path fully open, then are surprised when the walker takes one of them.
Why vague prompts still "work", just not reliably
This is why vague prompts don't fail loudly. They fail plausibly. The output is coherent, confident, grammatical. It's just somewhere else in the city.
This reframes hallucination a little. It isn't the model malfunctioning, it's the model doing exactly what it always does, walking the most probable route available, through a space you didn't narrow enough. Give it no source of truth to anchor to, and it will still walk, using its own training-shaped intuitions about what a plausible fact looks like in that spot.
A practical checklist for narrowing the walk
Five questions, each closing off more of the city:
Destination: What does "arrived" actually look like? The shape of a correct output, not just the topic.
Landmarks: What should it look for or anchor to? Examples, reference formats, a role to inhabit ("respond as a skeptical editor" pulls the distribution differently than "as an enthusiastic marketer").
Boundaries: What's explicitly out of bounds? Wrong tone, wrong assumptions, wrong scope.
Route: Does order matter? An unstructured walk through a multi-step task wanders more than a directed one.
Local knowledge: What must it be told rather than guess? Facts and constraints specific to your situation that no amount of "reasoning" recovers on its own.
Answer fewer of these and you're relying on the model's own sense of what's plausible to fill the gaps which is fine for generic tasks but expensive for anything else.
More signage is not always better
There's a failure mode on the other side of this. The goal isn't maximum context necessarily, it's useful context.
Hand the walker an atlas of the entire country when they need a 5 kilometre route, and you haven't helped them. You've buried the relevant streets under irrelevant ones. Poorly chosen context introduces noise and competing signals, which widens the distribution back out instead of narrowing it.
The right question isn't "what else can I add?" It's:
"What information would actually change which paths become more probable?"
The prompt is one layer of a bigger map
In a real application, what the model sees at generation time is rarely just your typed instruction. It's system rules, conversation history, retrieved documents, tool definitions and their outputs, application state, essentially, everything assembled into the context window at that moment.
This is roughly what the industry now calls context engineering, a term Andrej Karpathy pushed into wide use in mid-2025, describing it as the discipline of filling the context window with exactly the right information for the step at hand, rather than treating the typed instruction as the whole game.
The prompt lights up streets. Context engineering decides what streets exist in the first place (what gets retrieved, what tools are on the table, what's left out entirely).
The walk is never guaranteed
Two honesty checks worth holding onto.
First: even a well-built map doesn't guarantee arrival. The model can misread a requirement, rely on a bad learned association, or miss something buried in the context. Sometimes the traveller takes a wrong turn. Sometimes the map itself is wrong. A serious system still needs retrieval, validation, structured output, or human review sitting behind the prompt. Narrowing the space improves the odds, it doesn't remove the need for a check.
Second: the same prompt can produce different walks. That's not the system breaking — it's sampling from the same distribution and landing on a different route each time. Which makes fanning out a legitimate technique: ask for three approaches instead of one, and compare, rather than treating the first walk as the answer.
Prompting as iteration, not a single shot
You rarely light every street correctly on the first pass. The walker takes a turn you didn't expect and that turn tells you something: which street you forgot to close, which landmark you forgot to add. Each follow-up prompt isn't correcting a "mistake." It's narrowing the city further, based on where the last walk actually went.
This is also the real case for agentic, multi-turn setups over single mega-prompts: they let you re-narrow after every step instead of trying to wall off a perfect city in one pass.
The framework
UNCONSTRAINED SPACE
↓
DESTINATION (what "arrived" looks like)
↓
LANDMARKS (examples, anchors, role)
↓
BOUNDARIES (what's off-limits)
↓
ROUTE (order, process)
↓
LOCAL KNOWLEDGE (facts it can't guess)
↓
NARROWED PATH
↓
OUTPUT NEAR — OR AT — THE DESTINATION
The model was never going to follow instructions. It was always going to wander.
Your only real job, every time you prompt, is deciding how much of the city stays open.