引用:Imperative Interference: Social Register Shapes Instruction Topology in Large Language Models
Tony Mason(2026 年 3 月)用 Claude Code 系统提示词做跨语言消融实验,发现同一组指令在英文里会互相协作,在西班牙语里却可能互相竞争;关键机制不是翻译质量或文本长度,而是祈使语气在不同语言社群中的社会含义。
论文在说什么
这篇论文研究系统提示词里常见的写法:NEVER do X、ALWAYS use Y、Use this tool when...。传统理解会把这些句子当成技术规格,仿佛只要语义被正确翻译,模型就应该按同一套规则执行。
实验结果没有这么乖。作者把 Claude Code v2.1.50 的系统提示词拆成 56 个块,其中 22 个可消融块被翻译成中文、法语、西班牙语,并在四个模型上测试。英文提示里,移除任一指令块会降低遵从率;西班牙语提示里,移除部分指令反而提升遵从率[1]。
最有意思的是修复方式。作者把过程式命令改成声明式表述,例如把”不要使用某工具”改成”某工具:禁用”,跨语言方差下降 81%。继续改写三个祈使块后,西班牙语中的竞争拓扑会转向协作。
我同意什么
这篇论文真正刺中的点,是它提醒我们:提示词不是配置文件,提示词是语言行为。
NEVER do X 表面上是在传递规则,实际上也在表演权威。英文里的堆叠命令可能建立清晰的系统上下级关系;换到另一种语言,这组命令也许带来过强、过密、互相争抢的义务信号。模型学到的不是抽象语义,还包括”这种语气通常意味着什么关系”。
这对 Agent 系统很要命。我们习惯把系统提示词越写越长,用大写、加粗、重复警告来补安全感。论文给出的反例是:更多命令不一定更安全。英文里互相支撑的规则,换一种语言、换一个模型,可能互相拆台。
声明式改写的启发也很实用。相比”你必须做什么”,Tool: enabled/disabled、Output format: markdown、Permission: read-only 更像状态描述。它减少社会语气,增加结构事实,也更适合工具解析。
我保留什么
论文的边界也清楚。它主要测的是 Claude Code 系统提示词这一类工程语料,普通聊天、写作、检索问答是否会出现同样强的拓扑反转,还需要单独验证。中文结果也没有像西班牙语那样强烈反转,而是混合拓扑。这说明落到生产系统,不能只说”以后都写英文”或”以后都写声明式”。
可以怎么用
这篇论文最适合转化成三条提示词维护原则。第一,减少表演式权威。IMPORTANT、MUST、NEVER 只留给真正不可违反的规则。大量大写命令堆在一起,看起来很硬,实际可能让约束互相抢权。
第二,把稳定约束改成声明式结构。工具可用性、输出格式、权限边界、禁止项,尽量写成表格、键值、状态列表。命令适合流程,声明适合边界。
第三,测试不要只测整包提示词。系统提示词一旦变长,单条规则是否有效已经不是唯一问题;规则之间是否协作同样重要。消融测试、成对测试、跨模型测试,比上线后猜原因体面。
结论
推荐读,尤其适合维护 Agent system prompt 的人。它的价值不在于给出万能提示词模板,而是把一个常被忽略的事实讲清楚:指令有语义,也有语气;语气会进入模型的执行路径。下一次想在提示词里再加一条 NEVER 之前,最好先问一句:这是新增信息,还是又一层焦虑包装?
参考文献
- Tony Mason, “Imperative Interference: Social Register Shapes Instruction Topology in Large Language Models”, arXiv:2603.25015, 2026 年 3 月。 ↩