← All guides

The model cannot see what you can see

You have a tab open. You know who the piece is for, why it is being written, what was tried last quarter and failed, and which competitor you are not allowed to name.

None of that is in the prompt. All of it is load-bearing.

Well-specified, and still missing the point
Write a 500-word article about database indexing in markdown. Include an example of a slow query. Avoid jargon.

This is not a lazy prompt. It has a verb, a length, a format, an example, and a constraint. By most measures it is a good prompt — which is exactly what makes it a useful example.

Instant checks

9 key structural practices evaluated locally

89% Coverage8/9
  • States a concrete task

    Passed
  • Avoids vague language

    Passed
  • Specifies an output format

    Passed
  • Gives context or audience

    Consider

    No audience, purpose, or background is given.

    Recommendation — Say who the output is for and what it will be used for. The same request answered for a beginner and for a specialist are different answers.
  • Avoids dangling references

    Passed
  • Includes an example

    Passed
  • Separates data from instructions

    Passed
  • Avoids over-aggressive phrasing

    Passed
  • Defines what a good answer looks like

    Passed
Only one check fails, and it is the one that changes the answer most.

Why this one is expensive

The same question, answered for two different audiences, is two different articles.

Written for a beginner, "database indexing" needs to explain what a table scan is before it can explain why avoiding one matters. Written for a backend engineer, that explanation is condescending filler, and the interesting content is the part about when an index makes writes slower.

The model has to pick. With no signal, it picks the middle — an article aimed at nobody in particular, which is why so much generated content reads as vaguely competent and completely unmemorable. The blandness is not the model's voice. It is the sound of an unstated audience.

What context actually means

Not "background information" in general. Three specific things:

Who reads this. Their expertise, and what they already believe. This is the highest-leverage sentence in most prompts.

What it is for. An answer written to persuade differs from one written to inform, which differs from one written to be skimmed and forgotten.

What the model could not know. Your product does not exist in its training data. Neither does your codebase, your last three failed attempts, or the fact that the CEO hates the word "leverage".

Audience and context stated
Write a launch post announcing Acme Sync.

### Audience
Frontend developers at small startups who have lost work to version mismatches.

### Context
Acme Sync keeps Figma files and production code in step. Nobody in the audience has heard of it.

### Requirements
- Length: About 600 words.
- Output format: Markdown, with a heading per section.
- Avoid: marketing superlatives.

### Example of the wanted output
## Title
Opening line naming the specific pain.

Instant checks

9 key structural practices evaluated locally

100% Coverage9/9
  • States a concrete task

    Passed
  • Avoids vague language

    Passed
  • Specifies an output format

    Passed
  • Gives context or audience

    Passed
  • Avoids dangling references

    Passed
  • Includes an example

    Passed
  • Separates data from instructions

    Passed
  • Avoids over-aggressive phrasing

    Passed
  • Defines what a good answer looks like

    Passed
Every applicable check passes.

Two clauses did all the work.

"Frontend developers at small startups who have lost work to version mismatches" — this is not just who, it is what they have experienced. That gives the model an opening line it could not otherwise have found.

"Nobody in the audience has heard of it" — one sentence, and it rules out an entire failure mode where the model writes as if the reader already knows what the product does.

The curse of knowledge

The reason this rule is so widely broken is not laziness. It is that you cannot see your own context. Everything you know feels like background, not information. The audience is obvious — to you. The purpose is obvious — to you.

A useful trick: imagine handing the prompt to a competent freelancer who has never met you, has no access to your company, and starts work in ten minutes without asking a single question. What would they get wrong?

Whatever you just thought of — that is the context. Put it in the prompt.

When you can skip it

Sometimes context genuinely does not apply. "Summarize the transcript below in three bullets" needs no audience: the task is mechanical and the answer is the same for everyone.

That is why our checker only applies this rule to writing and code tasks. A rule that fired on every prompt would be noise, and a checker that cries wolf gets ignored — which would be a worse outcome than not checking at all.

Every check in this article ran live in your browser. The same nine run on any prompt you paste in, for free.