开场:AI 一本正经地胡说八道
你问 ChatGPT"明朝的第三个皇帝是谁",它斩钉截铁地回答"朱高炽"——听起来很专业,但答案错了。这就是大模型幻觉(Hallucination):模型自信满满地输出了一段看起来合理、实则错误或凭空捏造的内容。
为什么会有幻觉?因为大模型的本质是"顺着概率猜下一个词",它追求的是"像人话",而不是"说真话"。它分不清"我知道"和"我在编"。好消息是,幻觉无法 100% 消除,但可以大幅压制。这篇文章介绍四类最常用的方法:Prompt 工程、RAG、采样参数(Temperature & Top-P)、评测加人工审核。
一、Prompt 工程:用"说话方式"降低幻觉
最简单的办法,是在提示词里给模型立规矩,这是成本最低、见效最快的一招。
常用招式
- 明确"不知道就说不知道":加一句"如果你不确定,请直接回答'我不确定',不要编造"。
- 限制范围:"只能基于以下资料回答"、"只回答你 100% 确定的内容"。
- 引导推理步骤:用"一步一步思考"(CoT,思维链)让模型先推理再作答,减少跳步编造。
- 给出负面约束:"如果信息不在给定材料中,明确说明'资料中未提及'"。
- 结构化输出:要求"先给结论再给依据",逼模型交代证据来源。
优点与局限
- 优点:零成本、零延迟、即改即用,改几行字就生效。
- 局限:只是"软约束"——模型训练习性的惯性很强,提示词管不住所有场景;且对"它以为自己知道"的领域,约束效果有限。
一句话:Prompt 工程是"嘴上立规矩",简单但管得不够严。
二、RAG:给 AI 装一个"能查的数据库"
RAG(Retrieval-Augmented Generation,检索增强生成)是当前压制幻觉的主力方案:不靠模型"背",而是先检索资料,再让模型基于资料作答。
RAG 是怎么工作的
三步走:
- 索引:把知识文档切成小块(chunk),向量化后存进向量数据库。
- 检索:用户提问时,用问题的向量去库里召回最相关的若干片段(Top-K)。
- 生成:把"检索到的片段 + 用户问题"一起交给模型,并要求"只能依据这些片段回答"。
模型从"闭卷考试"变成"开卷考试"——有据可查,自然少编造。
RAG 的代价:没那么"免费"
RAG 虽好,但不是零成本的。它的代价分三类:
| 代价类型 | 具体表现 | 说明 |
|---|---|---|
| 检索成本 | 向量化、索引构建、向量库存储与检索计算 | 需要额外的基础设施与费用 |
| 质量代价 | 检索不到、召回错、切块不合理 → 照样幻觉 | 检索质量差时,RAG 反而"带偏"模型 |
| 延迟代价 | 多一次检索往返,首字变慢 | 比纯 LLM 多一跳网络/计算 |
代价的优化策略
检索要"快、准、省",常用这些优化手段:
- 混合检索:向量检索(语义)+ 关键词检索(BM25 精确匹配)结合,召回更准。
- 重排序(Rerank):先粗召回一批,再用重排模型精排,把最相关的顶上 Top-K。
- 优化切块(Chunking):按语义/标题切块、保留上下文重叠,减少信息被截断。
- 缓存与索引优化:预计算向量、用 ANN(近似最近邻)索引、对热门查询做缓存,压延迟和成本。
- 只检索必要范围:限定在相关文档集里检索,缩小搜索空间,省时省钱。
一句话:RAG 用"检索成本"换"事实性",能不能换到,取决于检索质量;质量不够,就白花这份代价。
三、Temperature & Top-P:用"抽样参数"收紧输出
幻觉的产生,一部分来自模型生成时的随机性。控制随机性,就是控制它"乱编"的程度。
- Temperature(温度):控制输出的随机程度。温度越低,输出越确定、越保守,倾向选高概率的词;温度越高,越随机、越有创意。
- 追求事实准确 → 设低一点(如 0~0.3)
- 写诗、写故事、头脑风暴 → 设高一点(如 0.7~1.0)
- Top-P(核采样):只从"累积概率达到 P 的候选词"里选。Top-P 越小,可选范围越窄,输出越稳。常与 Temperature 搭配使用。
实践建议
- 事实性任务:
temperature ≈ 0.1~0.3,top_p ≈ 0.1~0.5,把"乱说"的空间压到最小。 - 创意任务:适当调高,但要有心理准备——越随机,幻觉风险越高。
- 注意:这只缓解"概率性编造",救不了"模型本来就记错/不知道"的情况。
一句话:Temperature & Top-P 是"收紧嘴巴",让模型少蹦胡话,但不是万能的。
四、评测 + 人工审核:最后的守门员
前面几招都是"让模型少说错",但总会有漏网的。所以生产环境里最后一道防线是评测(Evaluation) + 人工审核(Human Review)。
评测:先测出来,才知道错哪
- 自动评估:用准确率、忠实度(faithfulness)、答案相关性等指标,在测试集上批量跑,量化幻觉率。
- RAG 专项评测:检查"答案是否基于检索到的文档"(引文可溯源)、"文档是否真正回答了问题"。
- 回归测试:每次改 Prompt、换模型、改检索策略后,重跑同一套测试集,防止"按下葫芦浮起瓢"。
人工审核:对高风险内容兜底
- 抽检:对普通场景抽检即可。
- 全量人工审核:对金融、医疗、法律等高风险场景,输出必须经过人审才能放行(human-in-the-loop)。
- 辅以提示:给审核者展示"AI 引用来源",让复核更快更准。
一句话:评测负责"发现错",人工审核负责"拦住错"。它们不减少幻觉,但能阻止幻觉"出门害人"。
五、四招怎么选:一张决策表
| 场景 | 首选方案 | 补充 |
|---|---|---|
| 想快速降幻觉、成本敏感 | Prompt 工程 | 加 CoT + "不知道就说不知道" |
| 领域知识要准、内容量大 | RAG | 混合检索 + Rerank + 好切块 |
| 事实问答、正式输出 | 低 Temperature / 低 Top-P | 配合上面任意一种 |
| 金融/医疗等高风险 | 评测 + 人工审核 | 全量人审 + 引文溯源 |
| 完整工业级方案 | 全都要 | 层层设防 |
生产系统通常是四招叠用:Prompt 立规矩 → RAG 给依据 → 低温度保稳 → 评测 + 人审兜底。
结语:幻觉压不没,但可以管住
- Prompt 工程:最便宜的第一道线,管"表面行为"。
- RAG:主力方案,用检索换事实性,但要为检索质量付代价、做优化。
- Temperature & Top-P:收紧随机性,压住"概率性乱编"。
- 评测 + 人工审核:最后一道闸,确保错的不出门。
大模型无法做到 100% 不撒谎,但**"少撒谎 + 撒谎能被发现 + 高风险场合有人把关"**,已经足够让它在绝大多数场景可靠地工作。理解这四招,你就理解了"AI 可靠落地"的底层逻辑。