AI 一本正经地编造细节,是许多人踩过的坑——不确定性声明就是在提示词里预先写明:没有把握的内容直接说不知道,别硬凑答案。
一句话定义
不确定性声明是一类允许模型承认无知的指令,常见写法如「若资料不足以回答,请明确说明无法确定,并指出缺什么信息」。它的作用机理不神秘:给「我不知道」发放许可。默认状态下模型倾向给出流畅完整的回答,哪怕内部证据不足;这句声明把评判标准从「答得满」改成「答得实」,模型开口承认无知的门槛随之降低。它和客套的「请如实回答」不同:前者给了具体的判断标准和表达方式,后者只是一句态度要求,模型不知道什么算「如实」,照旧硬答。
打个日常比方
像带新人时先说一句「拿不准的事别自己拍板,先来问我」。这句话不会让新人变笨,只会让他在没把握时多一步确认,出的错反而少。类比漏掉的部分在于:新人隐瞒是因为怕挨说,模型没有这层顾虑,它的「硬答」更多来自训练偏好——流畅作答是被奖励过的行为,所以声明要写得具体,光说「诚实一点」几乎无效。写声明时还有一个常见误区:把它写成威胁,比如「不许编造,否则重罚」。模型不吃威胁这一套,给出标准和方法,比给处罚有用得多。
它改变了什么
最直接的变化是空答变多:模型会回复「这点我无法确定」,看起来产出变少,其实错误被挡在了下游之外。配套动作是给模型留出路——声明里补一句「不确定时列出还需要什么信息」,这样一句「不知道」就成了可执行的下一步。在秘塔AI搜索这类带检索的工具里,再配上来源要求,拿不准的内容还能标注出处,可信度好不好判断,一眼便知。团队协作里它的价值更大:成员看到带声明产出的内容,能放心「模型没把握的地方已经标出来了」,核对只需要盯标记处,效率高不少。
| 场景 | 不加声明 | 加了声明 |
|---|---|---|
| 资料不足时 | 硬凑一个完整回答 | 明说无法确定 |
| 产出数量 | 看起来答得满 | 空答变多,错误被挡在下游 |
| 下游核对 | 整篇都要查 | 只盯标出来的地方 |
怎么写才有效
三个要点。一写明判断标准,比如训练数据里没有的、资料里查不到的,都算不确定;二写明表达方式,是直接承认,还是分列已知与未知两部分;三写明后续动作,给出补信息或换问法的路径。示例配合效果更好——给一个「承认不知道」的示范,few-shot 的模式匹配会带动模型照做。写完别急着定稿,在 DeepSeek 或智谱清言上各跑几轮A/B 提示,比较带与不带声明的差异;结论记进迭代记录,作为这条声明的存在依据。若还嫌输出风格不稳,再补一条角色设定,风格与边界各司其职。声明放的位置也有讲究:放在提示开头或结尾都行,关键是独立成句、别混在任务描述中间,混进去很容易被当成背景信息忽略。
不确定性声明自查清单
- 判断标准:什么情况算「没把握」
- 表达方式:直接承认,还是分列已知未知
- 后续动作:指出缺什么信息或怎么补
- 验证:带与不带各跑几次对照
一句话带走:宁可空一句,别错一片,先写不确定性声明。
关于不确定性声明再多问三句
- 加了声明模型就一定承认无知吗?:不保证,它提高承认的概率,关键内容仍需人工核对。
- 回答会不会变得支离破碎?:措辞过严会,把「不确定」的范围限定在关键事实上,常规内容照常作答。
- 它和角色设定冲突吗?:不冲突,角色管风格,声明管边界,写进同一条提示里各管各的。
说到底,不确定性声明教的是和 AI 相处的一个基本姿势:把模型当成博学但偶尔嘴硬的助手,给它台阶下,它反而更诚实。


