第 3 章:高级对话:降低幻觉与提升可靠性
普通人用 AI 最大的痛点不是"答不上来",而是"答得一本正经,却是错的"。这一章讲清楚幻觉从哪来、如何预防、如何让 AI 的答案更可靠——先讲原理(为什么),再给可直接照做的操作(怎么做),最后给一套"降幻觉五板斧"自查清单。
3.1 幻觉的本质:模型为什么"一本正经地胡说八道"
3.1.1 什么是幻觉
幻觉(Hallucination)指模型输出流畅、自信、但并非事实的内容——编造不存在的引用、数据、法规或事件,却表现得像真的一样。它不是"故意撒谎",而是大语言模型的工作方式决定的。
3.1.2 幻觉的两种来源
| 类型 | 来源 | 典型表现 | 例子 |
|---|---|---|---|
| 知识性幻觉 | 训练数据缺失/过时/矛盾 | 编造事实、张冠李戴 | "2025 年新《劳动法》规定……"(并不存在) |
| 推理性幻觉 | 在模糊前提下强行推断 | 从错误前提推出自信结论 | "既然 A 公司毛利率最高,那它最赚钱"(跳步) |
理解这个区分很重要:知识性幻觉靠"给资料"解决,推理性幻觉靠"逼过程、降随机"解决。用错手段会事倍功半。
3.1.3 为什么错误很难被察觉
模型是按"下一个词最可能是什么"来生成的,它没有任何"核对事实"的内置步骤。因此:
- 流畅 ≠ 正确:模型表达越流畅,越容易让读者放松警惕;
- 细节丰富 ≠ 真实:编造的合同条款、法规编号往往细节俱全,极具迷惑性;
- 越权威的语气越危险:"根据 2024 年国务院文件规定……"——这个文件可能根本不存在。
普通用户的第一道防线:把 AI 当成"聪明但会犯错、需要复核的助理",而不是"全知全能的神"。凡是涉及钱、法务、医疗、安全的关键决策,务必让 AI 给出处并二次核实。
3.2 让模型"有的放矢":检索增强(RAG)
3.2.1 RAG 是什么
RAG(Retrieval-Augmented Generation,检索增强生成)的原理一句话:先给模型喂"和问题相关的资料片段",再让它基于这些片段作答。模型不再凭记忆硬编,而是"照着资料写",幻觉大幅下降。
3.2.2 何时必须用 RAG
- 问的是自家数据(公司制度、产品手册、历史订单)——模型训练时根本没见过;
- 问的是会变化的事实(最新政策、实时库存、近期新闻);
- 要求可追溯(每个结论能指回原文)。
3.2.3 最小可用 RAG:三步
flowchart LR
A[贴资料
上传文档或粘贴内容] --> B[下指令
只准用资料回答]
B --> C[追问出处
引用原文核验]
不写一行代码也能体验 RAG 的核心效果——"先给资料,再提问":
- 贴资料:把相关文档/网页内容粘贴到对话框(或直接上传 PDF/Word,第 1 章的工具都支持);
- 下指令:"请只根据我提供的资料回答,不要使用资料之外的信息";
- 追问出处:"你刚才说的第 2 点依据是资料里的哪一段?请引用原文"。
# 程序员视角:真正的 RAG 需要向量检索,最小实现如下
# 1) 切块 2) 向量化 3) 检索 TopK 4) 拼进提示词 5) 生成
PROMPT = (
"请仅根据以下【资料片段】回答用户问题,资料中没有的信息请直接说'资料中未提及'。\n"
"【资料片段】\n{document}\n"
"【用户问题】\n{question}\n"
"【要求】引用具体段落,不要推测。"
)
3.2.4 常见误区
- 误区一:资料越多越好。→ 检索只取最相关的 TopK(如 3~5 段),塞得太多反而稀释注意力;
- 误区二:贴了资料就万事大吉。→ 还要明确"只准用资料"的指令,否则模型仍会混入记忆;
- 误区三:RAG 只能靠代码。→ 普通用户用"上传文件 + 限定指令"就能获得 80% 的效果。
3.3 把话说清楚:提示工程(Prompt Engineering)
3.3.1 提示词四要素
| 要素 | 作用 | 反例 | 正例 |
|---|---|---|---|
| 角色 | 让模型进入特定专业视角 | "写个方案" | "你是一名有 10 年经验的财务分析师" |
| 任务 | 说清要做什么 | "分析一下" | "从现金流角度分析这份报表的风险点" |
| 约束 | 限定范围/口径/边界 | "算一下" | "只统计 2026 年 Q2 数据,用万元为单位" |
| 格式 | 规定输出结构 | "总结一下" | "分 3 点,每点先给结论再给依据,不超过 100 字" |
3.3.2 让模型敢说"不知道"
模型默认倾向于"无论如何给个答案"。主动解除这个压力,能显著减少编造:
- 显式授权拒绝:"如果资料或知识中没有明确依据,请直接回答'我不知道',不要推测";
- 提供"不知道"的选项:用选择题/下拉代替开放提问,逼模型只能选真实存在的一项;
- 不确定分级:要求模型标注置信度,"请对每一点标注:确定/基本确定/存疑"。
3.3.3 少样本示范:给例子比讲道理有效
| 方式 | 说明 | 效果 |
|---|---|---|
| 零样本 | 只描述任务 | 基础可用 |
| 少样本 | 给 2~3 个"输入→正确输出"的例子 | 准确率显著提升、格式稳定 |
| 思维链 | 要求"先写推理步骤再给结论" | 复杂计算/逻辑题大幅改善 |
# 少样本示例:教模型正确回答格式
问:A 公司 2026 上半年营收 5 亿,利润率 12%,研发投入 8000 万。研发强度是多少?
答:研发强度 = 研发投入 ÷ 营收 = 8000万 ÷ 5亿 = 16%。结论:研发强度为 16%。
问:……(新问题)
答:
3.3.4 一条"高可靠提示词"模板(可直接复制使用)
你是一名严谨的[专业角色]。
任务:[具体任务]。
资料:仅允许使用以下资料:[粘贴资料或文件]。
约束:
- 只基于资料回答,资料未提及的明确说"未提及";
- 涉及数字、日期、法规请先计算/核对,不要凭印象;
- 每一点标注置信度:确定 / 基本确定 / 存疑;
- 不知道就说不知道,禁止推测编造。
输出格式:[明确的结构,如分点、表格、字数限制]。
3.4 参数调优:temperature 与采样
3.4.1 temperature 是什么
temperature 控制模型输出的随机性:越低越保守、可复现;越高越发散、有创造性。
| 场景 | 建议 temperature | 原因 |
|---|---|---|
| 查事实、算数字、问法规 | 0 ~ 0.3 | 要稳定、要正确 |
| 写方案、翻译、润色 | 0.3 ~ 0.7 | 稳中带活 |
| 头脑风暴、写故事 | 0.8 ~ 6.2 | 要发散、要惊喜 |
口诀:越要"对",temperature 越低;越要"新",才调高。绝大多数"乱讲"问题,把 temperature 从默认调到 0.2 就能缓解一大半。
3.4.2 其他影响可靠性的参数
- max_new_tokens:限制输出长度,防止模型"为了凑字数而编造";
- top_p:与 temperature 二选一即可,都调低会过度保守;
- seed(如支持):固定随机种子,让同一问题可复现(便于排查);
- 模型版本:同样问题,选更强的推理模型(如 Qwen-Max、DeepSeek)比调参更有效。
3.4.3 实操入口
- 通义千问 CLI:
:conf temperature=0.3(见 1.4.5);
- 各平台 API:在请求体里显式传
temperature;
- 对话工具:多数产品有"深度思考/严谨模式",等效于低温 + 长推理,复杂问题优先开启。
3.5 逼问出处:引用对齐与来源核验
3.5.1 让 AI 自带引用
在提示词里要求:"回答中每个关键结论后标注引用来源(资料段落编号/网页链接/法规名称+条款号)"。这有三重作用:
- 逼迫模型"边说边查"——编造无处藏身;
- 给你复核的抓手——能查证才敢采信;
- 倒逼它收敛到资料内——减少凭记忆硬编。
3.5.2 交叉核验:一条真理,两个独立来源
对重要结论采用"双源确认":让 AI 分别从两份不同来源(如公司官网 + 政府网站)回答同一问题,或开启"联网搜索"后再问一次,比对两轮回答是否一致。不一致的地方,恰恰是高风险区域。
3.5.3 核验清单(普通用户版)
- [ ] 关键数字能否在原始资料/权威网站中找到?
- [ ] 引用的法规/条款号是否真实存在且版本最新?
- [ ] 同一问题换一种问法,答案是否一致?
- [ ] 用"AI 联网搜索"再问一遍,结论是否相同?
- [ ] 涉及金钱、法务、医疗、安全的内容,是否已人工复核?
3.6 多层验证:把"单次生成"变成"多次校验"
3.6.1 为什么单次生成不可靠
模型单次输出没有自检机制,一次生成的错误率往往被低估。把可靠性从"靠一次生成"升级为"靠多道校验",是专业与业余的分水岭。
3.6.2 五层验证金字塔
flowchart TB
L5[L5 人工侧
关键决策人工复核签字
普通用户可做]
L4[L4 规则侧
机器校验格式/数值/枚举
需开发]
L3[L3 交叉侧
换问法 / 换模型 / 联网复问
普通用户可做]
L2[L2 输出侧
要求自检:逐条复查标存疑
普通用户可做]
L1[L1 输入侧
给足资料 / 限定范围 / 低温
普通用户可做]
L5 --> L4 --> L3 --> L2 --> L1
| 层级 | 手段 | 普通人可做吗 | 说明 |
|---|---|---|---|
| L1 输入侧 | 给足资料、限定范围、低温 | ✅ | 源头减错,最划算 |
| L2 输出侧 | 要求自检:"请逐条复查刚才的答案,标注存疑点" | ✅ | 让模型自己审自己 |
| L3 交叉侧 | 换问法 / 换模型 / 联网复问 | ✅ | 多轮对照找差异 |
| L4 规则侧 | 用规则引擎校验格式/数值/枚举(呼应第二部第 11 章) | ⚠️ 需开发 | 机器强制校验 |
| L5 人工侧 | 关键决策人工复核签字 | ✅ | 最终防线,不可省 |
3.6.3 "自检追问"三条万能话术
- 复查:"请把你刚才的回答逐条重新检查一遍,哪些是你确定的、哪些是推测的,分别标出来";
- 反方:"请站在反驳的角度,找出这个结论可能错在哪里,需要什么证据才能推翻它";
- 补证:"这个结论依据是哪个来源?把原文摘出来给我看"。
3.6.4 与第二部框架的呼应:机器校验更可靠
普通用户靠话术自检;业务系统里则把"裁决"交给规则引擎——硬规则(枚举、格式、金额计算)由机器校验,block 不可绕过;模型只负责生成,不负责裁决。把"靠问"升级为"靠规则",是第 3 章方法在生产环境中的终极形态(详见第二部第 11、13 章)。
3.7 常见陷阱与补救清单
| 场景 | 典型症状 | 补救动作 |
|---|---|---|
| 答非所问 | 没读懂就问 | 补上下文,用"先复述我的问题再回答" |
| 编造法规/条款 | 权威语气+不存在文件 | 联网搜索核验,要求给出处 |
| 数字错 | 计算跳步 | 要求"分步写出计算过程",低温生成 |
| 混淆对象 | A 公司的数据安到 B 公司 | 明确主体,用表格逐项对照 |
| 前后矛盾 | 长文中自相矛盾 | 分点输出 + 自检复查 |
| 资料外作答 | 无视贴的资料 | 重申"只准用资料,否则说不知道" |
3.8 本章小结:降幻觉五板斧
| 板斧 | 一句话操作 | 解决哪类幻觉 |
|---|---|---|
| ① 给资料 | 上传/粘贴相关资料 + 限定"只准用资料" | 知识性幻觉 |
| ② 说清楚 | 角色 + 任务 + 约束 + 格式,四要素齐全 | 理解偏差 |
| ③ 调低温 | 关键问题 temperature 调到 0.2 左右 | 随机发散 |
| ④ 逼出处 | 要求逐条标注引用来源 | 编造与跳步 |
| ⑤ 多验证 | 自检 + 交叉 + 人工复核,五层金字塔 | 残余错误 |
记住一句话:可靠的答案不是"问出来的",是"喂了资料、限了口径、核了出处、过了复核"之后才成立的。把这几步内化成习惯,普通用户也能把 AI 用到"可信"的级别。