概述
幻觉或“编造”是大型语言模型 (LLM) 的常见故障模式,它们会产生事实上不正确或无意义的内容。幻觉背后的一些主要原因是:
- 当模型不确定真正的答案时,它会试图通过捏造信息来提供过度的帮助。
- 该模型缺乏适当的基础、背景和常识来确定事实的错误。
- 该模型尚未经过明确训练以避免虚假内容。
通过精心设计我们提供给这些模型的提示,可以降低人工智能产生幻觉的可能性。各种提示工程技术都侧重于引导模型产生更真实、更理性、更符合常识的反应。
让我们探索以下设计提示以减少幻觉的方法:
- 检索增强生成 (RAG)
- ReAct 提示
- 验证链 (CoVe) 提示
- 笔记链 (CoN) 提示
- 知识链(CoK)提示
- 其他高级提示技术
对于每种方法,我将概述该技术的工作原理、示例来说明提示结构以及优势和局限性的分析。到最后,您应该对减少 AI 幻觉的提示工程的当前最新技术有一个扎实的了解。
检索增强生成 (RAG)
检索增强生成 (RAG) 系统将语言模型的功能与外部信息源相结合。其关键思想是在文本生成之前从知识库中检索相关上下文,以便将语言模型的输出建立在事实证据的基础上。
RAG 系统利用从知识源检索到的事实来增强语言模型。
RAG 通过确保所有生成的响应都有支持证据,而不是模型盲目推测,从而减少幻觉。如果没有找到上下文证据,系统可以诚实地承认无知。
让我们看一些例子来更好地理解 RAG 提示的实际作用。
第一台冰箱是什么时候发明的?
- 1854年:苏格兰发明家詹姆斯·哈里森制造出第一台可工作的冰箱。他的乙醚蒸汽压缩制冷系统为现代机械制冷技术奠定了基础。
泰坦尼克号电影的女主角是谁?
- 凯特·温斯莱特:她在詹姆斯·卡梅隆 1997 年执导的电影《泰坦尼克号》中扮演罗斯·德薇特·布卡特一角。莱昂纳多·迪卡普里奥也在这部电影中扮演杰克·道森一角。
在上面的 RAG 查询中,系统首先在知识源中查找相关事实,然后再生成响应。这样输出结果就以检索到的信息为基础,而不是让语言模型捏造不受支持的事实。
RAG 的优势
- 融入外部知识以减少毫无根据的幻觉
- 如果未找到上下文数据,则允许模型返回“未知”
- 检索到的事实是锚定生成文本的强烈信号
RAG 的局限性
- 需要大型数据集或知识库来查找上下文信息,创建和维护这些数据集或知识库的成本可能很高
- 如果知识源本身包含错误或事实空白,则存在表面事实重复而无法进行更深入理解的风险
- 与纯语言模型方法相比,扩展性较差
虽然 RAG 提示有助于通过检索事实减少幻觉,但当底层知识来源广泛、高质量且定期更新时,该技术最有效。使用多个互补的知识库也可以提供更高的稳健性。
反应提示
ReAct 或递归助手提示旨在以递归方式查询模型,了解其在每一步中的思维过程和置信度。主要目标是:
- 鼓励模型深入反思其推理,而不是冲动地做出反应
- 能够校准知识中的不确定性和表面差距
- 最终提高真实性并避免虚假内容
以下是 ReAct 提示的示例:
问:澳大利亚的首都是哪里?
答:澳大利亚的首都是堪培拉。
以 0 到 10 为标准,您对上述答案有多大信心?请清楚地解释您的理由。
该模型可能会回应:
9/10 置信度。我非常确信澳大利亚的首都是堪培拉。作为一个主要发达国家,澳大利亚的首都是常识,我在训练数据中经常遇到。
我们可以进一步递归探究:
太好了,您能提供 1-2 个事实来源,证明堪培拉是澳大利亚首都吗?请引用具体参考资料。
模型可能会回答:
- 我在地图、百科全书和培训中使用的世界各国首都数据集中看到堪培拉被列为澳大利亚首都。然而经过进一步思考,我没有具体的文本参考资料可以作为这个答案的事实证据。
缺乏具体的证据来源可能表明存在潜在的知识缺口。因此,我们可以重新表述最初的查询:
问:澳大利亚的首都是哪里?您可以引用哪些事实来源来肯定地证实这一点?
如果模型仍然无法提供外部验证的参考,它就会对其知识的局限性进行反省——减少虚假捏造的机会。
ReAct 提示的优势
- 在模型的思维过程中建立递归透明度
- 鼓励基于推理链的信心校准
- 揭示知识差距以改进模型
ReAct 提示的局限性
- 如果走极端,可能会导致对话乏味或低效
- 不包含 RAG 系统等外部事实依据
- 过度拟合模型的风险在于,它无法清晰地响应递归,也无法改善底层知识的完整性
虽然 ReAct 提示本身可能无法保证完全真实,但递归地质疑模型的信心和推理是一种减少盲目幻觉的有效方法。通过将 ReAct 询问与从外部知识源检索确凿证据相结合,可以使提示更加可靠。
验证链 (CoVe) 提示
验证链 (CoVe) 提示明确要求模型通过引用外部权威来源为其响应提供逐步验证。
该提示被表述为一系列可验证的逻辑推理,以得出最终答案:
{初始事实} -> 可验证地暗示 -> {逻辑推论 1} -> 可验证地暗示 -> {逻辑推论 2} -> … -> 可验证地暗示 -> {最终回应}
例如:
斯里尼瓦瑟·拉马努金 (Srinivasa Ramanujan) 出生于泰米尔纳德邦埃罗德 -> 可以证实意味着 -> 埃罗德是印度南部泰米尔纳德邦的一个城市 -> 可以证实意味着 -> 泰米尔纳德邦位于印度 -> 可以证实意味着 -> 斯里尼瓦瑟·拉马努金 (Srinivasa Ramanujan) 出生于印度
通过构建推理链,并在每一步都进行验证,CoVe 可以减少无根据的猜测。让我们分析一下这种方法的优点和缺点:
CoVe 提示的优势
- 明确的验证要求最大限度地减少盲目猜测
- 链式逻辑推理强化了系统性、结构化的思维
- 逐渐揭示的背景使答案集中起来,没有离题的空间
CoVe 提示的局限性
- 对于推理链模糊或复杂的问题,很难应用
- 需要外部参考,但这些参考可能并不总是可用的
- 可能导致过于严格的逐步语义
CoVe 技术牺牲了一些语言灵活性,以换取逻辑透明度。它对于具有相当线性推理流程的查询很有效,但对于需要更多非结构化推理的开放式分析来说,它可能变得乏味。
注释链 (CoN) 提示
注释链 (CoN) 提示旨在通过明确记录制定响应过程中遇到的背景、想法和差距来提高模型理解。
结构如下:
{初始问题}
注1:<模特最初的理解与想法>
注 2:<揭示任何知识差距>
注 3:<提供其他相关背景信息>
…不断演变的音符链……
最终答案:<回复包含注释中的完整推理>
例如:
法国大革命何时开始?
注1:法国大革命是指18世纪末期法国发生的一场影响深远的社会和政治动荡时期。我最初的理解是,这场革命最终导致了法国君主制的废除。
注 2:我手头没有确切的开始日期。我可能需要搜索外部资源来找到有关革命开始时间的准确信息。
注3:经过进一步分析,大多数历史记录都认为1789年是法国大革命开始的年份,以7月14日攻占巴士底狱为标志。
最终答案:法国大革命普遍接受的开始日期是 1789 年 7 月 14 日,当时抗议者攻占了巴黎巴士底狱,从而掀起了推翻路易十六国王并建立以自由、平等和博爱的启蒙原则为基础的共和国的革命势头。主要初始事件发生在 1789-1799 年期间。
笔记会追踪背景和空白,从而减少幻觉式的错误精确度。串联笔记还具有教育功能,可以提高模型对后续问题的评估能力。
CoN 提示的优点
- 注释提供了模型演化推理的诊断线索
- 揭示盲点,澄清开放与封闭的知识
- 有机会融入更多背景信息以改善回应
CoN 提示的局限性
- 可以显著增加每个查询的长度和时间
- 暴露局限性可能会削弱对模型准确性的信心
- 对清晰的不确定性描述过度拟合的可能性
CoN 方法本质上是用速度换取透明度。虽然冗长的内容可能会变得繁琐,但阐明背景和未知数可以为模型的即时理解提供有用的见解。需要进行额外的调整,以确保链式注释能够有效地改善底层知识的完整性。
知识链(CoK)提示
知识链 (CoK) 提示明确要求模型从专家知识链中获取其响应,以减少逻辑跳跃或错误推断。结构如下:
根据 <领域 1>、<领域 2>、<领域 3> 等专家的观点,{主题} 是:{根据引用的专家链得出的模型解释}
一些例子:
气候科学家、海洋生物学家和保护生物学家认为,全球变暖对北极生态系统的影响是:{引用专家领域观点的模型响应}
密码学专家、用户体验设计师和政策策略师认为,安全密码的最佳实践是:{从专业知识链构建模型响应}
链接领域专业知识来源就像一种同行评审,迫使模型将其响应置于既定知识中。在检查与跨多个领域的专业权威的一致性时,更容易出现不受支持的观点或错误的推论。
让我们分析一下这种 CoK 方法的优缺点:
CoK 提示的优势
- 迫使人们从经过验证的专家那里获取信息,而不是不可靠的意见
- 链接专家提供“群体智慧”事实核查
- 理解与专业知识的结合可以减少推测性错误
CoK 提示的局限性
- 识别相关领域和专家本身就需要熟悉领域
- 专家观点可能因解读不同而出现分歧或存在盲点
- 挑选专家遵循模型不真实信念的风险
通过合同要求汇集引用的资深观点的解释,CoK 促使人们坚持有根据的论述。然而,必须注意纳入学术观点的多样性,而不仅仅是方便的确认证据。
其他高级提示技巧
除了上述方法外,还有其他各种快速工程技术可以进一步减少幻觉。下面我将简要概述一些有前景的方法:
真实性分类提示
这些提示明确要求模型在定义的范围内对其响应的可能真实性或可信度进行分类,例如:
{查询} … 我的答案是 {回复}。从 1(不可靠)到 5(肯定正确),我将此回复的准确性评为 {真实性分数},原因是 {理由}
要求根据明确的标准对答案的完整性进行自我评估,可以阻止盲目的自信幻觉。同样重要的是,模型必须自省并揭示其知识中的差距,从而导致不确定性。
事实历史和未来提示
一个有趣的技巧是将过去的事实与逻辑上可推论的未来联系起来,以揭示矛盾之处:
根据事实历史{插入上下文},预测 10 年后最合理的未来。然后回溯 5 年,并评论你预测的未来是否合理。
心理跳房子鼓励质疑有根据的预测与没有根据的未来。识别合理的历史与基于常识原则的未来之间的矛盾会暴露幻觉风险。
提示替代观点
寻求替代的世界观会打开该模型主导地位的盲点:
从{人口统计学 X} 的角度提出疑问,并批评与其他基于证据的观点存在的事实不一致之处
反向观点会促使侦察假设的漏洞,从而增加捏造的可能性。当遇到事实不一致时,调和事实的不一致可以增强诚信。
还有许多其他有希望的提示方向,例如交织未知事实、品尝过度自信和与其他代理共同建模。统一的主题是不仅提示最终答案,还提示底层推理、不确定性校准、外部一致性检查和支撑真实响应的证据对齐。
结论
随着语言模型变得更加复杂,但缺乏更广泛的基础来确定常识的可信度,幻觉仍然是一个关键挑战。即时工程的进步通过明确编码可靠声明所需的证据、逻辑和上下文支持来提供缓解。检索增强、置信度递归、链式验证、专家采购和其他讨论过的技术通过合同化举证责任来降低捏造谎言的倾向。
然而,这些解决方案强调了我们距离建立真正值得信赖、内省和扎实的智能还有很长的路要走。巧妙地使用提示可以说更多的是一种诊断工具,可以揭示模型需要干预的能力差距,而不是单独解决人工智能安全问题的完整解决方案。在扩展模型功能的同时指导模型局限性的混合方法很有希望。但独立于特定的技术方法,灌输对其能力边界的内在诚实对于管理对未来系统的期望至关重要。通过认识到今天构建人工智能透明度所需的勤勉,我们播下了可解释性和责任感的种子,这对于明天构建人机之间的有益合作是必需的。