减少幻觉的策略
实施减少 LLM 生成的事实错误和虚构信息的方法
减少幻觉的策略 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 3 节课。
什么是 LLM 幻觉
欢迎您!在本课中,我们将探讨大型语言模型(LLM)面临的一项常见挑战:幻觉。
当 LLM 生成事实错误、毫无意义或完全捏造的信息,却将其表现得仿佛真实存在时,就会发生 LLM 幻觉。这就像人工智能自信满满地编造内容!
LLM 为什么会“产生幻觉”
LLM 接受训练时,会根据海量文本数据中的模式,预测下一个最有可能出现的词语。它们并不以人类理解事实的方式“知道”事实。
- 有时,它们缺少足够的相关信息。
- 它们可能会超出训练数据进行推断。
- 相比事实准确性,它们更重视表达得连贯且自信。
理解这一点有助于我们设计更好的提示词来引导它们。
策略 1:利用上下文建立依据
减少幻觉最有效的方法之一,是用相关信息为 LLM 提供依据。不要要求它从训练数据中回忆事实,而应直接在提示词中提供必要的上下文。
请将 LLM 想象成一位非常聪明的文本阅读者,而不是一款什么都知道的搜索引擎。
示例:提供上下文
下面介绍如何为 LLM 提供具体的上下文。之后,模型将仅根据所提供的文本作答。
def simulate_llm_response(prompt):
print(f"LLM received prompt:\n---\n{prompt}\n---")
context = "Marie Curie was a Polish and naturalized-French physicist and chemist who conducted pioneering research on radioactivity. She was the first woman to win a Nobel Prize."
query = "Tell me about Marie Curie's nationality based on the provided text."
prompt_with_context = (
f"Context: {context}\n\n"
f"Question: {query}\n\n"
f"Answer (only use the context provided):"
)
simulate_llm_response(prompt_with_context)策略 2:指示其表达不确定性
即使出错,LLM 往往也会表现得很自信。您可以明确指示模型在不知道答案时承认这一点,从而减少这种情况。
这样可以鼓励 LLM 回答“不知道”,而不是为了填补空白而捏造信息。
示例:不确定性提示词
请添加清晰的指令,例如:“如果您不知道答案,请说明自己没有足够的信息。”
def simulate_llm_response(prompt):
print(f"LLM received prompt:\n---\n{prompt}\n---")
query = "What is the capital city of the planet Mars?"
prompt_with_uncertainty = (
f"Answer the following question. If you don't know the answer, "
f"please state 'I don't know' rather than guessing or fabricating information.\n\n"
f"Question: {query}\n\n"
f"Answer:"
)
simulate_llm_response(prompt_with_uncertainty)策略 3:要求提供来源
另一种有帮助的策略,是要求 LLM 引用来源或解释其推理过程。虽然它不一定总能提供真实的网址,但这样做可以:
- 迫使模型更加仔细地检索信息。
- 帮助您识别它何时在编造内容(如果它无法提供可信的来源或合理的推理路径)。
策略 4:鼓励分步骤思考
对于复杂问题,要求 LLM 在给出最终答案前“分步骤思考”或“解释您的推理过程”,可以显著减少幻觉。
这样可以让模型分解问题,通常会带来更加准确的中间步骤和更加可靠的最终答案。
迭代并完善提示词
提示词工程是一个迭代过程。如果 LLM 产生幻觉,不要放弃!
- 改述:尝试使用不同的措辞编写提示词。
- 添加更多上下文:提供更加具体的信息。
- 指定格式:要求以结构化格式回答(例如使用项目符号或结构化数据格式),从而限制输出。
- 结合策略:同时使用基于上下文建立依据、不确定性指令和分步骤思考。
快速检查:修复幻觉
以下哪些是减少 LLM 幻觉的有效策略?
回顾:应对幻觉
做得很好!您已经学会了减少 LLM 幻觉的关键策略:
- 建立依据:提供明确的上下文。
- 表达不确定性:指示 LLM 在不知道答案时说明这一点。
- 验证:要求提供来源或推理过程。
- 分步骤思考:鼓励进行详细思考。
- 迭代:持续完善提示词。
运用这些技巧,您可以让与 LLM 的交互更加可靠、准确!
用 AI 导师学习 AI Prompt Engineering — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 53
- 课程
- 199
常见问题解答
「减少幻觉的策略」课时是免费的吗?
是的 — 「减少幻觉的策略」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 3 节课。
「减少幻觉的策略」这节课中我会学到什么?
实施减少 LLM 生成的事实错误和虚构信息的方法 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Prompt Engineering 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。
「减少幻觉的策略」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Prompt Engineering 课中编写并运行代码吗?
能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。