Prompt Injection 的机制解释
LessWrong 精选 · rss · 2026-07-10
这篇 LessWrong 长文试图给 **prompt injection** 建立一个更底层的机制解释:问题核心不只是“模型记不记得某种攻击”,而是模型如何理解 **role**(如 `<system>`、`<user>`、`<tool>`、`<think>`)这些模板标签。 ### 文章的核心观点 - 对 LLM 来说,所有输入本质上只是同一串 token;角色标签是人类给这串“token 汤”强加结构的方式; - 角色标签不仅决定信任层级,还影响模型如何把文本理解为“指令”“数据”或“自身思考”; - prompt injection 的本质,是低权限文本伪装成高权限角色,诱导模型把 `<tool>` 里的内容当成 `<user>` 指令。 ### 作者提出的研究结论 - 他们开发了 **role probes**,用来测量模型内部把某个 token 误认为属于哪种 role 的强度; - 这些分数包括类似 **CoTness**、**Userness** 等概念; - 文章认为,当前模型对攻击的防御往往依赖“记住过的攻击样式”,而更稳健的方法应该是**真正理解角色边界**。 ### 结论 作者主张把“角色科学”发展成一个独立研究方向,因为 role perception 可能是抵御 prompt injection 的关键,但现阶段模型对角色的感知仍然不可靠。