4.5 防御性提示:幻觉抑制与事实校验实战技巧
一、幻觉抑制策略(与书 4.1.4 对应)
《大模型应用开发极简入门》第4章 4.1.4 防御性提示 明确列出:幻觉抑制、事实校验、边界控制、安全防护。本节与之一一对应,给出可落地的提示模板与实战技巧。
- 限定知识源:明确「仅基于以下内容回答」,不依赖模型内部记忆。
- 承认不确定性:要求「若信息不足,明确说明」或输出 confidence 为 low。
- 禁止编造:明确「不要编造未提及的人名、数据、事件、引用」。
二、事实校验技巧
- 关键事实二次验证:对数字、日期、人名等调用知识库或 API 做二次校验。
- RAG 作为唯一知识源:将检索结果作为上下文,并写「仅根据上述材料回答」,显著降低幻觉。
- 格式与合理性校验:对数字、日期做格式校验(如日期是否合法);对明显不合理的结果(如负的年龄)做过滤或人工复核。
三、防御性提示模板(书 4.1.4 落地)
你是严谨的助手。规则:
1. 仅基于我提供的信息回答
2. 不确定时回复「根据现有信息无法确定」
3. 不编造人名、数据、引用
4. 输出格式:{"answer": "...", "confidence": "high/medium/low"}
可根据业务增加:禁止输出敏感信息、禁止执行未授权操作、边界控制(如仅回答某领域内问题)。
四、边界控制与安全防护(书 4.1.4)
- 边界控制:在 system 中限定「仅回答与XX相关的问题」,对超出范围的问题统一回复「该问题不在服务范围内」。
- 安全防护:结合第3章提示词注入防御,避免用户输入覆盖系统指令;对输出接入 Moderation 或自建敏感词过滤。
五、与 RAG 的配合
在使用 RAG 时,防御性提示可写为:
以下是从知识库检索到的内容,请仅根据这些内容回答用户问题。若检索内容中无法找到答案,请明确说「根据提供的资料无法确定」。
【检索内容】
{retrieved_chunks}
【用户问题】
{question}
这样可将「知识边界」限定在检索结果内,减少模型自由发挥导致的幻觉。
六、置信度与人工复核
要求模型输出 confidence(high/medium/low),下游根据 confidence 为 low 时自动转人工或二次校验,是书中「事实校验」的常见落地方式。可与 4.4 节的 JSON 格式强制结合:输出 {"answer": "...", "confidence": "low"} 便于程序判断。
七、不同场景的防御强度
| 场景 | 建议 |
|---|---|
| 客服/知识库问答 | 强限定知识源 + RAG + 置信度 |
| 创意写作 | 可适当放宽,重点做安全与合规审核 |
| 法律/医疗 | 强事实校验 + 人工复核 + 明确免责 |
九、防御性提示的迭代与测试
防御性提示不是一次写死,而需随业务反馈迭代。建议:(1)收集「模型错误回答」的样本,分析是知识源不足、约束不清还是边界未覆盖,再针对性加强提示;(2)对关键场景设计测试集,包含「应回答」「应拒绝」「应输出不确定」的用例,每次改提示后跑一遍,确保幻觉率与拒答率在预期内;(3)与 4.4 节的 JSON 输出结合,将 confidence、need_review 等字段纳入自动化校验,便于持续监控。书中 4.1.4 的「防御性提示」与 4.1.5 的「提示优化、迭代测试」在此交汇,形成闭环。
十、与第 1 章「警惕 AI 幻觉」的呼应
第 1.4 节(1.5 课程节)系统讲解了幻觉的类型、成因与规避策略;本节是其在提示层面的具体落地。两节结合使用的方式:先建立「幻觉无法根除、需多手段防控」的认知(第 1 章),再在设计和迭代提示时应用本节模板与技巧(第 4 章);若涉及知识库,再叠加 RAG(第 5 章)与人工复核。这样从认知到实现形成完整链路,符合书中「限制与考虑」贯穿全书的写法。
十二、防御性提示模板库示例(可直接复用)
以下为可按业务裁剪的模板片段,便于统一团队内的防御性标准:(1)知识边界:「仅基于我提供的信息回答;若信息不足,请明确说明无法确定」;(2)禁止编造:「不要编造未提及的人名、数据、事件或引用;不确定时在回答中标注“需核实”」;(3)输出格式:「若需结构化,请以 JSON 输出 answer 与 confidence(high/medium/low)」;(4)边界控制:「仅回答与 [某领域] 相关的问题;超出范围请回复“该问题不在服务范围内”」。将上述片段与 4.1 节角色、任务组合,即可形成完整防御性提示。书中 4.1.4 的「幻觉抑制、事实校验、边界控制、安全防护」在本节已全部可模板化。
十三、与人工审核流程的配合
在客服、法律、医疗等敏感场景,仅靠防御性提示不足以完全杜绝风险,需与人工审核流程配合:对 confidence 为 low 的输出、或涉及关键结论的回复,配置为「先人工复核再释放」或「标注“待复核”」;对明显违规或越界的输出做日志与告警。书中「事实校验、多轮验证」在系统层面的落地即体现为「模型输出 → 自动校验(格式、置信度)→ 人工抽检/必检」的流水线,本节提供的是提示层的规范,与流程层结合才能形成闭环。
十一、小结
防御性提示是降低幻觉风险的重要手段,与书中 4.1.4「防御性提示」完全对应。结合 RAG、输出校验与人工复核,可显著提升事实类任务的可靠性。下一节将介绍微调流程。在实际开发中,建议将本节的模板保存为项目内的「防御性提示规范」,在新增事实类或知识类功能时默认套用,再按场景微调,可有效控制幻觉与合规风险。
十四、与 4.1、4.4 节的组合使用
4.1 节角色与结构化提示:防御性规则可作为 system 的一部分,与角色、任务、输出格式并列。例如:「你是严谨的客服助手。规则:仅基于知识库回答;不确定时说明;输出 JSON 含 answer 与 confidence。」这样 4.1 的四要素与 4.1.4 的防御性要求在一套提示中统一。4.4 节格式强制:要求 {"answer": "...", "confidence": "high/medium/low"} 时,可用 4.4 节的 JSON 约束(如「仅输出 JSON,不要其他文字」)提升解析成功率,再根据 confidence 触发人工复核。三节结合即可形成「角色 + 任务 + 防御规则 + 结构化输出」的完整事实类提示模板。
十五、与第 5 章 RAG、第 6 章生产的衔接
第 5 章 RAG:RAG 检索到的内容作为「唯一知识源」注入提示时,必须配合本节「仅根据以上内容回答」「无法确定时说明」等防御性写法,否则模型仍可能混合自身记忆产生幻觉。5.4、5.5 节搭建知识库问答时,建议默认采用本节与 RAG 配合的模板。第 6 章生产:6.2 节部署中的内容审核、审计日志与本节「人工复核、置信度分流」一致;智能客服(6.3)的「无法回答时转人工」即 confidence 为 low 或超出边界时的落地。将本节规范纳入生产级应用的提示与流程设计,可与全书从提示到 RAG、到部署形成一致的安全基线。与 1.4、1.5 节幻觉的呼应:第 1 章建立「幻觉无法根除、需多手段防控」的认知,本节是其在提示层的具体落地;1.5 节的类型划分、成因分析与本节模板结合,即可形成从认知到实施的完整幻觉防控清单。建议在团队内将本节的防御性提示片段与 4.4 的 JSON 输出规范合并为统一文档,在新增事实类功能时默认套用。
下一节预告:4.6 微调流程详解:数据准备、训练监控与模型评估