基于本文回答

播面 播面

刷题像听歌,多听自然懂
0
评论

在编写 Prompt 时,有哪些常用的约束技巧可以有效降低幻觉?

知识点图片

在编写 Prompt(提示词)时,大语言模型(LLM)产生“幻觉”(一本正经地胡说八道)的主要原因通常是缺乏明确的边界过度依赖内部参数中的模糊记忆

为了有效降低幻觉,我们可以通过以下几类约束技巧来给模型戴上“紧箍咒”。以下是常用且非常有效的技巧,附带了具体的 Prompt 示例:


一、 信息源约束(最核心的技巧)

不要让模型在全网海量数据中“凭空想象”,而是给它提供具体的上下文,并严格限制它只能基于此回答。

1. 严格基于给定上下文回答 (Grounding)

  • 技巧: 明确告诉模型“只能参考我给你的内容”。
  • Prompt 示例:

    “请严格且仅基于以下用 ``` 包裹的参考资料回答问题。绝对不要使用你自己的预训练知识。如果参考资料中没有相关信息,请直接回答‘资料中未提供相关信息’。”

2. 强制要求引用原文 (Citation)

  • 技巧: 要求模型在给出结论时,必须附带原文的精确引用,这会大幅降低捏造数据的概率。
  • Prompt 示例:

    “在回答时,请在每个观点后面用括号注明该观点出自参考资料中的哪一段/哪句话。如果无法找到原文对应的句子,请不要输出该观点。”

二、 提供“安全出口”(豁免权约束)

模型为了“讨好”用户,往往会在不知道答案时瞎猜。你必须明确赋予它“拒绝回答”的权利。

3. 设定“不知道”的触发条件 (Escape Hatch)

  • 技巧: 明确告诉它在什么情况下应该停止生成。
  • Prompt 示例:

    “如果问题超出了给定材料的范围,或者你无法确定答案的真实性,请直接回复:‘我不确定’或‘已知信息不足以回答此问题’。千万不要尝试猜测或编造答案。”

三、 思考过程约束(逻辑降幻觉)

让模型直接给出最终答案容易出错,强迫它“慢思考”可以有效自我纠错。

4. 强制思维链 (Chain of Thought, CoT)

  • 技巧: 要求模型先把思考过程写下来,再给出结论。
  • Prompt 示例:

    “请按照以下步骤回答问题:

    1. 第一步:在 标签内,提取参考资料中与问题相关的所有事实。
    2. 第二步:检查这些事实是否足以回答问题。
    3. 第三步:在 标签内给出最终结论。不要在结论中加入任何未经过第一步验证的信息。”

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 个技巧组合起来使用,效果会呈指数级提升。

00:00
00:00