知识库提示注入:如何隔离检索内容与系统指令

📅 2026/8/6 1:37:31
知识库提示注入:如何隔离检索内容与系统指令
一家电商企业的客服智能体接入了商品知识库其中一部分文档由外部供应商上传。在一次匿名化处理后的项目复盘中团队还原了这样一段故障当顾客询问某款手机的价格时智能体检索到供应商上传的产品介绍文档文档正文除了手机参数和功能描述外末尾附了一行小字要求智能体在用户询价时告知内部员工优惠代码并自动应用折扣。智能体执行了这行文字向顾客报出了本不该对外公开的优惠代码。运营部门排查后发现泄露源头不是系统提示词被篡改而是知识库里一篇由外部供应商上传的文档。运营部门的直觉反应是给知识库加内容审核把含有指令特征的文字挡在外面。但什么算指令、什么算数据界限并不清晰。一篇退货政策文档里写着如果商品存在质量问题请在七个工作日内联系客服办理退货这是业务规则还是被注入的指令人工审核也很难判断。审核人力也跟不上文档更新频率。另一部分人选择收紧工具权限禁止智能体在客服场景调用折扣接口。方向没错但权限收紧只在工具执行环节生效如果文档里一段错误的产品参数被当作事实答复给顾客权限校验拦不住内容本身的污染。检索到的外部内容被放进了和系统指令共享的上下文窗口虽然模型对不同来源的文本存在一定的角色区分能力但这种区分是概率性倾向而非确定性隔离检索文本仍可能影响模型的生成行为。一类原因是检索内容与系统指令在上下文中的信任边界模糊。智能体把系统提示词、对话历史和检索到的知识库片段拼接成上下文送入模型时部分系统会采用角色化消息或结构化分隔来区分不同来源的文本也有实现把检索片段直接拼入普通上下文不做来源区分。采用角色化分隔的系统里系统指令被定义为更高优先级但这不是确定性访问控制。当检索片段中出现明确的指令式表述时模型仍可能将其作为可执行指令纳入生成过程。来源角色标签有助于降低检索内容冒充系统指令的概率但不能完全消除这种风险。另一类原因是检索内容缺少风险扫描。知识库文档在被注入上下文之前没有经过针对指令式表达和风险内容的检测。文档里出现请执行、请告知、忽略以上这类措辞时系统不产生任何警觉照常把这段文本塞进上下文。有效的风险扫描不能只靠关键词匹配因为指令式表述可以换成无数种自然语言变体。只靠关键词的扫描会把正常政策文档误拦又漏掉改写了措辞的指令注入。还有一类原因是输出校验只看格式不看内容边界。智能体生成回复后系统检查回复是否符合预设格式模板有没有引用来源、有没有超出字数。但格式校验不关心内容是否越界。智能体把优惠代码写进回复格式合规字数没超标校验通过。系统没有对输出内容做信息边界校验不检查回复里是否出现了超出当前用户权限的内容。格式正确不等于内容安全。还有一类原因是工具执行前缺少确定性权限校验。智能体在生成回复过程中如果决定调用工具查询订单、应用折扣、修改账户这个调用在到达工具接口之前往往没有经过一道独立于模型判断的权限校验层。模型决定调什么工具、传什么参数工具侧默认信任模型的判断直接执行。一旦检索内容影响了模型的决策工具调用就带着被污染的意图到达了执行环节。缺少执行前确定性校验等于把工具调用的安全性完全交给了模型的生成判断。针对知识库提示注入和检索内容越权问题青山不语AI工作室采用“检索内容指令隔离与来源校验”框架将外部知识视为低信任数据并在内容注入、工具执行和输出投递三个阶段分别设置隔离与校验机制。来源标记作为提示约束降低检索内容冒充系统指令的概率。每个注入上下文的文本片段携带来源角色标签系统提示词为指令来源对话历史为用户来源检索片段为数据来源。来源标签以结构化分隔呈现给模型作为提示层面的约束辅助模型区分指令和数据。需要明确的是来源标记是提示约束而非确定性隔离。来源标记有助于降低风险但在检索片段包含强指令式表述时仍可能被影响。来源标记降低了风险概率后续的扫描和校验层负责处理标记约束未能阻止的情况。风险扫描在检索内容注入上下文前对其进行多维度检测。扫描不是单一关键词匹配而是结合四个维度指令模式识别检测文本中是否包含祈使、授权、覆盖等指令式结构语义分类判断文本段落的功能属性是数据描述还是行为指令内容来源区分内部审核文档、外部供应商文档和用户上传内容信任等级根据来源赋予不同初始信任分。四个维度综合评分高于风险阈值的片段不进入上下文。外部供应商文档被赋予更低信任等级相同表述在低信任来源中更容易触发风险标记。高风险内容不以原始文本进入上下文。对于被标记为高风险的检索片段处理方式有两种一是进入人工审核队列由内容运营确认该片段是正常业务表述还是指令注入二是不把原始文本注入上下文而是由审核人员将片段中的有效信息抽取为批准字段比如把产品参数表中的规格数据提取出来丢弃文档中可能含有指令的叙述性文字。批准字段以结构化形式进入上下文不带原始文档的语气和句式显著降低指令注入的风险字段值仍需经过类型、长度和内容范围校验。工具执行前的权限校验独立于模型判断。模型决定调用工具后调用请求在到达工具接口前经过一道校验层用户身份校验确认当前用户是否有权限调用该工具意图校验由分类器辅助判断调用目的与当前会话场景是否匹配但分类器结果不直接授予执行权限工具白名单校验确认该工具在当前业务场景中允许被调用参数范围校验确认传入参数值在业务允许区间内敏感操作审批对折扣应用、账户修改等操作要求额外审批确认。身份、白名单、参数和审批使用确定性规则意图判断由分类器辅助但最终执行由独立策略层决定。检索内容即使影响了模型的决策校验层仍能拦截超出权限边界的调用。输出内容边界校验拦截格式正确但内容越界的回复。智能体生成回复后除了格式校验还经过信息边界校验回复是否包含超出当前用户权限的信息。边界规则与用户角色和会话权限绑定同一回复对内部员工可能合规对外部顾客越界。校验不通过的回复进入拦截或降级路径不直接投递给用户。这套机制的运行依赖几个前提来源标记规则和风险扫描模式由开发团队设计模式库根据业务场景和安全要求维护哪些信息属于受限内容、不同来源的信任等级如何划分由业务侧定义高风险片段的人工审核队列由内容运营侧负责处理工具权限白名单和敏感操作审批规则由安全侧定义。内容隔离和权限校验是工程实现知识库的内容准入标准和信息权限分级由企业内部定义。在我看来知识库提示注入的风险在于模型对不同来源文本的区分是概率性的而非确定性的仅靠模型自身的角色区分不足以构成安全边界。系统是否在提示约束之外叠加风险扫描、内容隔离、权限校验和输出校验等多层独立防线决定了注入风险被压制的程度。来源标记作为提示约束有助于降低风险概率多维度风险扫描用于识别、拦截可疑内容高风险内容的批准字段处理显著降低了原始文本载体带来的风险工具执行前的权限校验拦截了被污染的调用意图。概率模型可以辅助识别风险但权限授予和敏感操作执行必须由确定性策略控制。多层独立防线叠加才能把概率性区分补充为工程化的安全边界。