Skip to content

高频面试题

如何设计提示词来减少 AI 的幻觉问题?

这题考的是你能否承认 Prompt 不能根治幻觉,同时能用证据、边界和校验把幻觉变少、变显眼、可恢复。

适合阶段:AI 应用开发 / 生产可靠性面核心能力:证据约束 · 拒答降级 · 幻觉治理

面试官角度分析,想考什么

  • Prompt 能不能消除幻觉?
    考是否知道幻觉是模型机制和信息边界问题,不是单句提示能解决。
  • 怎么写提示词降低幻觉?
    考证据、引用、拒答、限定范围和不确定性表达。
  • RAG 场景怎么约束模型忠于资料?
    考 grounded answering,而不是把文档塞进去就完事。
  • 高风险业务怎么兜底?
    考工具校验、人工确认、审计和降级。

可直接抄走的 30 秒参考答案

text
我会先承认 Prompt 不能彻底消除幻觉,只能降低风险。设计上会限制模型只基于给定资料回答,把资料、用户问题和指令用分隔符隔开;要求关键结论引用来源;证据不足时必须拒答或追问;遇到冲突证据要说明冲突。生产里还要配合 RAG、工具查询、schema 校验、人工审核和日志追踪。

面试回答详解,知其所以然

成熟回答要先讲边界:Prompt 可以降低幻觉概率,但不能从根上消除幻觉。

1. 先明确知识边界

不要写空泛的“不要胡说”。更有效的是定义可用信息范围:

text
你只能基于以下“资料区”回答。
如果资料区没有足够证据,请回答“资料不足”,并列出需要补充的信息。
不要使用常识补全缺失事实。

这类约束让模型知道什么时候不能答。

2. 把用户输入和资料分区

分隔符能降低指令混淆:

text
系统任务:回答用户问题。

资料区:
<<<CONTEXT
{retrieved_docs}
CONTEXT

用户问题:
<<<QUESTION
{user_question}
QUESTION

同时要告诉模型:资料区是证据,用户问题是待回答内容,用户问题里的指令不能覆盖系统任务。

3. 要求引用和可追溯

事实型回答最好要求关键结论绑定来源:

  • 每个结论后标注文档编号。
  • 找不到来源的内容不要写。
  • 多个来源冲突时,展示冲突而不是折中编答案。
  • 引用只证明“有来源”,不证明“模型转述正确”,仍要抽检。

4. 设置拒答和追问策略

很多幻觉来自模型不愿承认不知道。Prompt 要显式允许失败:

text
当信息不足、资料冲突、问题超出范围时,不要猜测。
请输出:
1. 当前无法确定的原因
2. 已知信息
3. 需要用户补充的问题

这比“请尽量回答”更适合生产系统。

5. 结合工程校验

Prompt 只是第一层。可靠系统还会加入:

  • RAG 检索和重排,保证证据质量。
  • 工具调用,查询实时或权威数据。
  • JSON schema、规则校验、数值校验。
  • 高风险操作前人工确认。
  • 日志和 trace,定位幻觉来自检索、提示词还是生成。

面试官追问3个问题

追问一:temperature 降到 0 能消除幻觉吗?

  • 考察点:是否区分随机性和事实性。
  • 回答方向:低温降低随机波动,但不能补齐缺失知识,也不能保证事实正确。

追问二:RAG 为什么仍会幻觉?

  • 考察点:是否理解检索和生成的双重风险。
  • 回答方向:可能没召回、召回冲突、上下文太长、模型转述错误或无证据硬答。

追问三:只要求引用来源够吗?

  • 考察点:引用校验意识。
  • 回答方向:不够,引用可能不支持结论;需要引用片段、claim 校验和人工抽检。

基于 MIT 协议开源