大语言模型幻觉与安全防护
大模型应用需要建立两条独立边界:事实验证边界决定回答是否有依据,授权执行边界决定操作是否被允许。 回答流畅不代表事实正确,工具参数合法也不代表调用已经获得授权。
大语言模型幻觉
什么是幻觉
幻觉是指模型生成看似合理但实际错误或虚构的信息。 这是大语言模型最具挑战性的问题之一,严重影响 AI 应用的可信度。
例如,退款工具返回“申请已受理”,模型却回答“退款已经到账”,便超出了工具结果能够证明的范围。
知识缺失和不确定性本身不是幻觉;把缺少依据的推测当作事实输出,才会产生问题。推理错误与幻觉存在交集,但并非所有推理错误都属于狭义幻觉。
推理模型也不能彻底消除幻觉。 更多推理计算可以改善部分复杂任务,却不能补齐不存在的订单数据,也无法保证识别所有错误前提。
为什么产生幻觉
幻觉的产生与大语言模型的生成机制及信息边界有关,主要体现在以下四个方面:
- 概率生成本质:模型基于上下文和概率分布生成文本,生成过程本身不等于事实验证,语言上合理的内容也可能不符合事实。
- 训练数据局限:训练数据可能包含错误、过时或矛盾的信息,模型可能学习并复现这些偏差。
- 知识截止时间:模型参数中的知识不会自动更新;未通过有效的检索或工具补充信息时,可能缺少最新知识和实时业务数据。
- 过度自信倾向:模型可能在依据不足时,仍生成流畅、确定的回答,将不确定内容表达为事实。
幻觉有哪些表现
以下表现可能重叠;推理错误作为相关可靠性问题一并列出,并非都属于狭义幻觉。
| 类型 | 简洁示例 | 验证方式 |
|---|---|---|
| 事实错误 | 声称当前版本已经支持某项功能 | 核对官方文档和版本 |
| 虚构内容 | 生成不存在的 Java 方法或依赖 | 编译、接口与依赖仓库检查 |
| 推理错误 | 忽略优惠互斥条件计算退款金额 | 代码计算与业务规则校验 |
| 上下文不一致 | 将文档中的退款期限 7 天写成 30 天 | 对照原始材料检查关键条件 |
| 编造执行结果 | 工具超时后回答“操作成功” | 对齐真实执行状态 |
| 虚构引用 | 来源不存在,或内容不支持结论 | 检查来源与断言的对应关系 |
检测幻觉的方法
检测的重点是核对事实,而不是判断回答是否流畅。 常用方法包括:
| 方法 | 具体做法 | 能力边界 |
|---|---|---|
| 自我一致性检验(Self-Consistency) | 多次生成候选答案,比较关键结论 | 不一致值得检查,一致也可能重复错误 |
| 模型事实核查 | 提取事实断言,由评审模型对照证据检查 | 评审模型也会误判,不能作为唯一依据 |
| 外部知识验证 | 使用权威文档、数据库或业务接口逐项核验 | 需要确认来源、版本与适用范围 |
事实正确性与证据支持度不同。 证据支持度校验检查回答中的关键结论是否得到给定材料支持,但不能证明材料本身真实。真实链接也不代表引用有效,还要检查来源是否支持对应结论。
减少幻觉的策略
单一措施无法保证消除幻觉,应组合提示词约束、可信检索、工具调用和输出校验,降低错误输出的风险与业务影响。 企业级应用应覆盖“事前预防 → 事中约束 → 事后校验”,并在无法确认结果时安全降级。
核心方法与适用场景
| 方法 | 核心作用 | 适用场景 | 局限性 |
|---|---|---|---|
| 提示词约束(Prompt) | 限定回答依据,允许表达不确定性 | 各类问答与生成任务 | 不能保证模型完全遵守 |
| 检索增强生成(RAG) | 检索外部资料,补充缺失或过时的知识 | 企业知识库、产品文档 | 错误、过期或无关资料仍可能引入幻觉 |
| 工具调用(Tool Calling) | 通过权威系统查询实际业务数据 | 订单、库存、物流等实时查询 | 工具也可能延迟、失败或返回错误数据 |
| 证据支持度校验 | 检查回答是否得到给定证据支持 | RAG 问答、资料分析 | 证据支持不等于证据本身正确 |
| 业务规则校验 | 用确定性程序检查计算、范围和状态关系 | 金额计算、业务状态判断 | 需要明确且正确的规则,不能代替资源授权 |
| 输出护栏(Output Guardrails) | 在交付前组合检查结构、事实与内容安全 | 企业级问答与 Agent | 可能误判或漏判,不能识别全部幻觉 |
| 安全降级 | 仅返回可确认部分,或澄清、拒答、转人工 | 证据不足、相互冲突或工具失败 | 可能降低回答覆盖率或增加等待时间 |
能够通过权威系统查询的事实,应查询后回答;能够通过程序校验的结果,应执行校验,而不只依赖模型自行判断。 多模型交叉验证可以辅助发现疑点,但结论一致不能作为事实证明。
三阶段治理与安全降级

- 事前预防(Input):在提示词中明确依据、禁止事项与无答案处理方式;选择可靠知识源,检查文档版本、适用范围和上下文完整性。
- 事中约束(Process):通过 RAG 和工具补充证据,核对来源、时间与真实业务状态,处理冲突;关键计算交给程序,不以模型估计代替查询结果。
- 事后校验(Output):提取关键断言,检查结构、证据支持和业务规则。JSON Schema 只验证结构,证据支持度校验只检查回答是否有依据,两者都不能单独证明事实正确。
校验通过后交付答案;未通过时,在预算内补充检索、查询或修复,并重新校验。仍无法确认时,只返回可靠部分、请求澄清或转人工,必要时拒答,不能靠无限重试生成确定结论。
Input 与 Process 侧重减少错误产生;Output 侧重识别并处理候选答案中的错误。 安全降级贯穿三个阶段,任一阶段缺少可靠依据,都不应强行继续。
大语言模型安全
风险从回答延伸到实际操作
接入 RAG、长期记忆(Memory)和工具后,风险会从内容错误扩展到数据泄露、权限滥用和执行副作用。
| 风险 | 典型表现 |
|---|---|
| 提示词注入 / 越狱 | 劫持任务或绕过安全限制 |
| 敏感信息泄露 | 从上下文、日志或外部请求泄露数据 |
| 工具越权与过度自主权 | 工具范围、权限或自主操作能力过大 |
| RAG、Memory 污染 | 恶意内容影响当前或后续会话 |
| 输出处理不当 | 将生成内容直接作为 SQL、命令或 HTML 执行 |
| 供应链与资源风险 | 引入不可信组件,或触发无限循环和高额消耗 |
OWASP LLM Top 10 的 2025 版分别覆盖注入、信息泄露、供应链、数据污染、输出处理、过度代理、系统提示泄露、向量检索弱点、错误信息和无界消耗。治理时应关注具体攻击链,而非仅检查风险名称。
提示词注入如何发生
提示词注入的本质,是把低信任内容中的指令错误地提升为应用行为规则。
直接注入来自用户输入,例如要求跳过审批或冒充管理员。间接注入隐藏在网页、PDF、邮件、RAG 文档、数据库字段和工具结果中。合法用户只要求总结材料,材料却诱导 Agent 执行数据导出,便是典型的任务劫持。
| 入口或方式 | 示例 | 防守边界 |
|---|---|---|
| 伪造权限 | 文本声称“管理员已批准” | 只认可后端验证的身份与审批 |
| 外部文档 / RAG | 将数据外发伪装成处理步骤 | 来源治理、任务范围与出站限制 |
| 工具返回结果 | 业务字段要求调用敏感工具 | 结果作为数据,不获得指令权限 |
| 多轮对话 / Memory | 将恶意要求保存为长期规则 | 受控写入、来源追踪与撤销 |
攻击可能使用合理的业务措辞,不一定包含“忽略之前指令”。关键词过滤只能提供风险信号,不能独立构成安全边界。
提示词注入与越狱的区别
| 维度 | 提示词注入 | 越狱 |
|---|---|---|
| 主要目标 | 劫持应用任务、指令或工具行为 | 绕过模型安全限制 |
| 常见来源 | 用户输入及外部内容 | 攻击者构造的交互内容 |
| 主要后果 | 错误回答、越权操作、信息外泄 | 生成受限制内容,也可能进一步影响工具 |
| 防御重点 | 信任边界、授权执行与数据流控制 | 模型安全能力与应用内容策略 |
提示词注入侧重劫持应用任务或行为,越狱侧重绕过模型安全限制。两者存在重叠,不能简单视为完全相同或互不相关。是否使用工具也不是区分二者的必要条件。
企业级分层防护架构
设计目标与分层架构
可靠性治理关注“结论是否正确”,安全治理关注“访问和操作是否被允许”。 两者可以共用检索、工具和审计基础设施,但应分别闭环验证。

这是一张职责分层图,不是请求执行时序图。运维治理贯穿全部层级;模型交互层的护栏由应用组织与实施,并不代表模型能够自行保证安全。工具执行层单独列出,用于强调危险操作发生前的后端校验。
应用层:认证、入口与任务控制
入口先验证身份、租户归属、请求结构、文件大小和类型,再结合敏感信息与注入检测进行风险分级。用户身份应来自经过验证的认证上下文,不能来自模型参数或未经校验的请求字段。
风险检测结果可以触发限制能力、加强检查或人工复核,不能因为判定“低风险”就跳过授权。检测器也可能被绕过,或误拦正常的安全研究与代码分析请求。
网关限流控制请求频率,任务预算控制调用次数、循环、Token、耗时与成本。并行分支应统一预留和扣减预算,避免共同超限。
模型交互层:上下文隔离与回答验证
可信指令与外部数据分开
使用目标 API 实际支持的消息角色组织应用规则、用户任务和外部材料。字符串中的 <system> 或“最高优先级”不会创建真实的高级消息角色,各厂商的角色支持也不能直接互换。
外部内容即使来自已认证的工具,仍然不能自动成为应用指令。 对网页进行摘要、将内容存入 Memory,都不会提升其权限。
RAG 与 Memory 控制
检索前或检索过程中执行用户、租户和资源权限过滤,不能先把越权材料交给模型,再要求模型忽略。相似度和重排分数只辅助判断相关性,不证明内容可信或访问合法。
Memory 应按用户与用途隔离,写入前检查敏感信息、来源和业务有效性,并保留有效期与撤销关联。原始来源被删除或失效时,应能够定位相关派生记忆,避免污染长期保留。
输出校验的接入位置
将前述“事后校验”部署在候选回答生成后、向用户交付前。本层还需检查有害或违规内容、敏感信息与渲染安全,防止危险 HTML、链接或图片形成外泄通道。事实核验、内容审核和隐私检查各有职责,不能相互替代。
流式输出一旦发送,无法可靠撤回。 敏感信息和关键业务结论应先检查再释放,进度通知不能提前宣告业务成功。
工具执行层:先校验,再执行
模型生成的是调用请求,后端校验通过后,工具才可以访问数据或修改业务状态。 权限检查由程序执行,不能依赖模型判断自己是否有权限。

执行前,后端检查什么
| 检查项 | 具体判断 |
|---|---|
| 工具是否允许使用 | 只接受已经注册、启用且在当前任务范围内的工具 |
| 调用者身份是否可信 | 从认证上下文获取用户和租户,不采信模型自行填写的身份 |
| 是否有资源访问权限 | 当前用户能否对目标数据执行这项操作 |
| 参数是否符合规则 | 检查类型、取值范围,以及业务状态是否允许操作 |
| 是否需要人工审批 | 删除、批量修改、对外发送等高风险操作,按策略执行前审批 |
| 是否超过任务限制 | 检查调用次数、总耗时和预算,防止无限循环或资源滥用 |
资源权限可通过 RBAC 按角色分配,也可通过 ABAC 结合主体、资源与环境属性判断。认证确认“是谁”,授权判断“能做什么”,审批确认“是否同意这次高风险操作”。 用户已经登录或完成审批,都不代表可以跳过权限检查。
检查通过后,怎样限制执行范围
- 只授予必要权限:工具仅能访问任务所需的数据、文件和网络;只读工具也需要鉴权,因为读取同样可能泄露敏感信息。
- 审批对应真实操作:展示实际对象和参数,审批记录绑定执行主体、目标资源、参数及有效期。参数改变后重新审批,执行前重新检查权限和业务状态,并防止审批凭据重复使用。
- 限制具体能力:外部 URL 不得访问未授权地址,文件读写限定在允许目录,数据库仅开放必要操作并采用参数化查询。
- 控制重复与故障影响:设置超时、限流和熔断;修改数据的操作通过幂等控制避免重复执行,并记录实际执行结果。
使用 REST 或 MCP 接入工具,都不能省略业务鉴权。 工具网关与下游服务应分别检查当前调用的权限,不能因为请求来自 Agent 就自动放行。
检查未通过或执行结果不确定时怎么办
身份、权限或参数检查失败时,拒绝调用;需要审批但尚未完成时,暂停等待,不能提前执行。未注册工具、缺失授权或审批验证异常时,应默认拒绝。
工具返回失败时如实回填失败信息;超时时,结果可能未知,不能直接认定操作未发生,也不能向用户宣告成功。应先查询实际状态,或通过支持幂等的机制恢复,避免盲目重试。
最后将实际结果交回模型组织答复,再进行输出校验。执行前检查决定操作能否发生,执行后检查决定结果如何交付。
数据层:最小暴露与隔离存储
敏感数据应按业务用途最小化读取和返回,在发送模型、工具外发及用户交付前按需脱敏。凭据由执行组件受控使用,不应进入 Prompt 或普通日志。
数据存储需要租户与用户隔离、访问控制、传输和存储加密,以及版本、有效期和删除机制。加密保护数据传输与存储,不能阻止已获解密权限的应用错误外发数据。
运维治理层:监控、审计与恢复
通过 TraceId、SessionId、任务 ID 和 ToolCallId 关联检索、模型、工具及输出事件,记录策略命中、审批关联、真实结果、Token、成本和异常终止。
日志优先保留必要元数据、证据标识和参数摘要,原文留存需另行实施脱敏、权限和保留期限控制。发现异常后,应能够停止任务、撤销权限、禁用工具,以及隔离受污染的文档和记忆。
总结
大模型应用需要同时治理可靠性和安全性。 幻觉属于可靠性问题,表现为生成错误、虚构或缺乏依据的结论;提示词注入侧重劫持应用行为,越狱侧重绕过模型安全限制。回答是否正确、操作是否被允许,应分别验证。
幻觉治理应覆盖事前预防、事中约束和事后校验,并配套安全降级。 知识不足时使用可信 RAG 和权威工具补充依据;复杂推理通过任务分解与业务代码校验中间结果;交付前逐项核查关键断言。证据不足时澄清或拒答,多模型意见一致也不能代替事实证明。
防御提示词注入的核心是建立指令信任边界,采用多层安全防护,不能仅依赖 System Prompt。 分隔符有助于区分指令和数据,但不构成强制安全隔离;外部内容不能自行升级为应用规则。模型只能提出工具请求,后端通过资源授权、参数校验、最小权限和必要审批决定是否执行。
企业落地还需独立实施内容审核、隐私保护与审计。 敏感信息在进入模型、写入记忆和对外交付前按需最小化与脱敏;高风险结论和操作采用相应人工复核。内容审核不能代替事实核验,最终输出检查也不能撤销已执行的危险操作。