在编写 Prompt 时,有哪些常用的约束技巧可以有效降低幻觉?
在编写 Prompt(提示词)时,大语言模型(LLM)产生“幻觉”(一本正经地胡说八道)的主要原因通常是缺乏明确的边界和过度依赖内部参数中的模糊记忆。
为了有效降低幻觉,我们可以通过以下几类约束技巧来给模型戴上“紧箍咒”。以下是常用且非常有效的技巧,附带了具体的 Prompt 示例:
一、 信息源约束(最核心的技巧)
不要让模型在全网海量数据中“凭空想象”,而是给它提供具体的上下文,并严格限制它只能基于此回答。
1. 严格基于给定上下文回答 (Grounding)
- 技巧: 明确告诉模型“只能参考我给你的内容”。
- Prompt 示例:
“请严格且仅基于以下用 ``` 包裹的参考资料回答问题。绝对不要使用你自己的预训练知识。如果参考资料中没有相关信息,请直接回答‘资料中未提供相关信息’。”
2. 强制要求引用原文 (Citation)
- 技巧: 要求模型在给出结论时,必须附带原文的精确引用,这会大幅降低捏造数据的概率。
- Prompt 示例:
“在回答时,请在每个观点后面用括号注明该观点出自参考资料中的哪一段/哪句话。如果无法找到原文对应的句子,请不要输出该观点。”
二、 提供“安全出口”(豁免权约束)
模型为了“讨好”用户,往往会在不知道答案时瞎猜。你必须明确赋予它“拒绝回答”的权利。
3. 设定“不知道”的触发条件 (Escape Hatch)
- 技巧: 明确告诉它在什么情况下应该停止生成。
- Prompt 示例:
“如果问题超出了给定材料的范围,或者你无法确定答案的真实性,请直接回复:‘我不确定’或‘已知信息不足以回答此问题’。千万不要尝试猜测或编造答案。”
三、 思考过程约束(逻辑降幻觉)
让模型直接给出最终答案容易出错,强迫它“慢思考”可以有效自我纠错。
4. 强制思维链 (Chain of Thought, CoT)
- 技巧: 要求模型先把思考过程写下来,再给出结论。
- Prompt 示例:
“请按照以下步骤回答问题:
- 第一步:在
标签内,提取参考资料中与问题相关的所有事实。 - 第二步:检查这些事实是否足以回答问题。
- 第三步:在
标签内给出最终结论。不要在结论中加入任何未经过第一步验证的信息。”
- 第一步:在
5. 引入“自我检查”机制 (Self-Correction)
- 技巧: 让模型在输出前扮演审校者的角色。
- Prompt 示例:
“在生成最终答案之前,请先进行自我审查:
- 事实核查:我提到的每一个数据、人名、事件是否真实存在?
- 如果发现任何不确定的细节,请将其从最终答案中删除。”
四、 角色与语气约束
通过设定一个“严谨、克制”的 Persona(人设),可以从根本上改变模型的输出倾向。
6. 设定严谨的专家角色
- 技巧: 赋予它一个不允许出错的职业设定,并强调客观性。
- Prompt 示例:
“你现在是一位极其严谨的科学文献审查员。你的特点是:只陈述绝对客观的事实,从不使用夸张的形容词,从不进行无根据的推测。请用这种态度来回答以下问题。”
7. 限制语言的确定性 (Hedging)
- 技巧: 告诉模型在不确定时使用保守的词汇。
- Prompt 示例:
“对于你有 100% 把握的事实,可以直接陈述;对于缺乏足够数据支撑的推论,必须使用‘可能’、‘据推测’、‘部分研究表明’等严谨词汇。”
五、 输出格式约束
格式约束能减少模型“自由发挥”的空间,话越多越容易产生幻觉。
8. 限制输出长度和结构
- 技巧: 要求它用要点作答,或者限制字数。
- Prompt 示例:
“请用不多于 3 个要点(Bullet points)来回答。每个要点不超过 20 个字。只说核心事实,不要加任何解释性的废话。”
9. 负面清单 (Negative Prompt)
- 技巧: 明确指出“绝对不要做的事情”。(注:LLM 对“不”的理解有时较弱,最好配合正面要求一起使用)。
- Prompt 示例:
“约束条件:
- 不要编造链接或 URL。
- 不要虚构人名或书籍名。
- 不要提供未经验证的医疗建议。”
六、 样本约束 (Few-Shot)
给模型提供正确拒绝回答的“示范”。
10. 提供边界清晰的示例 (Few-Shot Learning with Boundaries)
- 技巧: 给它几个例子,特别是包含“不知道”的例子。
- Prompt 示例:
“示例 1:
问题:苹果公司的现任 CEO 是谁?
回答:蒂姆·库克。示例 2:
问题:2050 年的世界首富是谁?
回答:对不起,这是一个发生在未来的事件,我无法预测未知的事实。现在请回答以下问题:[你的实际问题]”
💡 总结建议:
最防幻觉的 Prompt 公式 = 清晰的任务指令 + 限定的信息源 + 强制的思维过程(CoT) + 明确的“不知道”退出机制。
你可以根据实际场景,将上述 2-3 个技巧组合起来使用,效果会呈指数级提升。