Your Prompts Are Missing One Layer

Most people fix a broken AI conversation by rewriting the whole prompt. This method fixes it by adding one missing layer, and the model stops guessing for good.

u/Majestic_Pie_2512 posted a breakdown on r/PromptEngineering that nails the exact moment prompts fall apart, and it’s not where you’d expect. The author isolates one layer on purpose: measurable criteria. Role, constraints, clarification, terminology, all present in the example prompt. Criteria, missing. That gap is the whole post.

Quick Start: if your AI keeps “getting it wrong” after multiple corrections, check whether you ever gave it numbers. Not vibes like “persuasive” or “several.” Actual numbers for quantity, length, and tone. If you didn’t, that’s the fix below.

The Setup

The example prompt looks solid on paper:

“You are a copywriter. Write several persuasive versions of landing page copy with a call to action.

Don’t go beyond copywriting. If asked to do something outside your role, refuse.

Ask if anything is unclear.

By ‘versions’ I mean different approaches to the offer.”

Role: there. Constraints: there. Clarification: there. Terminology: partially there. But nowhere does it say how many versions, how long each one is, or what “persuasive” actually means in this context.

Old Way vs New Way

The old way treats vague words as clear instructions and lets the model fill in the blanks. Here’s what that looked like in the author’s walkthrough, moment by moment:

  1. User says “write the versions.” The model doesn’t know the count, assumes three.
  2. User says “no, I need more.” The model doesn’t know how much more, assumes ten.
  3. User says “too much.” The model doesn’t know the target, assumes fewer.
  4. User says “the copy is weak.” The model assumes “weak” means low emotion, adds exclamation marks.
  5. User says “now it’s too pushy.” The model assumes “pushy” means the exclamation marks it just added, strips them out.

Five corrections, five guesses, all of them stacked into context. The user wanted one specific thing the whole time: five versions, 100 words each, calm tone, zero exclamation marks. He never said that out loud. He assumed “several” and “persuasive” already covered it.

Here’s the part that stings: the model picked the statistically most common meaning of “several,” which training data says is usually three. Every correction after that became a new guess layered on the last one, not a fix.

The new way treats every vague word as undefined until proven otherwise, and it asks before it writes anything. That’s the contrast the whole post is built around: stop assuming the model will read your mind just because it can ask questions. It only asks about things it thinks are unclear. “Several” and “persuasive” don’t register as unclear to a model. They register as vague, and vague isn’t the same trigger as unclear.

The Fix: A Criteria Block

The author’s solution isn’t “be more specific” bolted onto the end of your prompt. It’s a dedicated block that forces the model to confirm numbers before it generates anything:

CRITERIA (MANDATORY NUMBERS AND FORMATS)

Before generating any output, confirm with the user:

Quantity – how many versions? (A number.)

Length – how many words or characters per version? (A number.)

Tone – what style? (Calm, aggressive, friendly, expert?)

Call to action – how many CTAs? (A number or zero.)

VAGUENESS CHECK:

Before requesting a criterion, check:

  • Can it be understood in more than one way?
  • Does it depend on taste?
  • Does it have a numerical expression?

If a criterion is vague, treat it as undefined. Request a number or format from the user.

RULE: If a criterion is not defined, request it BEFORE generating. Do NOT substitute your own values.

Why each piece matters:

  • 🔢 “Confirm the criteria” kills the model’s habit of quietly assuming.
  • 🔍 The vagueness check flips the model from passive to active. It hunts for the gap instead of waiting for you to notice it.
  • 🚫 “Treat it as undefined” closes the “I think I already know” loophole.
  • 📏 “Request a number or format” turns taste into something measurable.

Practical Steps

  1. Take your working prompt and list every adjective that isn’t a number: persuasive, weak, pushy, professional, punchy.
  2. Run the vagueness check on each one. If it fails any of the three tests, it’s undefined.
  3. Drop the criteria block into the prompt, right after your role and constraints.
  4. Answer the model’s first round of questions with real numbers, not more adjectives.
  5. Reuse the block across prompts in the same category. Copywriting, code review, content briefs, all benefit.

One side effect the author points out is worth calling out on its own: this block doesn’t just help the model. It exposes that the user often didn’t know the number either. “Several” turns into an actual conversation about what you meant, maybe for the first time.

One commenter, u/eennrriigghhtt, pushed back a bit, arguing this conflates ambiguity with genuinely subjective instructions like “make it feel more premium.” Fair point, and it’s worth sitting with: some criteria really can’t reduce to a clean number, so the vagueness check becomes your judgment call, not the model’s.

Next time a conversation with your AI spirals into three, then ten, then “too much,” you’ll know exactly where it broke. Go build your own criteria block and check out the full thread for the discussion on where the line between vague and subjective actually sits.

Frequently Asked Questions

Q: Do I really need to turn everything into numbers, or can subjective guidance work?

Great question, one commenter pushed back on exactly this. Subjective guidance like “make it feel more premium” or “less corporate” absolutely can work. The post’s real concern isn’t about numbers vs language. It’s about what happens when you iterate on subjective feedback alone. Each round of “I need more” or “that’s too pushy” forces the model to guess what changed. You get better results with subjective criteria if you define them upfront with examples, rather than adjusting them through multiple rounds.

Q: How do I give subjective feedback without confusing the model?

Provide reference points. Instead of just saying “make it punchier,” try “use the tone of this [example], but keep the professionalism of that [other example].” In iterative feedback, comparative language helps too. “Option B is closer to what I want, take that direction” tells the model exactly what’s working, not just what you dislike.

Q: When should I use measurable criteria vs subjective language?

If you’re doing a one-shot prompt, subjective guidance with strong context works fine. But if you’re planning multiple rounds of feedback, measurable criteria save time and frustration. Measurable doesn’t mean only numbers. “3 versions, 150-200 words, conversational tone” is measurable. It gives the model a clear baseline so each round of feedback refines, not resets.

Why a Prompt Without Measurable Criteria Will Inevitably Break Your Model
by u/Majestic_Pie_2512 in PromptEngineering

Scroll to Top