← All guides

“Make it good” tells the model nothing

Good. Engaging. Compelling. Professional. High-quality. Appropriate. Relevant.

These words feel like requirements. They are not. They are judgements, and a judgement is something you apply after seeing the work — not an instruction the work can be built from.

Three judgements, zero instructions
Write a good blog post about our product. Make it engaging and use some nice examples for our readers.

Instant checks

9 key structural practices evaluated locally

67% Coverage6/9
  • States a concrete task

    Passed
  • Avoids vague language

    Consider

    Contains vague words such as "good", "better", or "appropriate".

    Recommendation — Replace judgement words with observable criteria. "Make it better" gives the model nothing; "cut it to 100 words and drop the passive voice" does.
  • Specifies an output format

    Consider

    The wanted output format, length, or structure is never stated.

    Recommendation — Say what shape the answer should take — JSON, a table, three bullets, under 200 words. Left unsaid, models default to prose you then have to parse.
  • 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

    Consider

    No statement of what a successful answer contains or avoids.

    Recommendation — Name the constraints — what to include, what to leave out, what would make the answer wrong. It gives the model something to check itself against.
The vague-language check fires on “good”, “engaging”, and “nice”.

Why vague words produce bland output

A model asked to write something "good" has to decide what good means. With nothing to go on, it does the safest possible thing: it produces the median. The most average, least surprising, most inoffensive version of the thing you asked for — because the median is the answer least likely to be wrong when you have not said what right is.

This is the origin of most complaints about AI writing sounding generic. The generic tone is not a limitation of the model. It is what you get when the prompt contains no information to be specific about.

The same applies to the model's own self-checking. Modern models do review their work before answering. But they can only check against criteria they were given. "Is this good?" is not a question anything can answer. "Is this under 600 words?" is.

Turn the judgement into an observation

The trick is to ask yourself: what would I look at, to decide whether this is good? Whatever you would look at — that is the actual instruction.

Every judgement replaced with something checkable
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.

Notice that the improved prompt is not longer because it is more polite or more detailed. It is longer because each vague word expanded into the thing it was standing in for. "Avoid marketing superlatives" is doing the work that "make it good" was pretending to do.

The words to watch

The checker flags these because they reliably indicate a decision that has not been made: good, better, best, nice, appropriate, suitable, relevant, proper, high-quality, stuff, things, etc.

That last group — stuff, things, etc. — deserves its own note. They are not judgements; they are abdications. "Include the main sections, etc." means "there are more items and I did not bother listing them, you work it out." The model will work it out, and you will not like the result.

The uncomfortable part

Sometimes you try to replace a vague word and discover you cannot — because you genuinely do not know what you want yet.

That is worth knowing. It means the prompt was never the problem. No amount of rephrasing fixes an unmade decision, and a model cannot make it for you. Ten seconds deciding what "good" means will save you three rounds of regeneration.

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