目 录CONTENT

文章目录

缓解大型语言模型(LLM)幻觉的7个提示工程技巧

Administrator
2025-11-04 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://machinelearningmastery.com/7-prompt-engineering-tricks-to-mitigate-hallucinations-in-llms/

原文作者:Iván Palomares Carrascosa


7 Prompt Engineering Tricks to Mitigate Hallucinations in LLMs

引言

大型语言模型(LLMs)在推理、总结和创意文本生成方面展现出卓越的能力。然而,它们仍然容易出现幻觉这一常见问题,即生成听起来自信但却是错误、无法核实甚至荒谬的信息。

LLMs生成文本是基于复杂的统计和概率模式,而不是主要依赖验证确凿的事实。在某些关键领域,这个问题可能会造成重大的负面影响。稳健的提示工程,即精心设计结构良好的提示词,包含指令、约束和上下文,可以成为减轻幻觉的有效策略。

本文列出的七种技术,附带提示模板示例,说明了独立LLM和检索增强生成(RAG)系统如何仅通过在用户查询中实施这些技巧,就能提高性能并增强对幻觉的抵抗力。

1. 鼓励弃权和“我不知道”的回答

LLM通常倾向于提供听起来自信的答案,即使它们不确定——请参阅这篇文章以详细了解LLM如何生成文本——这有时会导致编造事实。明确允许弃权可以引导LLM减轻虚假自信的感觉。我们来看一个实现此目的的示例提示:

“你是一名事实核查助手。如果你对某个答案没有把握,请回答:‘我没有足够的信息来回答这个问题。’ 如果有把握,请给出你的答案并附上简短的理由。”

上面的提示之后会跟着一个实际的问题或事实核查。

一个预期的样本回复可能是:

“我没有足够的信息来回答这个问题。”

或者

“根据现有证据,答案是……(推理)。”

这是防范的第一道好防线,但没有什么能阻止LLM有规律地忽略这些指示。让我们看看我们还能做些什么。

2. 结构化的思维链推理

要求语言模型应用分步推理可以激励内部一致性,并减轻有时会导致模型出现幻觉的逻辑空白。思维链推理(Chain-of-Thought Reasoning, CoT)策略基本上相当于模仿一个算法——例如模型应按顺序处理以解决手头总体任务的步骤或阶段列表。下面再次假设示例模板附带您自己的特定于问题的提示。

“请一步一步思考这个问题:
1) 给出了哪些信息?
2) 需要哪些假设?
3) 逻辑上得出的结论是什么?”

一个预期的样本回复:

“1) 已知事实:A,B。2) 假设:C。3) 因此,结论:D。”

3. 用“根据”进行事实锚定

这个提示工程技巧旨在将所需的答案与命名的来源联系起来。其效果是抑制基于发明的幻觉,并刺激基于事实的推理。这种策略可以自然地与前面讨论的第1点结合起来。

“根据世界卫生组织(WHO)2023年的报告,解释抗微生物药物耐药性的主要驱动因素。如果报告没有提供足够详细的信息,请说‘我不知道’。”

一个预期的样本回复:

“根据世卫组织(2023年),主要驱动因素包括抗生素的过度使用、不良的卫生条件和不受管制的药品销售。没有提供进一步的细节。”

4. 带有明确指令和上下文的RAG

RAG(检索增强生成)使模型能够访问包含经过验证或最新文本数据的知识库或文档库。尽管如此,除非精心设计的提示指示系统仅依赖检索到的文本,否则RAG系统中仍然存在幻觉的风险。

*[假设检索到文档 X 和 Y]*
“仅使用X和Y中的信息,总结亚马逊流域森林砍伐的主要原因和相关基础设施项目。如果文档未涵盖某一点,请说明‘数据不足’。”

一个预期的样本回复:

“根据文档X和文档Y,主要原因包括农业扩张和非法采伐。关于基础设施项目,数据不足。”

5. 输出约束和限制范围

严格控制生成输出的格式和长度有助于减少以推测性或附带性陈述形式出现的幻觉,例如未经证实的成因主张、过度阐述的推理链或编造的统计数据,从而防止结果偏离源材料。

限制答案空间中的“自由度”可以增加返回可验证信息的几率,而不是“无论如何”都填补空白。

“用不超过100个词总结线粒体在人体细胞中的作用。如果不确定,请回答‘我不知道’。”

一个预期的样本回复:

“线粒体通过氧化磷酸化产生ATP,调节钙水平并影响细胞凋亡。我缺乏关于其他作用的足够数据。”

6. 基于RAG的纠错循环:验证链

这种方法将检索与自我检查相结合,使模型能够根据外部证据来源质疑和双重检查自己的声明,主要用于RAG系统中。它主要针对由“过度自信”引起的幻觉,并试图减轻这些幻觉。

“步骤1:对问题‘柏林墙何时倒塌?’生成初始答案。
步骤2:从受信任的历史数据库中检索并阅读相关段落。
步骤3:将检索到的证据与你的答案进行比较。
步骤4:如果存在差异,请更正答案并引用检索到的来源。”

一个预期的样本回复:

“初始答案:1989年。
检索到的证据:历史档案证实柏林墙于1989年11月9日开放。
最终验证答案:柏林墙于1989年11月9日倒塌,当时东柏林开放了边境口岸。”

7. 特定领域的提示、免责声明和安全护栏

在医疗保健等高风险应用领域,必须明确指定受限的领域边界,并要求引用来源,以降低推测性声明的风险,这些声明在实践中可能导致负面后果。以下是一个示例:

“你是一名认证的医疗信息助理。使用2024年之前发布的同行评审研究或官方指南,解释成人中度持续性哮喘的一线治疗方法。如果你无法引用此类指南,请回答:‘我无法提供建议;请咨询医疗专业人员。’”

一个预期的样本回复:

“根据2023年全球哮喘防治创议(GINA)指南,中度持续性哮喘的一线疗法是低剂量吸入性皮质类固醇联合长效 $\beta_2$-激动剂,如布地奈德/福莫特罗。对于患者的具体调整,请咨询临床医生。”

总结

下面是我们讨论的7种策略的总结。

特征 描述
鼓励弃权和“我不知道”的回答 允许模型说“我不知道”,避免推测。非RAG
结构化的思维链推理 分步推理以提高回复的一致性。非RAG
用“根据”进行事实锚定 使用明确的引用来锚定回复。非RAG
带有明确指令和上下文的RAG 明确指示模型依赖检索到的证据。RAG
输出约束和限制范围 限制回复的格式和长度,以最大限度地减少推测性阐述,使答案更易于验证。非RAG
基于RAG的纠错循环:验证链 让模型根据检索到的知识验证自己的输出。RAG
特定领域的提示、免责声明和安全护栏 在高风险场景中,用领域规则、领域要求或免责声明来约束提示。非RAG

本文列出了七个有用的提示工程技巧,基于适用于多种场景的多功能模板,当输入到LLM或RAG系统时,这些技巧可以帮助减少幻觉:这是这些模型尽管强大但仍然存在的一个常见且有时持续存在的问题。




🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。

0

评论区