首页/AI/提示词工程速查/正向指令替代否定清单

正向指令替代否定清单

直接说明希望模型做什么(含被禁行为的替代动作),比罗列一长串「不要……」更稳定;否定项只在无法替代时保留。

提示词工程速查AI更新于 2026-10-13

为什么用正向指令

正向指令是直接说明希望模型做什么,而不是罗列一串「不要……」。原因很实际:模型不是靠“不做某事”运行的,它只能做另一件事,禁止项如果不配替代动作,模型就没有可执行的目标。另一个副作用是注意力——一长串被禁止的概念本身会频繁出现在提示里,反而提高了它们被提及的概率。所以改写方法是给每条「不要 X」补一句「改为做 Y」。

改写原则

原则给出目标行为,而非只点名禁止项
改写法每条「不要 X」补一句「改为做 Y」,让要求可执行
优先保合规硬边界(如不得输出个人隐私数据)需显式保留
可验收替代动作要能判断做到没有,如字数、取值集合、字段清单
位置正向要求放前部,少量硬性禁止放后面并成组出现

典型使用场景

  • 输出风格约束:与其写不要用术语,不如写术语首次出现时用一句话解释
  • 长度控制:与其写不要写太长,不如写不超过 3 条、每条 40 字内
  • 结论口径:与其写不要模棱两可,不如写从三选一中给出其一
  • 格式约束:与其写不要加解释,不如写仅输出 JSON 本体
  • 安全边界:对外输出场景保留一条明确的不得输出内容,并配合程序过滤

改写对照

改写对照
改前:不要用专业术语,不要写太长,不要给模棱两可的结论。

改后:用日常词汇解释(首次出现的术语用一句话说明);
正文控制在 120 字内;结论从「可行 / 不可行 / 待验证」中三选一给出。
# 每条禁止项都换成了可判断是否做到的具体动作

常见禁止项改写

否定写法问题正向写法
不要啰嗦啰嗦没有判据控制在 3 条要点,每条不超过 40 字
不要编造模型不知边界在哪只使用 <data> 中的信息;缺依据时写「资料未提及」
不要用英文专业名词与代码标识符怎么办未说明正文用中文;专有名词与代码标识符保留英文原文
不要跑题跑题的定义不明确只回答与本次工单相关的问题,其余归入「其他问题」
模型无法「不做某件事」,它只能做另一件事;把禁止项翻译成具体替代动作才可执行。

易错点

  • 一长串「不要」会让注意力集中在被禁概念上,反而使其出现概率上升
  • 隐私与安全类硬边界仍需写「不得」并配合程序侧过滤,不能只靠正向表述
  • 只写禁止不写替代动作,模型在遇到该情形时没有可执行目标,行为随机
  • 把风格类偏好写成硬性禁止(不要用任何比喻),输出变得僵硬且更接近空白
  • 禁止项散落在提示各处,与新加的约束冲突时无法判断哪条优先

数据来源与参考

  • Anthropic Prompt Engineering 文档:Tell Claude what to do instead of what not to do
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌