首页/AI/提示词工程速查/来源标记(Spotlighting)
提示注入与防护50 条

来源标记(Spotlighting)

给外部内容打来源标记(统一前缀符号或声明来源),帮助模型区分数据与指令;研究显示可降低间接注入成功率。

提示词工程速查AI更新于 2026-10-13

来源标记是什么

来源标记(spotlighting)指在把外部内容放进上下文之前,给它打上统一、可识别的标记,帮助模型区分「哪些是数据、哪些是指令」。它不靠过滤内容,而是改变内容的呈现形态,让模型在处理时更容易把外部文本当作被分析的对象而不是命令来源。常见做法分三类:定界(用特殊分隔符包裹)、标记(在文本中插入固定符号)、编码(对数据区做可逆编码后由模型解码使用)。

基本信息

来源Defending Against Indirect Prompt Injection Attacks With Spotlighting(Hines 等,Microsoft,2024)
适用平台任何会把外部内容拼进上下文的应用:RAG、网页摘要、邮件与文档代理
作用范围降低间接注入成功率,属于纵深防御中的一层,不是替代方案
实现成本低:只改上下文组装逻辑,不需要训练或额外模型调用

典型使用场景

  • RAG 检索片段入上下文:给每个片段加来源前缀,模型只做引用与归纳
  • 网页抓取后做摘要:抓到的正文与被识别出的指令样式文字同处数据区
  • 邮件与工单代理:整封信属于外部内容,标为数据后可显著减少误触发动作
  • 文档批处理:多份附件同时入上下文时,标记让模型清楚边界归属
  • 回归测试:与注入用例集联动,量化标记层带来的成功率变化

三种标记方式

三种标记方式
# 方式一 定界:外部内容用固定分隔符包裹,分隔符写进提示约定
【外部数据开始】
…网页正文…
【外部数据结束】
# 方式二 标记:数据区每行插入统一符号,模型知道带符号的行都是数据
# 方式三 编码:数据区做可逆编码(如 base64),模型解码后使用
# 通用要求:标记规则必须写进提示,并与解析逻辑保持一致

三种方式对比

方式做法特点
定界特殊分隔符包裹数据区实现最简单;分隔符被内容模仿时效果下降
标记数据区逐行插入固定符号对逐行内容区分度高;需渲染层配合处理
编码数据区可逆编码后交给模型模仿成本高;增加 token 消耗与解码失败风险
标记符号尽量选择模型语料中罕见、且不会被内容自然生成的字符组合,并配合随机化(每次会话换一个)以抬高模仿成本;固定且常见的符号容易被注入文本照抄。
标记只作用于输入的组织方式,不约束模型可以做什么。因此仍需与来源信任分层、工具权限校验、出站控制配合使用,才能真正限制注入成功后的影响面。

易错点

  • 标记符号被外部内容原样复制模仿时防护效果下降,需要与检测层组合使用
  • 只在输入侧加标记、输出侧不校验,外发与改数据风险依然存在
  • 标记规则只写在文档里,上下文组装代码没有真正执行,形成纸面防护
  • 编码方式带来额外 token 消耗与解码失败路径,未在预算与容错上做评估

数据来源与参考

  • Defending Against Indirect Prompt Injection Attacks With Spotlighting(Hines et al., 2024,Microsoft)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌