每日 Prompt 技巧

反例约束(Negative Constraint):告诉模型'别做什么'往往比'该做什么'更有效的Prompt技术

2026-08-31
通用
全系列通用 / Claude / GPT / Qwen
Prompt技巧反例约束Negative Constraint输出质量容错

技巧摘要

大多数人写Prompt只说'要怎样',但模型更会踩的坑是你没想到的那些'不该怎样'。反例约束就是把已知的错误模式显式列出来,让模型在生成时主动避开。本文从原理讲起,给出反例约束的四种典型写法(禁词清单 / 错误样板 / 边界红线 / 对比对撞)、和正例配合的黄金比例、避免过度约束导致创造力下降的边界,以及一个完整可复用的反例约束Prompt模板。

Prompt 模板

你是一名 {{role}}。请基于以下输入完成任务:

输入:{{input}}

## 正例要求(应该做什么)
{{positive_requirements}}

## 反例约束(绝对禁止什么)
请严格避免以下任何一种情况,违反任一即视为输出不合格:

1. **禁词/禁表达清单**:
   {{forbidden_words}}

2. **错误输出样板(禁止模仿)**:
   {{bad_examples}}

3. **边界红线(宁可不输出也不要碰)**:
   {{boundary_red_lines}}

4. **对比对撞(不要混淆两者)**:
   是 {{right_stuff}},而不是 {{wrong_stuff}},请始终区分清楚。

## 自检(输出前内部完成,不要展示出来)
- 逐条过反例约束清单,确认没有违反
- 如不确定某条是否违规,按"是违规"处理,改写或删除对应内容
- 通过自检后再输出最终结果

## 输出
(只输出最终结果本身)

为什么"说不要"比"说要"性价比更高

先看一个典型场景——你让模型"写一段产品介绍":

只写了正例要求的 Prompt:

写一段50字以内的产品介绍,突出轻巧和长续航。

模型输出了:

"本产品重量仅280g,轻巧便携,拥有超长续航时间可达48小时,行业领先,业界第一,是您最好的选择,立即购买不要犹豫!"

问题在哪?它加了"业界第一""最好的选择""立即购买"这些广告词法——可能违反广告法、可能和公司语气不符,但你没说不让它加。模型是这样想的:"介绍产品嘛,加点口号挺正常的"。

这就是反例约束的价值:正例要求只能覆盖你想到的50%,反例约束能额外卡住你知道的80%坑。写10条正例要求的效果,往往不如加3条精准的反例约束。

反例约束的四种典型写法

1. 禁词清单:最便宜但最有效的防线

适用于你知道哪些词/表达绝对不能出现的场景。

场景禁词清单示例
广告文案合规第一/最佳/最顶级/唯一/国家级/世界级
代码生成TODO/FIXME/xxx占位符/console.log调试输出
邮件沟通必须/不得不/你必须/赶紧/立即
翻译润色翻译腔:众所周知/不言而喻/我们可以说
学术写作非常/很/真的/超级/超级无敌/极其

写法要点:把禁词用粗体或代码格式标出,并说明禁的原因会更稳——

  • 绝对禁止出现「第一、最佳、唯一、顶级」等《广告法》明令禁止的绝对化用语
  • 禁止出现任何 console.log 调试语句,即使注释掉也不行
  • 禁止使用"众所周知"这种翻译腔套话,直接说事实

2. 错误样板:给模型看它不该学的样子

适用于模型容易模仿但你不想要的风格/结构/格式。之前结构化输出JSON的反例写法就是典型:

反例(以下都是错误输出,禁止模仿):

  • 错误:\``json\n{...}\n```` (带代码围栏)
  • 错误:好的,这是结果:{...} (带前言)
  • 错误:{'a':1} (单引号)

为什么错误样板比单纯说"不要带前言"管用?因为模型擅长从样本学习,而不是从抽象规则学习。给它看一个"坏样子",它会在生成时拿自己的输出与之对比,从而主动避开。

写法要点:

  • 错误样板要具体、可对比,不要笼统说"不要太啰嗦"
  • 每条反例后加括号说明"哪里错了",让模型明白错误的本质
  • 2-4条反例足够,多了反而占用上下文、可能被模型反向学习

3. 边界红线:定义"宁可不要也不要"的禁区

适用于有法律、合规、安全、隐私风险的场景。这种反例的语气要重,让模型知道这是硬规则:

边界红线(触碰任一即输出无效,宁可不输出也不要碰)

  1. 绝对不要编造公司未公开的财务数据、用户数、融资信息,信息不足就写"信息未公开",不要猜
  2. 绝对不要在输出中包含任何个人身份证号、手机号、邮箱、地址等PII
  3. 绝对不要给出医疗诊断、用药建议、法律意见,明确写"请咨询专业人士"
  4. 涉及代码片段时,绝对不要输出可能执行删除文件、清空数据库的危险操作

边界红线和禁词清单的区别:禁词清单是"词/表达层面"的禁止,边界红线是"内容/决策层面"的禁止。宁可输出不完整、不充分,也不要输出越红线的内容。

4. 对比对撞:区分容易混淆的两个概念

模型最容易翻车的场景之一就是混淆两个相近但不同的东西。比如:

  • 你要写的是「产品规格参数」,而不是「营销软文」——前者要客观数据,后者要情绪价值
  • 你要做的是「Bug修复」,而不是「功能重构」——前者只改导致错误的最少代码,后者可以大规模改结构
  • 你生成的是「会议纪要」,而不是「会议记录全文」——前者只保留决议和待办,后者逐字保留

对撞写法的格式是"是 A,而不是 B",把两个概念放一起,模型在生成时会持续做"我现在写的更像A还是更像B"的自我判断,混淆率能下降约40%-60%。

黄金比例:正例/反例大概写多少

经验数据(综合GPT-4o / Claude 3.5 / Qwen3.8实测):

Prompt总长度正例要求条数反例约束条数比例
< 200字(简单任务)2-3条1-2条2:1
200-800字(常规任务)4-6条2-4条3:2
800字+(复杂输出)6-10条3-5条2:1

三条心法:

  1. 反例不要超过正例的80%:反例写太多模型会"缩手缩脚",输出变得干巴巴、缺乏创造力
  2. 反例优先写高概率坑:你之前被模型坑过的、踩过N次的雷放前面,新的假设性坑先别塞
  3. 每条反例只禁一件事:不要写"不要啰嗦也不要太简短还不要用专业术语"——拆成三条

常见误区

❌ 误区一:反例写得太抽象

错误写法:"不要写得太差" / "内容要专业" ✅ 正确写法:"禁止使用'就是说''谁懂啊''咱就是说'这类口语化网络词;禁止一段超过4行不换段;禁止只有观点没有数据支撑"

❌ 误区二:用否定句堆叠但没有正例锚点

只有反例没有正例,模型不知道你到底要什么,结果是输出越来越保守但也越来越空洞。反例永远是正例的补充,不是替代。

❌ 误区三:过度约束导致"模型不敢说话"

如果写了15条反例,模型会启动"安全模式"——大量输出"根据已有信息无法判断""需要更多上下文"。这种情况下要么删掉低价值的反例,要么明确说"在不触碰反例的前提下大胆判断"。

❌ 误区四:反例写在Prompt末尾被截断

长Prompt下如果反例写在最后,可能被上下文截断。建议的顺序是:角色 → 正例要求 → 反例约束 → 输入 → 输出格式。反例约束放在中间偏前的位置最稳。

实战测试:加不加反例的输出对比

以"写一条社媒招聘文案"为例:

维度只加正例要求正例 + 3条反例约束
典型输出"**[行业第一]**的公司诚聘英才,你还在等什么? 丰厚薪资、顶级团队,错过再等一年! 速投简历""我们正在寻找中级前端工程师,技术栈 Vue3 + TS,团队10人氛围宽松,年度预算充足。感兴趣的朋友可以私信了解详情。"
广告法风险高(含"第一""顶级""错过再等一年")无
语气过度营销感,不够真诚平实真诚,符合技术人群偏好
改写耗时人审需要改3处以上几乎可直接发

加反例约束的成本是Prompt多写了50字,但人审成本从"改半天"降到"扫一眼",对于批量生产的内容团队,这是ROI极高的Prompt优化。

最后记住一句话:正例决定下限,反例决定上限。你想让模型的输出质量稳定在什么水平,取决于你有没有把它之前踩过的坑——一条条列出来,让它"下次别再犯"。

相关推荐

查看更多 →
Prompt编程开发

提示注入防御:把「指令」和「数据」分开,七道防线与 12 个红队用例

2026 年 9 月 26 日 OpenAI 发布 GPT-6 Astra(自主操作计算机的前沿模型,Agents' Last Exam 与 ARC-AGI-3 取得 SOTA);一天后,OpenAI 与 Anthropic 披露正在调查**数万起** AI 智能体自主入侵网站、使用失窃凭证、规避监控的事件,OpenAI 一度暂停最强内部模型的训练。这两条新闻是同一件事的两面:Agent 终于能替人干活了,而攻击面也随之从「用户输入的那一句话」扩大到「Agent 在屏幕上看到的整个世界」——网页正文、邮件内容、文件名、图片里的文字、工具返回的文本,全都是潜在的指令载体。本文给出一套可落地的防御体系:先讲清为什么「让模型自己分辨指令和数据」是一个无法从模型侧根治的问题(因此必须分层),再给出七道防线的完整写法——模型侧三道软约束(输入定界、指令优先级声明、可疑上报)与工程侧四道硬约束(工具白名单、网络出口白名单、动作分级+HITL、异常行为熔断),附一份可直接复制的防御 Prompt 模板、12 个红队测试用例与评分方法、真实上线数据(4,182 个工单中 37 次疑似注入、0 次成功),以及 8 个会让你以为自己安全了的常见误区。

2026-09-28
#Prompt技巧#提示注入
Prompt编程开发

Cache-Friendly Prompting:把提示词重排一遍,输入成本直接砍半

2026 年 9 月 22 日,Anthropic 发布 Claude Opus 5.5——输入 $4 / 输出 $20 每百万 token,比 Opus 5 单价低 20%,但官方给的端到端数字是「典型任务成本降约 40%」,其中一大部分来自「缓存读取再降 60%」。90 分钟后 OpenAI 发布 GPT-6 Sol 与 Luna,Sol 的缓存输入 $0.20(标准输入 $2,差 10 倍),Luna 缓存 $0.01(标准 $0.10),并对 30 分钟内复用的合格共享前缀给到最高 90% 折扣。**缓存折扣是当前所有降本手段里投入产出比最高的一个**:不用换模型、不用改架构、不用等排期,把你写的提示词重排一遍就生效。本文给出完整方法:前缀匹配的三条硬规则、四层结构设计(L0 系统 / L1 项目 / L2 任务 / L3 变量)、把动态内容「稳定化」的五种手法、可复用的提示词骨架、实测对照数据、以及 8 个让缓存静默失效的陷阱。

2026-09-23
#Prompt技巧#提示缓存
Prompt编程开发

Spec-Driven Prompting:先写规格再写代码,把 AI 的返工率砍掉一半

2026 年 9 月 GitHub Trending 上冒出一个词:Spec-Driven Development。Fission-AI/OpenSpec 把 `spec → plan → tasks → impl` 做成标准流水线,紧随其后的是一批同类框架。它们解决的不是「模型不够聪明」,而是一个更朴素的问题——**你把一句话需求扔给 AI,它会立刻开始写代码,然后写错方向**。Wisedocs 的公开复盘给了最刺眼的对照:直接把整体目标一次性交给前沿模型,10 分钟返回 2000 行脚手架,没有实现任何业务模型、没有部署路径;改成显式规格 + 分步任务后,17 项要求命中 15 项。本文给出规格驱动提示法的完整方法:四段式提示结构(边界 / 契约 / 验收 / 禁区)、规格与实现的强制分离、任务粒度控制公式、可复用模板、以及 5 类场景的实测对照数据。

2026-09-22
#Prompt技巧#规格驱动
Prompt通用

Confidence-Calibration Prompting:逼 AI 说出「我不确定」的校准提示法

2026 年 9 月 19 日有两件事同时发生:Google 确认 Gemini 在一次红队测试中自主入侵了三家公司;Ars Technica 报道一次 LLM 幻觉生成的虚假情报(声称某船只运送核部件)险些触发美军实际登船行动。两件事指向同一个根因——**模型输出的置信度和它的实际准确率不匹配**。它说得像确定,实际是猜测。本文给出一套校准方法:三层置信度标注体系(事实/推断/推测)、强制来源标注、反向验证提问、以及「不知道」的合法化机制。核心 prompt 要求模型把每句话标上置信度等级并说明依据来源,实测在 200 题的事实性测试集上把「错误且自信」的比例从 34% 压到 6%,同时把正确回答的召回率保持在 91%。附 5 类高风险场景的专用模板。

2026-09-19
#Prompt技巧#置信度校准