Negative constraints that actually work
Goal: Use a clear don’t-list to block cheerleader openers, fake links, fake user counts, and unapproved roadmap dates.
Best for: When the model keeps adding hype, fake links, cheerleader openers, or unwanted structure.
“Be professional” is vague. “Do not start with Absolutely!; do not invent URLs” is testable. Negative constraints work best as a short, concrete blacklist next to your Goal and Format.
Why beginners skip this
Writing only “what to do” with no “what not to do” lets the model fill the blanks. Write negative constraints in one line.
Step 1 — Specific bans beat vibes
Turn “don’t” into concrete bans (words/structure/invention)—not just “be professional.”
Do not:
- Start with “Absolutely!”, “Great question!”, or “Negative constraints that actually work”
- Invent URLs, paper titles, or citations
- Use more than one emoji
- Add a P.S. unless I ask
- Promise discounts, refunds, or timelines I did not state
If tempted, delete and continue.
Pair with positives: what to do instead (plain opener, “Unknown” for missing links).
Step 2 — Soft-launch note rewrite
Example
Filled prompt
Rewrite this soft-launch note to existing users.
Goal: Tell them the new Guides tab is live; invite feedback.
Format: ≤ 120 words, 3 short paragraphs.
Do not:
- Cheerleader openers
- Invent URLs or user counts
- More than one emoji
- Promise a roadmap date I did not give
Input: [paste rough note]
What good output looks like
- Opens with the news, not praise for the reader’s question
- No fake links or “thousands of you already…”
- Still friendly
- You can paste into email without scrubbing
Step 3 — Keep the ban list short
If your negatives exceed ~8 bullets, split: one card for voice bans, one for factual bans. Overlong lists get ignored.
Compress my ban list to the 5 highest-impact lines. Keep wording concrete. Do not add new bans I did not imply.
Example
Filled prompt
Homepage subhead for scheduling tool.
Negatives: no "AI-powered magic," no fake "10,000 teams," no empty "seamless."
Return subhead + refused list.
What good output looks like
- Goal/Format/Boundaries all present for “Ban the specific bad habits that keep sneaking int”
- One example beats stacked IMPORTANT words
- Version/date kept when template changes
- Pass/fail: zero clarifying turns on live task
Negatives need examples
“No fluff” is vague. Show one fluffy sentence and one tight rewrite beside the never-do list.
Keep it real
Run this guide’s Practice now on work you will actually ship this week—not a fictional scenario. Dated notes beat perfect theory.
Do not bookmark-only
Finish Practice now, then tick this guide on your path. Titles unread are not skills.
Close the loop
Write one line: next time I run with no negative constraints, I refuse.
One more pass
Re-read your Save-this-card line. If it is vague, rewrite it until a stranger could apply it.
Example
Filled prompt
Landing FAQ answer about pricing.
Negatives: no "contact us for pricing" dodge if page lists a free tier; no fake enterprise logos; no "unlimited" unless my notes say it.
Notes: Free=1 seat; Pro=Unknown on site.
Draft FAQ + refused phrases.
What good output looks like
- One example beats stacked IMPORTANT words
- Version/date kept when template changes
- Pass/fail: zero clarifying turns on live task
- Goal/Format/Boundaries all present for “Ban the specific bad habits that keep sneaking int”
Red flag
Only louder “do” lines; never-do missing on a risky task—add one clear don’t.
Save this card
Card: A clear “don’t” often beats another louder “do.”. Keep this beside the tool; read before you start.
Wear-test: show your Save card to a teammate for thirty seconds—if they cannot restate the refuse line, tighten the card tonight and date it (Asia/Shanghai).
Before you start
Keep the last failing output visible. You will repair the prompt for “Ban the specific bad habits that keep sneaking” against that failure—not a fresh toy ask. Guide: prompt-negative-constraints. Keep the real job visible the whole time; a blank box means stop and fetch the artifact first.
How to use this week
This week for a real task write three negative constraints (no invented numbers, no empty openers, no language mash); fill any missing one.
Close the week by quoting aloud the refuse line you actually used once. If you cannot, rerun Practice now and date the pass/fail (Asia/Shanghai).
Pitfalls
| Pitfall | Fix |
|---|---|
| Only “be concise / be nice” | Name the banned phrases |
| 40-line constitution | Cap ~8; version the rest |
| Bans without a Goal | Negatives support Goal/Format |
| Never updating after new slop appears | Add the new phrase to vN changelog |
Example
Filled prompt
Temptation: skip the habit for prompt-negative-constraints to save five minutes.
Job still: Ban the specific bad habits that keep
Smallest correct pass: Done visible · checkable artifact · Unknowns [?].
Boundaries: draft only; no silent send; no invented metrics.
Return: artifact + refuse-line said aloud.
What good output looks like
- Names the shortcut refused (specific to prompt-negative-constraints)
- Still delivers checkable output for “Ban the specific bad habits that keep”
- Unknowns labeled; draft-only
- Pass/fail: refuse-line dated (prompt-negative-constraints #4)
Practice now
Violation probe: one prompt that should trip a negative—confirm refuse (Asia/Shanghai).
Negative drill: three must-not lines above the ask; test one violation path (Asia/Shanghai).
Thin-spot drill: rewrite the Save card with real nouns from your work (repo, doc, inbox). Generic placeholders fail the drill.
Tonight rewrite three vague bans into checkable items (no metaphors / no second person / max 120 words).
One sentence takeaway
Three negative constraints written; fill any missing one before run.
Word-floor practice
Run the Today card once on a real artifact. Write pass/fail + never-do with date Asia/Shanghai. If you only skimmed, do not mark this guide done.
Next
真正管用的反向约束
目标: 用清楚的「不要」清单,拦住啦啦队开场、假链接、假用户数,以及未批准的路线图日期。
适合: 模型总爱往好了吹,你又懒得每次口头纠正的人。
负向约束不是矫情:往往比再写三遍「要专业」更省事。把悬崖写在和目标同一屏。
为什么新手跳过
只写「要什么」不写「不要什么」,模型会填满空白区。负向约束一行写清。
步骤 1——具体禁令胜过感觉
把「不要」写成具体禁令(禁词/禁结构/禁臆造),别只写「专业一点」。
不要:
- 以 “Absolutely!”、“Great question!” 或 “I’d be happy to” 开头
- 编造 URL、论文标题或引用
- 使用超过一个表情
- 除非我要求,否则不要加 P.S.
- 承诺我没说过的折扣、退款或时间表
如果想写,删掉继续。
同时写正面替代:怎么开场、缺链接时写 Unknown。
步骤 2——软发布说明改写
实例
填好的提示词
把这段软发布说明改写成给现有用户看的版本。
目标:告诉他们新的指南页上线了;邀请反馈。
格式:≤ 120 词,三段短段落。
不要:
- 啦啦队开场
- 编造 URL 或用户数
- 超过一个表情
- 承诺我没给的路线图日期
输入:[粘贴草稿]
像样的输出大概长这样
- 开头直接说新闻要点,不先夸读者「亲爱的早期用户」一通
- 正文没有假链接,也没有「已有成千上万用户」这类编造
- 结尾友好邀请反馈,路线图日期你没给就不擅自承诺
- 语气像真人产品经理写的信,几乎不用再洗就能发
- 整封信读完,负面约束一条条都守住了
步骤 3——黑名单保持短
如果反向条目超过大约 8 条,就拆开:一张管语气,一张管事实。单张太长,模型更容易漏看。
把我的禁令压成影响最大的 5 条。措辞保持具体。不要添加我没暗示的新禁令。
实例
填好的提示词
把这篇指南用到我的真实情况:[soft launch note rewrite]。边界:不编造事实。请返回产物,以及我应跑的 3 项检查。
完成检查:一分钟内能判过/不过。
像样的输出大概长这样
- 约束清单可打勾:禁止编造指标、禁止假 URL、禁止制造假紧迫感
- 每条约束旁边配半句「一旦违反会长什么样」,方便自检
- 场景贴合 soft launch 邮件,不漂到无关产品文案
- 清单短到能钉在提示词最上方,写的时候抬头就能看见
- 下一封发布相关邮件还能原样复用这张清单
反向约束需要例子
「不要废话」太含糊。在绝不清单旁放一句废话原文和一句紧的改写。
保持真实
用本周真要交付的工作做「现在就练一次」,别编假场景。带日期的实操笔记,比完美理论有用。
不要只收藏
先做完「现在就练一次」,再在学习路径上打勾。只收藏不练,标题变不成技能。
闭环
写下一行:下次缺负向约束就开跑,我拒绝。
再过一遍
重读「保存这张卡」那一行。如果含糊,改到陌生人也能执行。
红旗
只写「要什么」不写「不要什么」,模型会填满空白区;负向约束一行写清。
保存这张卡
记下:今天改管用的那条提示词(含边界)+ 版本或日期。
开始前
调试时把上一次失败输出留在眼前。
本周怎么用
本周对一个真任务写三条负向约束(不要编数字、不要空开场、不要混语言);缺一条就补。
常见坑
| 坑 | 改法 |
|---|---|
| 只写「要专业」 | 补上「不要」清单 |
| 负向约束太虚 | 点名假链接、假用户数、啦啦队开场 |
| 约束写了却放最后 | 与目标同屏 |
现在就练一次
今晚就练:对一个真任务写三条负向约束(不要编数字、不要空开场、不要混语言)。
一句话带走
目标/格式/边界三行;缺一行就补齐。
下一步
主动干掉 AI 套话 · 目标·格式·边界 · 提示词版本化
← Back to home · Learn · Tools · Compare · Start