提示工程通过清晰、结构化的指令明确引导大型语言模型 (LLM) 的响应,从而有助于减少幻觉。幻觉发生在模型生成听起来合理但错误或编造的信息时,这通常是由于训练数据中的空白或对模式的过度自信所致。通过设计设定界限并优先考虑准确性的提示,开发者可以将模型引导至可靠的输出。例如,添加诸如 “如果信息不在提供的文本中,请说你不知道” 的指令,迫使模型将其响应锚定到输入数据,从而降低编造细节的风险。这种方法奏效的原因在于 LLM 严重依赖提示中的上下文线索——清晰的约束帮助它们避免超出提供的范围进行推断。
一个实际应用是在问答系统中。假设开发者构建了一个引用特定知识库的客户支持聊天机器人。如果没有明确的指令,模型可能会自信地回答知识库中未提及的产品的相关问题,导致误导信息。通过添加诸如 “只使用以下产品描述回答。如果答案不在其中,请回复‘我没有该信息’” 的提示,模型更可能坚持使用源材料。类似地,在摘要任务中,诸如 “总结文章的要点,不包含任何未明确说明的细节” 的提示可以防止模型插入未经证实的声明。开发者还可以将这些指令与技术参数结合起来,例如降低模型的“温度”设置,以减少创造性但有风险的输出。
然而,提示工程并非万无一失。如果输入数据模棱两可或指令过于模糊,模型仍然可能产生幻觉。例如,一个措辞不当的提示,比如 “回答问题”,就给了模型自由猜测的权力。为了解决这个问题,开发者应该迭代测试提示,对其进行完善以涵盖边缘情况(例如,“如果用户询问文档之外的主题,请列出文档的相关部分,而不是回答问题”)。将提示工程与检索增强生成 (RAG) 系统(在生成响应之前获取经过验证的数据)相结合,增加了另一层安全保障。最终目标是创建一个反馈循环,使提示、模型设置和外部数据协同工作,在保持可用性的同时最大限度地减少不可靠的输出。